Unverified Commit 25a508cc by John Kessenich Committed by GitHub

Merge pull request #1835 from jmacnak-nv/jmacnak-sample-coverage-capability

spirv: Generate missing SampleMaskOverrideCoverageNV capability op
parents 854439c6 dbd4c3ce
...@@ -7738,6 +7738,7 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol ...@@ -7738,6 +7738,7 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol
decoration = (spv::Decoration)spv::DecorationMax; decoration = (spv::Decoration)spv::DecorationMax;
builder.addDecoration(id, decoration); builder.addDecoration(id, decoration);
if (decoration != spv::DecorationMax) { if (decoration != spv::DecorationMax) {
builder.addCapability(spv::CapabilitySampleMaskOverrideCoverageNV);
builder.addExtension(spv::E_SPV_NV_sample_mask_override_coverage); builder.addExtension(spv::E_SPV_NV_sample_mask_override_coverage);
} }
} }
......
...@@ -734,6 +734,7 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint) ...@@ -734,6 +734,7 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV"; case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
case CapabilityMeshShadingNV: return "MeshShadingNV"; case CapabilityMeshShadingNV: return "MeshShadingNV";
case CapabilityImageFootprintNV: return "ImageFootprintNV"; case CapabilityImageFootprintNV: return "ImageFootprintNV";
case CapabilitySampleMaskOverrideCoverageNV:return "SampleMaskOverrideCoverageNV";
// NV Decorations // NV Decorations
case DecorationOverrideCoverageNV: return "OverrideCoverageNV"; case DecorationOverrideCoverageNV: return "OverrideCoverageNV";
......
...@@ -926,6 +926,7 @@ const char* CapabilityString(int info) ...@@ -926,6 +926,7 @@ const char* CapabilityString(int info)
case CapabilityMeshShadingNV: return "MeshShadingNV"; case CapabilityMeshShadingNV: return "MeshShadingNV";
case CapabilityImageFootprintNV: return "ImageFootprintNV"; case CapabilityImageFootprintNV: return "ImageFootprintNV";
// case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT // case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT
case CapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
#endif #endif
case CapabilityFragmentDensityEXT: return "FragmentDensityEXT"; case CapabilityFragmentDensityEXT: return "FragmentDensityEXT";
......
spv.sampleMaskOverrideCoverage.frag spv.sampleMaskOverrideCoverage.frag
Validation failed
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 20 // Id's are bound by 20
Capability Shader Capability Shader
Capability SampleMaskOverrideCoverageNV
Extension "SPV_NV_sample_mask_override_coverage" Extension "SPV_NV_sample_mask_override_coverage"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment