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

spirv: Generate missing SampleMaskOverrideCoverageNV capability op
This commit is contained in:
John Kessenich 2019-07-12 18:29:59 -06:00 committed by GitHub
commit 25a508cc73
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 1 deletions

View File

@ -7738,6 +7738,7 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol
decoration = (spv::Decoration)spv::DecorationMax;
builder.addDecoration(id, decoration);
if (decoration != spv::DecorationMax) {
builder.addCapability(spv::CapabilitySampleMaskOverrideCoverageNV);
builder.addExtension(spv::E_SPV_NV_sample_mask_override_coverage);
}
}

View File

@ -734,6 +734,7 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
case CapabilityMeshShadingNV: return "MeshShadingNV";
case CapabilityImageFootprintNV: return "ImageFootprintNV";
case CapabilitySampleMaskOverrideCoverageNV:return "SampleMaskOverrideCoverageNV";
// NV Decorations
case DecorationOverrideCoverageNV: return "OverrideCoverageNV";

View File

@ -926,6 +926,7 @@ const char* CapabilityString(int info)
case CapabilityMeshShadingNV: return "MeshShadingNV";
case CapabilityImageFootprintNV: return "ImageFootprintNV";
// case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT
case CapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
#endif
case CapabilityFragmentDensityEXT: return "FragmentDensityEXT";

View File

@ -1,10 +1,10 @@
spv.sampleMaskOverrideCoverage.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 20
Capability Shader
Capability SampleMaskOverrideCoverageNV
Extension "SPV_NV_sample_mask_override_coverage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450