Commit c7fd73b7 by John Kessenich Committed by GitHub

Merge pull request #811 from steve-lunarg/combine-test

HLSL: set combined flag false for Buffer<>
parents f36542f4 bf1537f4
......@@ -95,7 +95,7 @@ gl_FragCoord origin is upper left
0:20 0 (const int)
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos})
0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout( r32f) uniform textureBuffer)
0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float)
......@@ -199,13 +199,13 @@ gl_FragCoord origin is upper left
0:20 0 (const int)
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos})
0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout( r32f) uniform textureBuffer)
0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 81
// Id's are bound by 80
Capability Shader
Capability Sampled1D
......@@ -242,7 +242,7 @@ gl_FragCoord origin is upper left
Name 57 "sizeQueryTemp"
Name 66 "ps_output"
Name 74 "color"
Name 80 "g_tTexbfs"
Name 79 "g_tTexbfs"
MemberDecorate 17($Global) 0 Offset 0
MemberDecorate 17($Global) 1 Offset 4
MemberDecorate 17($Global) 2 Offset 8
......@@ -257,7 +257,7 @@ gl_FragCoord origin is upper left
Decorate 19 DescriptorSet 0
Decorate 31(g_tTex1df4) DescriptorSet 0
Decorate 74(color) Location 0
Decorate 80(g_tTexbfs) DescriptorSet 0
Decorate 79(g_tTexbfs) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
......@@ -289,9 +289,8 @@ gl_FragCoord origin is upper left
73: TypePointer Output 7(fvec4)
74(color): 73(ptr) Variable Output
77: TypeImage 6(float) Buffer sampled format:R32f
78: TypeSampledImage 77
79: TypePointer UniformConstant 78
80(g_tTexbfs): 79(ptr) Variable UniformConstant
78: TypePointer UniformConstant 77
79(g_tTexbfs): 78(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
75:8(PS_OUTPUT) FunctionCall 10(@main()
......
......@@ -7,7 +7,7 @@ Shader version: 450
0:? Sequence
0:5 Branch: Return with expression
0:5 textureFetch ( temp 4-component vector of float)
0:5 'Position' (layout( rgba32f) uniform samplerBuffer)
0:5 'Position' (layout( rgba32f) uniform textureBuffer)
0:5 Convert uint to int ( temp int)
0:5 'Index' ( in uint)
0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
......@@ -28,7 +28,7 @@ Shader version: 450
0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:? 'Index' ( temp uint)
0:? Linker Objects
0:? 'Position' (layout( rgba32f) uniform samplerBuffer)
0:? 'Position' (layout( rgba32f) uniform textureBuffer)
0:? '@entryPointOutput' ( out 4-component vector of float Position)
0:? 'Index' ( in uint VertexIndex)
......@@ -44,7 +44,7 @@ Shader version: 450
0:? Sequence
0:5 Branch: Return with expression
0:5 textureFetch ( temp 4-component vector of float)
0:5 'Position' (layout( rgba32f) uniform samplerBuffer)
0:5 'Position' (layout( rgba32f) uniform textureBuffer)
0:5 Convert uint to int ( temp int)
0:5 'Index' ( in uint)
0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
......@@ -65,33 +65,33 @@ Shader version: 450
0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:? 'Index' ( temp uint)
0:? Linker Objects
0:? 'Position' (layout( rgba32f) uniform samplerBuffer)
0:? 'Position' (layout( rgba32f) uniform textureBuffer)
0:? '@entryPointOutput' ( out 4-component vector of float Position)
0:? 'Index' ( in uint VertexIndex)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 43
// Id's are bound by 41
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "RealEntrypoint" 36 39
EntryPoint Vertex 4 "RealEntrypoint" 34 37
Name 4 "RealEntrypoint"
Name 12 "FakeEntrypoint(u1;"
Name 11 "Index"
Name 15 "@RealEntrypoint(u1;"
Name 14 "Index"
Name 20 "Position"
Name 29 "param"
Name 19 "Position"
Name 27 "param"
Name 32 "Index"
Name 34 "Index"
Name 36 "Index"
Name 39 "@entryPointOutput"
Name 40 "param"
Decorate 20(Position) DescriptorSet 0
Decorate 36(Index) BuiltIn VertexIndex
Decorate 39(@entryPointOutput) BuiltIn Position
Name 37 "@entryPointOutput"
Name 38 "param"
Decorate 19(Position) DescriptorSet 0
Decorate 34(Index) BuiltIn VertexIndex
Decorate 37(@entryPointOutput) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
......@@ -100,42 +100,40 @@ Shader version: 450
9: TypeVector 8(float) 4
10: TypeFunction 9(fvec4) 7(ptr)
17: TypeImage 8(float) Buffer sampled format:Rgba32f
18: TypeSampledImage 17
19: TypePointer UniformConstant 18
20(Position): 19(ptr) Variable UniformConstant
23: TypeInt 32 1
35: TypePointer Input 6(int)
36(Index): 35(ptr) Variable Input
38: TypePointer Output 9(fvec4)
39(@entryPointOutput): 38(ptr) Variable Output
18: TypePointer UniformConstant 17
19(Position): 18(ptr) Variable UniformConstant
22: TypeInt 32 1
33: TypePointer Input 6(int)
34(Index): 33(ptr) Variable Input
36: TypePointer Output 9(fvec4)
37(@entryPointOutput): 36(ptr) Variable Output
4(RealEntrypoint): 2 Function None 3
5: Label
34(Index): 7(ptr) Variable Function
40(param): 7(ptr) Variable Function
37: 6(int) Load 36(Index)
Store 34(Index) 37
41: 6(int) Load 34(Index)
Store 40(param) 41
42: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param)
Store 39(@entryPointOutput) 42
32(Index): 7(ptr) Variable Function
38(param): 7(ptr) Variable Function
35: 6(int) Load 34(Index)
Store 32(Index) 35
39: 6(int) Load 32(Index)
Store 38(param) 39
40: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 38(param)
Store 37(@entryPointOutput) 40
Return
FunctionEnd
12(FakeEntrypoint(u1;): 9(fvec4) Function None 10
11(Index): 7(ptr) FunctionParameter
13: Label
21: 18 Load 20(Position)
22: 6(int) Load 11(Index)
24: 23(int) Bitcast 22
25: 17 Image 21
26: 9(fvec4) ImageFetch 25 24
ReturnValue 26
20: 17 Load 19(Position)
21: 6(int) Load 11(Index)
23: 22(int) Bitcast 21
24: 9(fvec4) ImageFetch 20 23
ReturnValue 24
FunctionEnd
15(@RealEntrypoint(u1;): 9(fvec4) Function None 10
14(Index): 7(ptr) FunctionParameter
16: Label
29(param): 7(ptr) Variable Function
30: 6(int) Load 14(Index)
Store 29(param) 30
31: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 29(param)
ReturnValue 31
27(param): 7(ptr) Variable Function
28: 6(int) Load 14(Index)
Store 27(param) 28
29: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 27(param)
ReturnValue 29
FunctionEnd
......@@ -1145,9 +1145,10 @@ bool HlslGrammar::acceptTextureType(TType& type)
bool array = false;
bool ms = false;
bool image = false;
bool combined = true;
switch (textureType) {
case EHTokBuffer: dim = EsdBuffer; break;
case EHTokBuffer: dim = EsdBuffer; combined = false; break;
case EHTokTexture1d: dim = Esd1D; break;
case EHTokTexture1darray: dim = Esd1D; array = true; break;
case EHTokTexture2d: dim = Esd2D; break;
......@@ -1252,6 +1253,10 @@ bool HlslGrammar::acceptTextureType(TType& type)
// Remember the declared vector size.
sampler.vectorSize = txType.getVectorSize();
// Force uncombined, if necessary
if (!combined)
sampler.combined = false;
type.shallowCopy(TType(sampler, EvqUniform, arraySizes));
type.getQualifier().layoutFormat = format;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment