Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / spv.intrinsicsSpirvDecorate.frag
1 #version 450 core\r
2 \r
3 #extension GL_EXT_spirv_intrinsics: enable\r
4 \r
5 #define GL_AMD_shader_explicit_vertex_parameter 1\r
6 \r
7 spirv_decorate (extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], 11, 4992)\r
8 in vec2 gl_BaryCoordNoPerspAMD;\r
9 spirv_decorate (extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], 11, 4993)\r
10 in vec2 gl_BaryCoordNoPerspCentroidAMD;\r
11 spirv_decorate (extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], 11, 4994)\r
12 in vec2 gl_BaryCoordNoPerspSampleAMD;\r
13 spirv_decorate (extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], 11, 4995)\r
14 in vec2 gl_BaryCoordSmoothAMD;\r
15 spirv_decorate (extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], 11, 4996)\r
16 in vec2 gl_BaryCoordSmoothCentroidAMD;\r
17 spirv_decorate (extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], 11, 4997)\r
18 in vec2 gl_BaryCoordSmoothSampleAMD;\r
19 spirv_decorate (extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], 11, 4998)\r
20 in vec3 gl_BaryCoordPullModelAMD;\r
21 \r
22 #define __explicitInterpAMD spirv_decorate(extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], 4999)\r
23 \r
24 spirv_instruction(extensions = ["SPV_AMD_shader_explicit_vertex_parameter"], set = "SPV_AMD_shader_explicit_vertex_parameter", id = 1)\r
25 float interpolateAtVertexAMD(float interpolant, uint vertexIdx);\r
26 \r
27 layout(location = 0) in __explicitInterpAMD float floatIn;\r
28 layout(location = 0) out float floatOut;\r
29 layout(location = 1) out vec2 vec2Out;\r
30 \r
31 void main()\r
32 {\r
33     floatOut = interpolateAtVertexAMD(floatIn, 1);\r
34     vec2Out = gl_BaryCoordNoPerspAMD + gl_BaryCoordNoPerspCentroidAMD + gl_BaryCoordNoPerspSampleAMD +\r
35               gl_BaryCoordSmoothAMD + gl_BaryCoordSmoothCentroidAMD + gl_BaryCoordSmoothSampleAMD +\r
36               gl_BaryCoordPullModelAMD.xy;\r
37 }\r