|
@@ -5144,14 +5144,12 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//E_SPV_NV_compute_shader_derivatives
|
|
//E_SPV_NV_compute_shader_derivatives
|
|
|
-
|
|
|
|
|
- stageBuiltins[EShLangCompute].append(derivatives);
|
|
|
|
|
- stageBuiltins[EShLangCompute].append(derivativeControls);
|
|
|
|
|
- stageBuiltins[EShLangCompute].append("\n");
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if ((profile == EEsProfile && version >= 320) || (profile != EEsProfile && version >= 450)) {
|
|
|
|
|
+ stageBuiltins[EShLangCompute].append(derivatives);
|
|
|
|
|
+ stageBuiltins[EShLangCompute].append(derivativeControls);
|
|
|
|
|
+ stageBuiltins[EShLangCompute].append("\n");
|
|
|
|
|
+ }
|
|
|
if (profile != EEsProfile && version >= 450) {
|
|
if (profile != EEsProfile && version >= 450) {
|
|
|
-
|
|
|
|
|
stageBuiltins[EShLangCompute].append(derivativesAndControl16bits);
|
|
stageBuiltins[EShLangCompute].append(derivativesAndControl16bits);
|
|
|
stageBuiltins[EShLangCompute].append(derivativesAndControl64bits);
|
|
stageBuiltins[EShLangCompute].append(derivativesAndControl64bits);
|
|
|
stageBuiltins[EShLangCompute].append("\n");
|
|
stageBuiltins[EShLangCompute].append("\n");
|
|
@@ -8443,19 +8441,6 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|
|
BuiltInVariable("gl_BaryCoordNV", EbvBaryCoordNV, symbolTable);
|
|
BuiltInVariable("gl_BaryCoordNV", EbvBaryCoordNV, symbolTable);
|
|
|
BuiltInVariable("gl_BaryCoordNoPerspNV", EbvBaryCoordNoPerspNV, symbolTable);
|
|
BuiltInVariable("gl_BaryCoordNoPerspNV", EbvBaryCoordNoPerspNV, symbolTable);
|
|
|
}
|
|
}
|
|
|
- if (((profile != EEsProfile && version >= 450) ||
|
|
|
|
|
- (profile == EEsProfile && version >= 320)) &&
|
|
|
|
|
- language == EShLangCompute) {
|
|
|
|
|
- symbolTable.setFunctionExtensions("dFdx", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- symbolTable.setFunctionExtensions("dFdy", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- symbolTable.setFunctionExtensions("fwidth", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- symbolTable.setFunctionExtensions("dFdxFine", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- symbolTable.setFunctionExtensions("dFdyFine", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- symbolTable.setFunctionExtensions("fwidthFine", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- symbolTable.setFunctionExtensions("dFdxCoarse", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- symbolTable.setFunctionExtensions("dFdyCoarse", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- symbolTable.setFunctionExtensions("fwidthCoarse", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
- }
|
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
if ((profile != EEsProfile && version >= 450) ||
|
|
if ((profile != EEsProfile && version >= 450) ||
|
|
@@ -8774,6 +8759,20 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|
|
symbolTable.setFunctionExtensions("coopMatStoreNV", 1, &E_GL_NV_cooperative_matrix);
|
|
symbolTable.setFunctionExtensions("coopMatStoreNV", 1, &E_GL_NV_cooperative_matrix);
|
|
|
symbolTable.setFunctionExtensions("coopMatMulAddNV", 1, &E_GL_NV_cooperative_matrix);
|
|
symbolTable.setFunctionExtensions("coopMatMulAddNV", 1, &E_GL_NV_cooperative_matrix);
|
|
|
|
|
|
|
|
|
|
+#ifdef NV_EXTENSIONS
|
|
|
|
|
+ if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) {
|
|
|
|
|
+ symbolTable.setFunctionExtensions("dFdx", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ symbolTable.setFunctionExtensions("dFdy", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ symbolTable.setFunctionExtensions("fwidth", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ symbolTable.setFunctionExtensions("dFdxFine", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ symbolTable.setFunctionExtensions("dFdyFine", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ symbolTable.setFunctionExtensions("fwidthFine", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ symbolTable.setFunctionExtensions("dFdxCoarse", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ symbolTable.setFunctionExtensions("dFdyCoarse", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ symbolTable.setFunctionExtensions("fwidthCoarse", 1, &E_GL_NV_compute_shader_derivatives);
|
|
|
|
|
+ }
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
break;
|
|
break;
|
|
|
#ifdef NV_EXTENSIONS
|
|
#ifdef NV_EXTENSIONS
|
|
|
case EShLangRayGenNV:
|
|
case EShLangRayGenNV:
|