mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
feat(shader): add bda cache page bits field to spirv target
This commit is contained in:
1 parent
1490c0386c
commit
fbb8a36f65
4 files changed
+6
-1
No files matched your search
@@ -519,6 +519,7 @@ void writeSpirvTarget(Writer& writer, const SpirvTarget& target) {
|
||||
writer.WriteU32(target.vulkanVersion);
|
||||
writer.WriteU32(target.spirvVersion);
|
||||
writer.WriteU32(target.subgroupSize);
|
||||
writer.WriteU32(target.bdaCachePageBits);
|
||||
writer.WriteU32Span(target.supportedCapabilities);
|
||||
writer.WriteU64(target.supportedExtensions.size());
|
||||
for (const std::string_view extension : target.supportedExtensions) {
|
||||
@@ -544,6 +545,7 @@ SpirvTarget readSpirvTarget(Reader& reader, DeserializedRequest& result) {
|
||||
target.vulkanVersion = reader.ReadU32();
|
||||
target.spirvVersion = reader.ReadU32();
|
||||
target.subgroupSize = reader.ReadU32();
|
||||
target.bdaCachePageBits = reader.ReadU32();
|
||||
result.supportedCapabilities = reader.ReadU32Vector();
|
||||
target.supportedCapabilities = result.supportedCapabilities;
|
||||
const auto extensionCount = reader.ReadU64();
|
||||
|
||||
@@ -136,9 +136,10 @@ RecompileResult RecompileImpl(const RecompileRequest& request) {
|
||||
targetOptions.vulkanVersion = request.target.vulkanVersion;
|
||||
targetOptions.spirvVersion = request.target.spirvVersion;
|
||||
targetOptions.subgroupSize = request.target.subgroupSize;
|
||||
targetOptions.bdaCachePageBits = request.target.bdaCachePageBits;
|
||||
|
||||
constexpr SpirvEmitter spirvEmitter;
|
||||
const auto spirv = spirvEmitter.Emit(program, bindings, targetOptions);
|
||||
const auto spirv = spirvEmitter.Emit(program, inputInfo, bindings, targetOptions);
|
||||
|
||||
RecompileResult result;
|
||||
result.spirv = spirv;
|
||||
|
||||
@@ -122,6 +122,7 @@ struct SpirvTarget {
|
||||
std::uint32_t vulkanVersion;
|
||||
std::uint32_t spirvVersion;
|
||||
std::uint32_t subgroupSize;
|
||||
std::uint32_t bdaCachePageBits;
|
||||
std::span<const std::uint32_t> supportedCapabilities;
|
||||
std::span<const std::string_view> supportedExtensions;
|
||||
std::array<std::uint32_t, 3> maxWorkgroupSize;
|
||||
|
||||
@@ -13,6 +13,7 @@ struct SpirvTargetOptions {
|
||||
std::uint32_t vulkanVersion;
|
||||
std::uint32_t spirvVersion;
|
||||
std::uint32_t subgroupSize;
|
||||
std::uint32_t bdaCachePageBits;
|
||||
};
|
||||
|
||||
class SpirvEmitter {
|
||||
|
||||
Reference in new issue
Block a user