feat(shader): add bda cache page bits field to spirv target
This commit is contained in:
parent
1490c0386c
commit
fbb8a36f65
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue