spv.fragmentShaderBarycentric2.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 42
+// Id's are bound by 62
Capability Shader
Capability FragmentBarycentricKHR
Extension "SPV_NV_fragment_shader_barycentric"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 8 11 20
+ EntryPoint Fragment 4 "main" 8 11 20 44
ExecutionMode 4 OriginUpperLeft
Source ESSL 320
SourceExtension "GL_NV_fragment_shader_barycentric"
Name 8 "value"
Name 11 "gl_BaryCoordNoPerspNV"
Name 20 "vertexIDs"
+ Name 44 "vertexIDs2"
Decorate 8(value) Location 1
Decorate 11(gl_BaryCoordNoPerspNV) BuiltIn BaryCoordNoPerspKHR
Decorate 20(vertexIDs) Location 0
Decorate 20(vertexIDs) PerVertexKHR
+ Decorate 44(vertexIDs2) Location 1
+ Decorate 44(vertexIDs2) PerVertexKHR
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
29: 21(int) Constant 1
34: 12(int) Constant 2
37: 21(int) Constant 2
+ 44(vertexIDs2): 19(ptr) Variable Input
4(main): 2 Function None 3
5: Label
15: 14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 13
40: 6(float) FMul 36 39
41: 6(float) FAdd 33 40
Store 8(value) 41
+ 42: 14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 13
+ 43: 6(float) Load 42
+ 45: 14(ptr) AccessChain 44(vertexIDs2) 22
+ 46: 6(float) Load 45
+ 47: 6(float) FMul 43 46
+ 48: 14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 26
+ 49: 6(float) Load 48
+ 50: 14(ptr) AccessChain 44(vertexIDs2) 29
+ 51: 6(float) Load 50
+ 52: 6(float) FMul 49 51
+ 53: 6(float) FAdd 47 52
+ 54: 14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 34
+ 55: 6(float) Load 54
+ 56: 14(ptr) AccessChain 44(vertexIDs2) 37
+ 57: 6(float) Load 56
+ 58: 6(float) FMul 55 57
+ 59: 6(float) FAdd 53 58
+ 60: 6(float) Load 8(value)
+ 61: 6(float) FAdd 60 59
+ Store 8(value) 61
Return
FunctionEnd
spv.fragmentShaderBarycentric4.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 42
+// Id's are bound by 62
Capability Shader
Capability FragmentBarycentricKHR
Extension "SPV_KHR_fragment_shader_barycentric"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 8 11 20
+ EntryPoint Fragment 4 "main" 8 11 20 44
ExecutionMode 4 OriginUpperLeft
Source ESSL 320
SourceExtension "GL_EXT_fragment_shader_barycentric"
Name 8 "value"
Name 11 "gl_BaryCoordNoPerspEXT"
Name 20 "vertexIDs"
+ Name 44 "vertexIDs2"
Decorate 8(value) Location 1
Decorate 11(gl_BaryCoordNoPerspEXT) BuiltIn BaryCoordNoPerspKHR
Decorate 20(vertexIDs) Location 0
Decorate 20(vertexIDs) PerVertexKHR
+ Decorate 44(vertexIDs2) Location 1
+ Decorate 44(vertexIDs2) PerVertexKHR
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
29: 21(int) Constant 1
34: 12(int) Constant 2
37: 21(int) Constant 2
+ 44(vertexIDs2): 19(ptr) Variable Input
4(main): 2 Function None 3
5: Label
15: 14(ptr) AccessChain 11(gl_BaryCoordNoPerspEXT) 13
40: 6(float) FMul 36 39
41: 6(float) FAdd 33 40
Store 8(value) 41
+ 42: 14(ptr) AccessChain 11(gl_BaryCoordNoPerspEXT) 13
+ 43: 6(float) Load 42
+ 45: 14(ptr) AccessChain 44(vertexIDs2) 22
+ 46: 6(float) Load 45
+ 47: 6(float) FMul 43 46
+ 48: 14(ptr) AccessChain 11(gl_BaryCoordNoPerspEXT) 26
+ 49: 6(float) Load 48
+ 50: 14(ptr) AccessChain 44(vertexIDs2) 29
+ 51: 6(float) Load 50
+ 52: 6(float) FMul 49 51
+ 53: 6(float) FAdd 47 52
+ 54: 14(ptr) AccessChain 11(gl_BaryCoordNoPerspEXT) 34
+ 55: 6(float) Load 54
+ 56: 14(ptr) AccessChain 44(vertexIDs2) 37
+ 57: 6(float) Load 56
+ 58: 6(float) FMul 55 57
+ 59: 6(float) FAdd 53 58
+ 60: 6(float) Load 8(value)
+ 61: 6(float) FAdd 60 59
+ Store 8(value) 61
Return
FunctionEnd
precision highp float;
layout(location = 0) pervertexNV in float vertexIDs[3];
+layout(location = 1) pervertexNV in float vertexIDs2[3];
+
layout(location = 1) out float value;
gl_BaryCoordNoPerspNV.y * vertexIDs[1] +
gl_BaryCoordNoPerspNV.z * vertexIDs[2]);
+ value += (gl_BaryCoordNoPerspNV.x * vertexIDs2[0] +
+ gl_BaryCoordNoPerspNV.y * vertexIDs2[1] +
+ gl_BaryCoordNoPerspNV.z * vertexIDs2[2]);
+
}
precision highp float;
layout(location = 0) pervertexEXT in float vertexIDs[3];
+layout(location = 1) pervertexEXT in float vertexIDs2[3];
layout(location = 1) out float value;
gl_BaryCoordNoPerspEXT.y * vertexIDs[1] +
gl_BaryCoordNoPerspEXT.z * vertexIDs[2]);
+ value += (gl_BaryCoordNoPerspEXT.x * vertexIDs2[0] +
+ gl_BaryCoordNoPerspEXT.y * vertexIDs2[1] +
+ gl_BaryCoordNoPerspEXT.z * vertexIDs2[2]);
+
}
case EShLangTessEvaluation:
return ! patch && isPipeInput();
case EShLangFragment:
- return pervertexNV && isPipeInput();
+ return (pervertexNV || pervertexEXT) && isPipeInput();
case EShLangMesh:
return ! perTaskNV && isPipeOutput();