vk/gl_shader_decompiler: Silence assertion on compute
This commit is contained in:
parent
62560f1e63
commit
69c7a01f88
|
@ -408,8 +408,11 @@ public:
|
||||||
explicit GLSLDecompiler(const Device& device, const ShaderIR& ir, const Registry& registry,
|
explicit GLSLDecompiler(const Device& device, const ShaderIR& ir, const Registry& registry,
|
||||||
ShaderType stage, std::string_view identifier, std::string_view suffix)
|
ShaderType stage, std::string_view identifier, std::string_view suffix)
|
||||||
: device{device}, ir{ir}, registry{registry}, stage{stage},
|
: device{device}, ir{ir}, registry{registry}, stage{stage},
|
||||||
identifier{identifier}, suffix{suffix}, header{ir.GetHeader()},
|
identifier{identifier}, suffix{suffix}, header{ir.GetHeader()} {
|
||||||
transform_feedback{BuildTransformFeedback(registry.GetGraphicsInfo())} {}
|
if (stage != ShaderType::Compute) {
|
||||||
|
transform_feedback = BuildTransformFeedback(registry.GetGraphicsInfo());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Decompile() {
|
void Decompile() {
|
||||||
DeclareHeader();
|
DeclareHeader();
|
||||||
|
@ -2553,7 +2556,7 @@ private:
|
||||||
const std::string_view identifier;
|
const std::string_view identifier;
|
||||||
const std::string_view suffix;
|
const std::string_view suffix;
|
||||||
const Header header;
|
const Header header;
|
||||||
const std::unordered_map<u8, VaryingTFB> transform_feedback;
|
std::unordered_map<u8, VaryingTFB> transform_feedback;
|
||||||
|
|
||||||
ShaderWriter code;
|
ShaderWriter code;
|
||||||
|
|
||||||
|
|
|
@ -277,8 +277,11 @@ public:
|
||||||
explicit SPIRVDecompiler(const VKDevice& device, const ShaderIR& ir, ShaderType stage,
|
explicit SPIRVDecompiler(const VKDevice& device, const ShaderIR& ir, ShaderType stage,
|
||||||
const Registry& registry, const Specialization& specialization)
|
const Registry& registry, const Specialization& specialization)
|
||||||
: Module(0x00010300), device{device}, ir{ir}, stage{stage}, header{ir.GetHeader()},
|
: Module(0x00010300), device{device}, ir{ir}, stage{stage}, header{ir.GetHeader()},
|
||||||
registry{registry}, specialization{specialization},
|
registry{registry}, specialization{specialization} {
|
||||||
transform_feedback{BuildTransformFeedback(registry.GetGraphicsInfo())} {
|
if (stage != ShaderType::Compute) {
|
||||||
|
transform_feedback = BuildTransformFeedback(registry.GetGraphicsInfo());
|
||||||
|
}
|
||||||
|
|
||||||
AddCapability(spv::Capability::Shader);
|
AddCapability(spv::Capability::Shader);
|
||||||
AddCapability(spv::Capability::UniformAndStorageBuffer16BitAccess);
|
AddCapability(spv::Capability::UniformAndStorageBuffer16BitAccess);
|
||||||
AddCapability(spv::Capability::ImageQuery);
|
AddCapability(spv::Capability::ImageQuery);
|
||||||
|
@ -2581,7 +2584,7 @@ private:
|
||||||
const Tegra::Shader::Header header;
|
const Tegra::Shader::Header header;
|
||||||
const Registry& registry;
|
const Registry& registry;
|
||||||
const Specialization& specialization;
|
const Specialization& specialization;
|
||||||
const std::unordered_map<u8, VaryingTFB> transform_feedback;
|
std::unordered_map<u8, VaryingTFB> transform_feedback;
|
||||||
|
|
||||||
const Id t_void = Name(TypeVoid(), "void");
|
const Id t_void = Name(TypeVoid(), "void");
|
||||||
|
|
||||||
|
|
Reference in New Issue