--- /dev/null
+hlsl.basic.comp
+Shader version: 450
+local_size = (1, 1, 1)
+0:? Sequence
+0:4 Function Definition: main( (temp void)
+0:4 Function Parameters:
+0:? Sequence
+0:5 dti: direct index for structure (layout(offset=0 ) uniform int LocalInvocationID)
+0:5 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int LocalInvocationID dti})
+0:5 Constant:
+0:5 0 (const uint)
+0:? Linker Objects
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int LocalInvocationID dti})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+local_size = (1, 1, 1)
+0:? Sequence
+0:4 Function Definition: main( (temp void)
+0:4 Function Parameters:
+0:? Sequence
+0:5 dti: direct index for structure (layout(offset=0 ) uniform int LocalInvocationID)
+0:5 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int LocalInvocationID dti})
+0:5 Constant:
+0:5 0 (const uint)
+0:? Linker Objects
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int LocalInvocationID dti})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 11
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 1 1 1
+ Name 4 "main"
+ Name 7 "$Global"
+ MemberName 7($Global) 0 "dti"
+ Name 9 ""
+ MemberDecorate 7($Global) 0 Offset 0
+ MemberDecorate 7($Global) 0 BuiltIn LocalInvocationId
+ Decorate 7($Global) Block
+ Decorate 9 DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7($Global): TypeStruct 6(int)
+ 8: TypePointer Uniform 7($Global)
+ 9: 8(ptr) Variable Uniform
+ 10: 6(int) Constant 0
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
0:11 'x' (in float)
0:11 Constant:
0:11 -1.000000
-0:15 Function Definition: main(vf4; (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
+0:15 'sampleMask' (out int SampleMaskIn)
0:? Sequence
0:18 Sequence
0:18 move second child to first child (temp float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
+0:? 'sampleMask' (out int SampleMaskIn)
Linked fragment stage:
0:11 'x' (in float)
0:11 Constant:
0:11 -1.000000
-0:15 Function Definition: main(vf4; (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
+0:15 'sampleMask' (out int SampleMaskIn)
0:? Sequence
0:18 Sequence
0:18 move second child to first child (temp float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
+0:? 'sampleMask' (out int SampleMaskIn)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 61
+// Id's are bound by 63
Capability Shader
+ Capability SampleRateShading
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 45 53 57
+ EntryPoint Fragment 4 "main" 45 53 57 62
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 12 "MyFunc(f1;f1;f1;"
Name 45 "inpos"
Name 53 "Color"
Name 57 "Depth"
+ Name 62 "sampleMask"
Decorate 45(inpos) NoPerspective
Decorate 45(inpos) BuiltIn FragCoord
Decorate 53(Color) Location 0
Decorate 57(Depth) BuiltIn FragDepth
+ Decorate 62(sampleMask) BuiltIn SampleMask
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
53(Color): 52(ptr) Variable Output
56: TypePointer Output 6(float)
57(Depth): 56(ptr) Variable Output
+ 61: TypePointer Output 34(int)
+ 62(sampleMask): 61(ptr) Variable Output
4(main): 2 Function None 3
5: Label
17(x): 7(ptr) Variable Function
--- /dev/null
+int dti : SV_DispatchThreadID;\r
+\r
+void main()\r
+{\r
+ dti;\r
+}\r
x = -1; // no effect since x = in param
}
-PS_OUTPUT main(noperspective in float4 inpos : SV_Position)
+PS_OUTPUT main(noperspective in float4 inpos : SV_Position, out int sampleMask : SV_Coverage)
{
PS_OUTPUT psout;
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
-#define GLSLANG_REVISION "Overload400-PrecQual.1601"
+#define GLSLANG_REVISION "Overload400-PrecQual.1602"
#define GLSLANG_DATE "16-Oct-2016"
{"hlsl.array.multidim.frag", "main"},
{"hlsl.assoc.frag", "PixelShaderFunction"},
{"hlsl.attribute.frag", "PixelShaderFunction"},
+ {"hlsl.basic.comp", "main"},
{"hlsl.buffer.frag", "PixelShaderFunction"},
{"hlsl.calculatelod.dx10.frag", "main"},
{"hlsl.calculatelodunclamped.dx10.frag", "main"},
qualifier.builtIn = EbvTessLevelInner;
else if (semanticUpperCase == "SV_GSINSTANCEID")
qualifier.builtIn = EbvInvocationId;
+ else if (semanticUpperCase == "SV_DISPATCHTHREADID")
+ qualifier.builtIn = EbvLocalInvocationId;
else if (semanticUpperCase == "SV_GROUPTHREADID")
qualifier.builtIn = EbvLocalInvocationId;
else if (semanticUpperCase == "SV_GROUPID")
qualifier.builtIn = EbvTessCoord;
else if (semanticUpperCase == "SV_DEPTH")
qualifier.builtIn = EbvFragDepth;
+ else if( semanticUpperCase == "SV_COVERAGE")
+ qualifier.builtIn = EbvSampleMask;
//TODO, these need to get refined to be more specific
else if( semanticUpperCase == "SV_DEPTHGREATEREQUAL")
else if( semanticUpperCase == "SV_DEPTHLESSEQUAL")
qualifier.builtIn = EbvFragDepthLesser;
else if( semanticUpperCase == "SV_STENCILREF")
- error(loc, "unimplemented", "SV_STENCILREF", "");
- else if( semanticUpperCase == "SV_COVERAGE")
- error(loc, "unimplemented", "SV_COVERAGE", "");
+ error(loc, "unimplemented; need ARB_shader_stencil_export", "SV_STENCILREF", "");
+ else if( semanticUpperCase == "SV_GROUPINDEX")
+ error(loc, "unimplemented", "SV_GROUPINDEX", "");
}
//