WIP: HLSL: propagate readonly qualifier for buffer types

This commit is contained in:
steve-lunarg 2017-03-19 12:40:12 -06:00
parent cf2e7275e8
commit d3947d232a
6 changed files with 56 additions and 42 deletions

View File

@ -342,7 +342,7 @@ gl_FragCoord origin is upper left
0:51 'r50' ( temp float) 0:51 'r50' ( temp float)
0:51 Construct float ( temp float) 0:51 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? imageLoad ( temp 4-component vector of float)
0:51 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:51 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:51 Convert uint to int ( temp int) 0:51 Convert uint to int ( temp int)
0:51 upos: direct index for structure (layout( offset=48) uniform uint) 0:51 upos: direct index for structure (layout( offset=48) uniform uint)
0:51 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos}) 0:51 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
@ -353,7 +353,7 @@ gl_FragCoord origin is upper left
0:52 'r51' ( temp float) 0:52 'r51' ( temp float)
0:52 Construct float ( temp float) 0:52 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? imageLoad ( temp 4-component vector of float)
0:52 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:52 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:52 Convert float to int ( temp int) 0:52 Convert float to int ( temp int)
0:52 fpos: direct index for structure (layout( offset=52) uniform float) 0:52 fpos: direct index for structure (layout( offset=52) uniform float)
0:52 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos}) 0:52 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
@ -436,7 +436,7 @@ gl_FragCoord origin is upper left
0:20 Constant: 0:20 Constant:
0:20 0 (const int) 0:20 0 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'color' (layout( location=0) out 4-component vector of float)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos}) 0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
@ -788,7 +788,7 @@ gl_FragCoord origin is upper left
0:51 'r50' ( temp float) 0:51 'r50' ( temp float)
0:51 Construct float ( temp float) 0:51 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? imageLoad ( temp 4-component vector of float)
0:51 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:51 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:51 Convert uint to int ( temp int) 0:51 Convert uint to int ( temp int)
0:51 upos: direct index for structure (layout( offset=48) uniform uint) 0:51 upos: direct index for structure (layout( offset=48) uniform uint)
0:51 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos}) 0:51 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
@ -799,7 +799,7 @@ gl_FragCoord origin is upper left
0:52 'r51' ( temp float) 0:52 'r51' ( temp float)
0:52 Construct float ( temp float) 0:52 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? imageLoad ( temp 4-component vector of float)
0:52 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:52 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:52 Convert float to int ( temp int) 0:52 Convert float to int ( temp int)
0:52 fpos: direct index for structure (layout( offset=52) uniform float) 0:52 fpos: direct index for structure (layout( offset=52) uniform float)
0:52 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos}) 0:52 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
@ -882,7 +882,7 @@ gl_FragCoord origin is upper left
0:20 Constant: 0:20 Constant:
0:20 0 (const int) 0:20 0 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'color' (layout( location=0) out 4-component vector of float)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos}) 0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
@ -964,6 +964,7 @@ gl_FragCoord origin is upper left
Decorate 19($Global) Block Decorate 19($Global) Block
Decorate 21 DescriptorSet 0 Decorate 21 DescriptorSet 0
Decorate 258(g_tTexbfs) DescriptorSet 0 Decorate 258(g_tTexbfs) DescriptorSet 0
Decorate 258(g_tTexbfs) NonWritable
Decorate 277(g_tTex1df4) DescriptorSet 0 Decorate 277(g_tTex1df4) DescriptorSet 0
Decorate 319(color) Location 0 Decorate 319(color) Location 0
2: TypeVoid 2: TypeVoid

View File

@ -94,7 +94,7 @@ gl_FragCoord origin is upper left
0:20 Constant: 0:20 Constant:
0:20 0 (const int) 0:20 0 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'color' (layout( location=0) out 4-component vector of float)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos}) 0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
@ -198,7 +198,7 @@ gl_FragCoord origin is upper left
0:20 Constant: 0:20 Constant:
0:20 0 (const int) 0:20 0 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'color' (layout( location=0) out 4-component vector of float)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos}) 0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
@ -258,6 +258,7 @@ gl_FragCoord origin is upper left
Decorate 31(g_tTex1df4) DescriptorSet 0 Decorate 31(g_tTex1df4) DescriptorSet 0
Decorate 74(color) Location 0 Decorate 74(color) Location 0
Decorate 79(g_tTexbfs) DescriptorSet 0 Decorate 79(g_tTexbfs) DescriptorSet 0
Decorate 79(g_tTexbfs) NonWritable
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32

View File

@ -9,7 +9,7 @@ gl_FragCoord origin is upper left
0:28 move second child to first child ( temp 4-component vector of float) 0:28 move second child to first child ( temp 4-component vector of float)
0:28 'r00' ( temp 4-component vector of float) 0:28 'r00' ( temp 4-component vector of float)
0:28 imageLoad ( temp 4-component vector of float) 0:28 imageLoad ( temp 4-component vector of float)
0:28 'g_tTexbf4' (layout( rgba32f) uniform imageBuffer) 0:28 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer)
0:28 c1: direct index for structure (layout( offset=0) uniform int) 0:28 c1: direct index for structure (layout( offset=0) uniform int)
0:28 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:28 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:28 Constant: 0:28 Constant:
@ -18,7 +18,7 @@ gl_FragCoord origin is upper left
0:29 move second child to first child ( temp 4-component vector of int) 0:29 move second child to first child ( temp 4-component vector of int)
0:29 'r01' ( temp 4-component vector of int) 0:29 'r01' ( temp 4-component vector of int)
0:29 imageLoad ( temp 4-component vector of int) 0:29 imageLoad ( temp 4-component vector of int)
0:29 'g_tTexbi4' (layout( rgba32i) uniform iimageBuffer) 0:29 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer)
0:29 c1: direct index for structure (layout( offset=0) uniform int) 0:29 c1: direct index for structure (layout( offset=0) uniform int)
0:29 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:29 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:29 Constant: 0:29 Constant:
@ -27,7 +27,7 @@ gl_FragCoord origin is upper left
0:30 move second child to first child ( temp 4-component vector of uint) 0:30 move second child to first child ( temp 4-component vector of uint)
0:30 'r02' ( temp 4-component vector of uint) 0:30 'r02' ( temp 4-component vector of uint)
0:30 imageLoad ( temp 4-component vector of uint) 0:30 imageLoad ( temp 4-component vector of uint)
0:30 'g_tTexbu4' (layout( rgba32ui) uniform uimageBuffer) 0:30 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer)
0:30 c1: direct index for structure (layout( offset=0) uniform int) 0:30 c1: direct index for structure (layout( offset=0) uniform int)
0:30 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:30 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:30 Constant: 0:30 Constant:
@ -71,10 +71,10 @@ gl_FragCoord origin is upper left
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform imageBuffer) 0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) readonly uniform imageBuffer)
0:? 'g_tTexbf4' (layout( rgba32f) uniform imageBuffer) 0:? 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer)
0:? 'g_tTexbi4' (layout( rgba32i) uniform iimageBuffer) 0:? 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer)
0:? 'g_tTexbu4' (layout( rgba32ui) uniform uimageBuffer) 0:? 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer)
0:? 'Color' (layout( location=0) out 4-component vector of float) 0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth) 0:? 'Depth' ( out float FragDepth)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
@ -93,7 +93,7 @@ gl_FragCoord origin is upper left
0:28 move second child to first child ( temp 4-component vector of float) 0:28 move second child to first child ( temp 4-component vector of float)
0:28 'r00' ( temp 4-component vector of float) 0:28 'r00' ( temp 4-component vector of float)
0:28 imageLoad ( temp 4-component vector of float) 0:28 imageLoad ( temp 4-component vector of float)
0:28 'g_tTexbf4' (layout( rgba32f) uniform imageBuffer) 0:28 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer)
0:28 c1: direct index for structure (layout( offset=0) uniform int) 0:28 c1: direct index for structure (layout( offset=0) uniform int)
0:28 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:28 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:28 Constant: 0:28 Constant:
@ -102,7 +102,7 @@ gl_FragCoord origin is upper left
0:29 move second child to first child ( temp 4-component vector of int) 0:29 move second child to first child ( temp 4-component vector of int)
0:29 'r01' ( temp 4-component vector of int) 0:29 'r01' ( temp 4-component vector of int)
0:29 imageLoad ( temp 4-component vector of int) 0:29 imageLoad ( temp 4-component vector of int)
0:29 'g_tTexbi4' (layout( rgba32i) uniform iimageBuffer) 0:29 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer)
0:29 c1: direct index for structure (layout( offset=0) uniform int) 0:29 c1: direct index for structure (layout( offset=0) uniform int)
0:29 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:29 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:29 Constant: 0:29 Constant:
@ -111,7 +111,7 @@ gl_FragCoord origin is upper left
0:30 move second child to first child ( temp 4-component vector of uint) 0:30 move second child to first child ( temp 4-component vector of uint)
0:30 'r02' ( temp 4-component vector of uint) 0:30 'r02' ( temp 4-component vector of uint)
0:30 imageLoad ( temp 4-component vector of uint) 0:30 imageLoad ( temp 4-component vector of uint)
0:30 'g_tTexbu4' (layout( rgba32ui) uniform uimageBuffer) 0:30 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer)
0:30 c1: direct index for structure (layout( offset=0) uniform int) 0:30 c1: direct index for structure (layout( offset=0) uniform int)
0:30 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:30 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:30 Constant: 0:30 Constant:
@ -155,10 +155,10 @@ gl_FragCoord origin is upper left
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform imageBuffer) 0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) readonly uniform imageBuffer)
0:? 'g_tTexbf4' (layout( rgba32f) uniform imageBuffer) 0:? 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer)
0:? 'g_tTexbi4' (layout( rgba32i) uniform iimageBuffer) 0:? 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer)
0:? 'g_tTexbu4' (layout( rgba32ui) uniform uimageBuffer) 0:? 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer)
0:? 'Color' (layout( location=0) out 4-component vector of float) 0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth) 0:? 'Depth' ( out float FragDepth)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
@ -200,6 +200,7 @@ gl_FragCoord origin is upper left
Name 68 "Depth" Name 68 "Depth"
Name 71 "g_tTexbf4_test" Name 71 "g_tTexbf4_test"
Decorate 16(g_tTexbf4) DescriptorSet 0 Decorate 16(g_tTexbf4) DescriptorSet 0
Decorate 16(g_tTexbf4) NonWritable
MemberDecorate 22($Global) 0 Offset 0 MemberDecorate 22($Global) 0 Offset 0
MemberDecorate 22($Global) 1 Offset 8 MemberDecorate 22($Global) 1 Offset 8
MemberDecorate 22($Global) 2 Offset 16 MemberDecorate 22($Global) 2 Offset 16
@ -211,11 +212,14 @@ gl_FragCoord origin is upper left
Decorate 22($Global) Block Decorate 22($Global) Block
Decorate 24 DescriptorSet 0 Decorate 24 DescriptorSet 0
Decorate 34(g_tTexbi4) DescriptorSet 0 Decorate 34(g_tTexbi4) DescriptorSet 0
Decorate 34(g_tTexbi4) NonWritable
Decorate 45(g_tTexbu4) DescriptorSet 0 Decorate 45(g_tTexbu4) DescriptorSet 0
Decorate 45(g_tTexbu4) NonWritable
Decorate 64(Color) Location 0 Decorate 64(Color) Location 0
Decorate 68(Depth) BuiltIn FragDepth Decorate 68(Depth) BuiltIn FragDepth
Decorate 71(g_tTexbf4_test) DescriptorSet 0 Decorate 71(g_tTexbf4_test) DescriptorSet 0
Decorate 71(g_tTexbf4_test) Binding 0 Decorate 71(g_tTexbf4_test) Binding 0
Decorate 71(g_tTexbf4_test) NonWritable
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32

View File

@ -10,7 +10,7 @@ gl_FragCoord origin is upper left
0:28 'r00' ( temp float) 0:28 'r00' ( temp float)
0:28 Construct float ( temp float) 0:28 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? imageLoad ( temp 4-component vector of float)
0:28 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:28 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:28 c1: direct index for structure (layout( offset=0) uniform int) 0:28 c1: direct index for structure (layout( offset=0) uniform int)
0:28 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:28 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:28 Constant: 0:28 Constant:
@ -20,7 +20,7 @@ gl_FragCoord origin is upper left
0:29 'r01' ( temp int) 0:29 'r01' ( temp int)
0:29 Construct int ( temp int) 0:29 Construct int ( temp int)
0:? imageLoad ( temp 4-component vector of int) 0:? imageLoad ( temp 4-component vector of int)
0:29 'g_tTexbis' (layout( r32i) uniform iimageBuffer) 0:29 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer)
0:29 c1: direct index for structure (layout( offset=0) uniform int) 0:29 c1: direct index for structure (layout( offset=0) uniform int)
0:29 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:29 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:29 Constant: 0:29 Constant:
@ -30,7 +30,7 @@ gl_FragCoord origin is upper left
0:30 'r02' ( temp uint) 0:30 'r02' ( temp uint)
0:30 Construct uint ( temp uint) 0:30 Construct uint ( temp uint)
0:? imageLoad ( temp 4-component vector of uint) 0:? imageLoad ( temp 4-component vector of uint)
0:30 'g_tTexbus' (layout( r32ui) uniform uimageBuffer) 0:30 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer)
0:30 c1: direct index for structure (layout( offset=0) uniform int) 0:30 c1: direct index for structure (layout( offset=0) uniform int)
0:30 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:30 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:30 Constant: 0:30 Constant:
@ -74,10 +74,10 @@ gl_FragCoord origin is upper left
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbfs_test' (layout( binding=0 r32f) uniform imageBuffer) 0:? 'g_tTexbfs_test' (layout( binding=0 r32f) readonly uniform imageBuffer)
0:? 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:? 'g_tTexbis' (layout( r32i) uniform iimageBuffer) 0:? 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer)
0:? 'g_tTexbus' (layout( r32ui) uniform uimageBuffer) 0:? 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer)
0:? 'Color' (layout( location=0) out 4-component vector of float) 0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth) 0:? 'Depth' ( out float FragDepth)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
@ -97,7 +97,7 @@ gl_FragCoord origin is upper left
0:28 'r00' ( temp float) 0:28 'r00' ( temp float)
0:28 Construct float ( temp float) 0:28 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? imageLoad ( temp 4-component vector of float)
0:28 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:28 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:28 c1: direct index for structure (layout( offset=0) uniform int) 0:28 c1: direct index for structure (layout( offset=0) uniform int)
0:28 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:28 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:28 Constant: 0:28 Constant:
@ -107,7 +107,7 @@ gl_FragCoord origin is upper left
0:29 'r01' ( temp int) 0:29 'r01' ( temp int)
0:29 Construct int ( temp int) 0:29 Construct int ( temp int)
0:? imageLoad ( temp 4-component vector of int) 0:? imageLoad ( temp 4-component vector of int)
0:29 'g_tTexbis' (layout( r32i) uniform iimageBuffer) 0:29 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer)
0:29 c1: direct index for structure (layout( offset=0) uniform int) 0:29 c1: direct index for structure (layout( offset=0) uniform int)
0:29 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:29 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:29 Constant: 0:29 Constant:
@ -117,7 +117,7 @@ gl_FragCoord origin is upper left
0:30 'r02' ( temp uint) 0:30 'r02' ( temp uint)
0:30 Construct uint ( temp uint) 0:30 Construct uint ( temp uint)
0:? imageLoad ( temp 4-component vector of uint) 0:? imageLoad ( temp 4-component vector of uint)
0:30 'g_tTexbus' (layout( r32ui) uniform uimageBuffer) 0:30 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer)
0:30 c1: direct index for structure (layout( offset=0) uniform int) 0:30 c1: direct index for structure (layout( offset=0) uniform int)
0:30 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:30 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:30 Constant: 0:30 Constant:
@ -161,10 +161,10 @@ gl_FragCoord origin is upper left
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbfs_test' (layout( binding=0 r32f) uniform imageBuffer) 0:? 'g_tTexbfs_test' (layout( binding=0 r32f) readonly uniform imageBuffer)
0:? 'g_tTexbfs' (layout( r32f) uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
0:? 'g_tTexbis' (layout( r32i) uniform iimageBuffer) 0:? 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer)
0:? 'g_tTexbus' (layout( r32ui) uniform uimageBuffer) 0:? 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer)
0:? 'Color' (layout( location=0) out 4-component vector of float) 0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth) 0:? 'Depth' ( out float FragDepth)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4}) 0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
@ -206,6 +206,7 @@ gl_FragCoord origin is upper left
Name 71 "Depth" Name 71 "Depth"
Name 74 "g_tTexbfs_test" Name 74 "g_tTexbfs_test"
Decorate 16(g_tTexbfs) DescriptorSet 0 Decorate 16(g_tTexbfs) DescriptorSet 0
Decorate 16(g_tTexbfs) NonWritable
MemberDecorate 22($Global) 0 Offset 0 MemberDecorate 22($Global) 0 Offset 0
MemberDecorate 22($Global) 1 Offset 8 MemberDecorate 22($Global) 1 Offset 8
MemberDecorate 22($Global) 2 Offset 16 MemberDecorate 22($Global) 2 Offset 16
@ -217,11 +218,14 @@ gl_FragCoord origin is upper left
Decorate 22($Global) Block Decorate 22($Global) Block
Decorate 24 DescriptorSet 0 Decorate 24 DescriptorSet 0
Decorate 35(g_tTexbis) DescriptorSet 0 Decorate 35(g_tTexbis) DescriptorSet 0
Decorate 35(g_tTexbis) NonWritable
Decorate 46(g_tTexbus) DescriptorSet 0 Decorate 46(g_tTexbus) DescriptorSet 0
Decorate 46(g_tTexbus) NonWritable
Decorate 67(Color) Location 0 Decorate 67(Color) Location 0
Decorate 71(Depth) BuiltIn FragDepth Decorate 71(Depth) BuiltIn FragDepth
Decorate 74(g_tTexbfs_test) DescriptorSet 0 Decorate 74(g_tTexbfs_test) DescriptorSet 0
Decorate 74(g_tTexbfs_test) Binding 0 Decorate 74(g_tTexbfs_test) Binding 0
Decorate 74(g_tTexbfs_test) NonWritable
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32

View File

@ -7,7 +7,7 @@ Shader version: 450
0:? Sequence 0:? Sequence
0:5 Branch: Return with expression 0:5 Branch: Return with expression
0:5 imageLoad ( temp 4-component vector of float) 0:5 imageLoad ( temp 4-component vector of float)
0:5 'Position' (layout( rgba32f) uniform imageBuffer) 0:5 'Position' (layout( rgba32f) readonly uniform imageBuffer)
0:5 Convert uint to int ( temp int) 0:5 Convert uint to int ( temp int)
0:5 'Index' ( in uint) 0:5 'Index' ( in uint)
0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float) 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:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:? 'Index' ( temp uint) 0:? 'Index' ( temp uint)
0:? Linker Objects 0:? Linker Objects
0:? 'Position' (layout( rgba32f) uniform imageBuffer) 0:? 'Position' (layout( rgba32f) readonly uniform imageBuffer)
0:? '@entryPointOutput' ( out 4-component vector of float Position) 0:? '@entryPointOutput' ( out 4-component vector of float Position)
0:? 'Index' ( in uint VertexIndex) 0:? 'Index' ( in uint VertexIndex)
@ -44,7 +44,7 @@ Shader version: 450
0:? Sequence 0:? Sequence
0:5 Branch: Return with expression 0:5 Branch: Return with expression
0:5 imageLoad ( temp 4-component vector of float) 0:5 imageLoad ( temp 4-component vector of float)
0:5 'Position' (layout( rgba32f) uniform imageBuffer) 0:5 'Position' (layout( rgba32f) readonly uniform imageBuffer)
0:5 Convert uint to int ( temp int) 0:5 Convert uint to int ( temp int)
0:5 'Index' ( in uint) 0:5 'Index' ( in uint)
0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float) 0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
@ -65,7 +65,7 @@ Shader version: 450
0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float) 0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:? 'Index' ( temp uint) 0:? 'Index' ( temp uint)
0:? Linker Objects 0:? Linker Objects
0:? 'Position' (layout( rgba32f) uniform imageBuffer) 0:? 'Position' (layout( rgba32f) readonly uniform imageBuffer)
0:? '@entryPointOutput' ( out 4-component vector of float Position) 0:? '@entryPointOutput' ( out 4-component vector of float Position)
0:? 'Index' ( in uint VertexIndex) 0:? 'Index' ( in uint VertexIndex)
@ -90,6 +90,7 @@ Shader version: 450
Name 37 "@entryPointOutput" Name 37 "@entryPointOutput"
Name 38 "param" Name 38 "param"
Decorate 19(Position) DescriptorSet 0 Decorate 19(Position) DescriptorSet 0
Decorate 19(Position) NonWritable
Decorate 34(Index) BuiltIn VertexIndex Decorate 34(Index) BuiltIn VertexIndex
Decorate 37(@entryPointOutput) BuiltIn Position Decorate 37(@entryPointOutput) BuiltIn Position
2: TypeVoid 2: TypeVoid

View File

@ -545,6 +545,10 @@ bool HlslGrammar::acceptFullySpecifiedType(TType& type, TIntermNode*& nodeList)
qualifier.layoutFormat = type.getQualifier().layoutFormat; qualifier.layoutFormat = type.getQualifier().layoutFormat;
qualifier.precision = type.getQualifier().precision; qualifier.precision = type.getQualifier().precision;
// Propagate sampler readonly qualifier for buffers
if (type.getBasicType() == EbtSampler)
qualifier.readonly = type.getQualifier().readonly;
if (type.getQualifier().storage == EvqVaryingOut || if (type.getQualifier().storage == EvqVaryingOut ||
type.getQualifier().storage == EvqBuffer) { type.getQualifier().storage == EvqBuffer) {
qualifier.storage = type.getQualifier().storage; qualifier.storage = type.getQualifier().storage;
@ -1188,9 +1192,8 @@ bool HlslGrammar::acceptTextureType(TType& type)
sampler.vectorSize = txType.getVectorSize(); sampler.vectorSize = txType.getVectorSize();
type.shallowCopy(TType(sampler, EvqUniform, arraySizes)); type.shallowCopy(TType(sampler, EvqUniform, arraySizes));
type.getQualifier().layoutFormat = format;
// TODO: this is not being passed through to the SPIR-V OpTypeImage access qualifier. type.getQualifier().layoutFormat = format;
type.getQualifier().readonly = readonly; type.getQualifier().readonly = readonly;
return true; return true;