Add implementation of SPV_EXT_fragment_fully_covered
This implementation uses the GLSL extension GL_NV_conservative_raster_underestimation to generate the new SPIR-V FullyCoveredEXT built in.
This commit is contained in:
parent
e9e0cb60ec
commit
1c5443c693
11 changed files with 116 additions and 1 deletions
|
|
@ -3963,6 +3963,13 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"in vec3 gl_BaryCoordPullModelAMD;"
|
||||
);
|
||||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
if (version >= 430)
|
||||
stageBuiltins[EShLangFragment].append(
|
||||
"in bool gl_FragFullyCoveredNV;"
|
||||
);
|
||||
#endif
|
||||
} else {
|
||||
// ES profile
|
||||
|
||||
|
|
@ -5858,6 +5865,13 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
if (profile != EEsProfile && version >= 430) {
|
||||
symbolTable.setVariableExtensions("gl_FragFullyCoveredNV", 1, &E_GL_NV_conservative_raster_underestimation);
|
||||
BuiltInVariable("gl_FragFullyCoveredNV", EbvFragFullyCoveredNV, symbolTable);
|
||||
}
|
||||
#endif
|
||||
|
||||
symbolTable.setVariableExtensions("gl_FragDepthEXT", 1, &E_GL_EXT_frag_depth);
|
||||
|
||||
if (profile == EEsProfile && version < 320) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue