WIP: HLSL: Buffer types should be unsampled.
RWBuffer objects were generating (properly) unsampled resoures, while Buffer objects were not. This fixes that.
This commit is contained in:
		
							parent
							
								
									e751bca75c
								
							
						
					
					
						commit
						cf2e7275e8
					
				| @ -341,8 +341,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:51        move second child to first child ( temp float) | 0:51        move second child to first child ( temp float) | ||||||
| 0:51          'r50' ( temp float) | 0:51          'r50' ( temp float) | ||||||
| 0:51          Construct float ( temp float) | 0:51          Construct float ( temp float) | ||||||
| 0:?             textureFetch ( temp 4-component vector of float) | 0:?             imageLoad ( temp 4-component vector of float) | ||||||
| 0:51              'g_tTexbfs' (layout( r32f) uniform samplerBuffer) | 0:51              'g_tTexbfs' (layout( r32f) 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}) | ||||||
| @ -352,8 +352,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:52        move second child to first child ( temp float) | 0:52        move second child to first child ( temp float) | ||||||
| 0:52          'r51' ( temp float) | 0:52          'r51' ( temp float) | ||||||
| 0:52          Construct float ( temp float) | 0:52          Construct float ( temp float) | ||||||
| 0:?             textureFetch ( temp 4-component vector of float) | 0:?             imageLoad ( temp 4-component vector of float) | ||||||
| 0:52              'g_tTexbfs' (layout( r32f) uniform samplerBuffer) | 0:52              'g_tTexbfs' (layout( r32f) 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 samplerBuffer) | 0:?     'g_tTexbfs' (layout( r32f) 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}) | ||||||
| @ -787,8 +787,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:51        move second child to first child ( temp float) | 0:51        move second child to first child ( temp float) | ||||||
| 0:51          'r50' ( temp float) | 0:51          'r50' ( temp float) | ||||||
| 0:51          Construct float ( temp float) | 0:51          Construct float ( temp float) | ||||||
| 0:?             textureFetch ( temp 4-component vector of float) | 0:?             imageLoad ( temp 4-component vector of float) | ||||||
| 0:51              'g_tTexbfs' (layout( r32f) uniform samplerBuffer) | 0:51              'g_tTexbfs' (layout( r32f) 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}) | ||||||
| @ -798,8 +798,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:52        move second child to first child ( temp float) | 0:52        move second child to first child ( temp float) | ||||||
| 0:52          'r51' ( temp float) | 0:52          'r51' ( temp float) | ||||||
| 0:52          Construct float ( temp float) | 0:52          Construct float ( temp float) | ||||||
| 0:?             textureFetch ( temp 4-component vector of float) | 0:?             imageLoad ( temp 4-component vector of float) | ||||||
| 0:52              'g_tTexbfs' (layout( r32f) uniform samplerBuffer) | 0:52              'g_tTexbfs' (layout( r32f) 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,14 +882,14 @@ 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 samplerBuffer) | 0:?     'g_tTexbfs' (layout( r32f) 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}) | ||||||
| 
 | 
 | ||||||
| // Module Version 10000 | // Module Version 10000 | ||||||
| // Generated by (magic number): 80001 | // Generated by (magic number): 80001 | ||||||
| // Id's are bound by 325 | // Id's are bound by 322 | ||||||
| 
 | 
 | ||||||
|                               Capability Shader |                               Capability Shader | ||||||
|                               Capability Sampled1D |                               Capability Sampled1D | ||||||
| @ -897,7 +897,7 @@ gl_FragCoord origin is upper left | |||||||
|                               Capability ImageQuery |                               Capability ImageQuery | ||||||
|                1:             ExtInstImport  "GLSL.std.450" |                1:             ExtInstImport  "GLSL.std.450" | ||||||
|                               MemoryModel Logical GLSL450 |                               MemoryModel Logical GLSL450 | ||||||
|                               EntryPoint Fragment 4  "main" 322 |                               EntryPoint Fragment 4  "main" 319 | ||||||
|                               ExecutionMode 4 OriginUpperLeft |                               ExecutionMode 4 OriginUpperLeft | ||||||
|                               Name 4  "main" |                               Name 4  "main" | ||||||
|                               Name 8  "PS_OUTPUT" |                               Name 8  "PS_OUTPUT" | ||||||
| @ -938,19 +938,19 @@ gl_FragCoord origin is upper left | |||||||
|                               Name 229  "r42" |                               Name 229  "r42" | ||||||
|                               Name 243  "r43" |                               Name 243  "r43" | ||||||
|                               Name 255  "r50" |                               Name 255  "r50" | ||||||
|                               Name 259  "g_tTexbfs" |                               Name 258  "g_tTexbfs" | ||||||
|                               Name 268  "r51" |                               Name 266  "r51" | ||||||
|                               Name 277  "sizeQueryTemp" |                               Name 274  "sizeQueryTemp" | ||||||
|                               Name 280  "g_tTex1df4" |                               Name 277  "g_tTex1df4" | ||||||
|                               Name 283  "WidthI" |                               Name 280  "WidthI" | ||||||
|                               Name 286  "sizeQueryTemp" |                               Name 283  "sizeQueryTemp" | ||||||
|                               Name 292  "NumberOfLevelsU" |                               Name 289  "NumberOfLevelsU" | ||||||
|                               Name 295  "sizeQueryTemp" |                               Name 292  "sizeQueryTemp" | ||||||
|                               Name 298  "WidthU" |                               Name 295  "WidthU" | ||||||
|                               Name 300  "NumberOfLevelsI" |                               Name 297  "NumberOfLevelsI" | ||||||
|                               Name 304  "sizeQueryTemp" |                               Name 301  "sizeQueryTemp" | ||||||
|                               Name 313  "ps_output" |                               Name 310  "ps_output" | ||||||
|                               Name 322  "color" |                               Name 319  "color" | ||||||
|                               MemberDecorate 19($Global) 0 Offset 0 |                               MemberDecorate 19($Global) 0 Offset 0 | ||||||
|                               MemberDecorate 19($Global) 1 Offset 4 |                               MemberDecorate 19($Global) 1 Offset 4 | ||||||
|                               MemberDecorate 19($Global) 2 Offset 8 |                               MemberDecorate 19($Global) 2 Offset 8 | ||||||
| @ -963,9 +963,9 @@ gl_FragCoord origin is upper left | |||||||
|                               MemberDecorate 19($Global) 9 Offset 52 |                               MemberDecorate 19($Global) 9 Offset 52 | ||||||
|                               Decorate 19($Global) Block |                               Decorate 19($Global) Block | ||||||
|                               Decorate 21 DescriptorSet 0 |                               Decorate 21 DescriptorSet 0 | ||||||
|                               Decorate 259(g_tTexbfs) DescriptorSet 0 |                               Decorate 258(g_tTexbfs) DescriptorSet 0 | ||||||
|                               Decorate 280(g_tTex1df4) DescriptorSet 0 |                               Decorate 277(g_tTex1df4) DescriptorSet 0 | ||||||
|                               Decorate 322(color) Location 0 |                               Decorate 319(color) Location 0 | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeFloat 32 |                6:             TypeFloat 32 | ||||||
| @ -1012,25 +1012,24 @@ gl_FragCoord origin is upper left | |||||||
|              107:   16(ivec2) ConstantComposite 44 44 |              107:   16(ivec2) ConstantComposite 44 44 | ||||||
|              109:     14(int) Constant 4 |              109:     14(int) Constant 4 | ||||||
|              110:             TypePointer Uniform 16(ivec2) |              110:             TypePointer Uniform 16(ivec2) | ||||||
|              256:             TypeImage 6(float) Buffer sampled format:R32f |              256:             TypeImage 6(float) Buffer nonsampled format:R32f | ||||||
|              257:             TypeSampledImage 256 |              257:             TypePointer UniformConstant 256 | ||||||
|              258:             TypePointer UniformConstant 257 |   258(g_tTexbfs):    257(ptr) Variable UniformConstant | ||||||
|   259(g_tTexbfs):    258(ptr) Variable UniformConstant |              260:     14(int) Constant 8 | ||||||
|              261:     14(int) Constant 8 |              268:     14(int) Constant 9 | ||||||
|              270:     14(int) Constant 9 |              275:             TypeImage 6(float) 1D sampled format:Unknown | ||||||
|              278:             TypeImage 6(float) 1D sampled format:Unknown |              276:             TypePointer UniformConstant 275 | ||||||
|              279:             TypePointer UniformConstant 278 |  277(g_tTex1df4):    276(ptr) Variable UniformConstant | ||||||
|  280(g_tTex1df4):    279(ptr) Variable UniformConstant |              285:     15(int) Constant 6 | ||||||
|              288:     15(int) Constant 6 |              309:             TypePointer Function 8(PS_OUTPUT) | ||||||
|              312:             TypePointer Function 8(PS_OUTPUT) |              313:             TypePointer Function 7(fvec4) | ||||||
|              316:             TypePointer Function 7(fvec4) |              318:             TypePointer Output 7(fvec4) | ||||||
|              321:             TypePointer Output 7(fvec4) |       319(color):    318(ptr) Variable Output | ||||||
|       322(color):    321(ptr) Variable Output |  | ||||||
|          4(main):           2 Function None 3 |          4(main):           2 Function None 3 | ||||||
|                5:             Label |                5:             Label | ||||||
|              323:8(PS_OUTPUT) FunctionCall 10(@main() |              320:8(PS_OUTPUT) FunctionCall 10(@main() | ||||||
|              324:    7(fvec4) CompositeExtract 323 0 |              321:    7(fvec4) CompositeExtract 320 0 | ||||||
|                               Store 322(color) 324 |                               Store 319(color) 321 | ||||||
|                               Return |                               Return | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
|       10(@main():8(PS_OUTPUT) Function None 9 |       10(@main():8(PS_OUTPUT) Function None 9 | ||||||
| @ -1058,16 +1057,16 @@ gl_FragCoord origin is upper left | |||||||
|         229(r42):     73(ptr) Variable Function |         229(r42):     73(ptr) Variable Function | ||||||
|         243(r43):    101(ptr) Variable Function |         243(r43):    101(ptr) Variable Function | ||||||
|         255(r50):     12(ptr) Variable Function |         255(r50):     12(ptr) Variable Function | ||||||
|         268(r51):     12(ptr) Variable Function |         266(r51):     12(ptr) Variable Function | ||||||
| 277(sizeQueryTemp):     37(ptr) Variable Function | 274(sizeQueryTemp):     37(ptr) Variable Function | ||||||
|      283(WidthI):     48(ptr) Variable Function |      280(WidthI):     48(ptr) Variable Function | ||||||
| 286(sizeQueryTemp):     37(ptr) Variable Function | 283(sizeQueryTemp):     37(ptr) Variable Function | ||||||
| 292(NumberOfLevelsU):     37(ptr) Variable Function | 289(NumberOfLevelsU):     37(ptr) Variable Function | ||||||
| 295(sizeQueryTemp):     37(ptr) Variable Function | 292(sizeQueryTemp):     37(ptr) Variable Function | ||||||
|      298(WidthU):     37(ptr) Variable Function |      295(WidthU):     37(ptr) Variable Function | ||||||
| 300(NumberOfLevelsI):     48(ptr) Variable Function | 297(NumberOfLevelsI):     48(ptr) Variable Function | ||||||
| 304(sizeQueryTemp):     37(ptr) Variable Function | 301(sizeQueryTemp):     37(ptr) Variable Function | ||||||
|   313(ps_output):    312(ptr) Variable Function |   310(ps_output):    309(ptr) Variable Function | ||||||
|               24:     23(ptr) AccessChain 21 22 |               24:     23(ptr) AccessChain 21 22 | ||||||
|               25:     15(int) Load 24 |               25:     15(int) Load 24 | ||||||
|               28:    26(bool) INotEqual 25 27 |               28:    26(bool) INotEqual 25 27 | ||||||
| @ -1271,60 +1270,58 @@ gl_FragCoord origin is upper left | |||||||
|              253:   17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252 |              253:   17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252 | ||||||
|              254:   16(ivec2) Bitcast 253 |              254:   16(ivec2) Bitcast 253 | ||||||
|                               Store 243(r43) 254 |                               Store 243(r43) 254 | ||||||
|              260:         257 Load 259(g_tTexbfs) |              259:         256 Load 258(g_tTexbfs) | ||||||
|              262:     23(ptr) AccessChain 21 261 |              261:     23(ptr) AccessChain 21 260 | ||||||
|              263:     15(int) Load 262 |              262:     15(int) Load 261 | ||||||
|              264:     14(int) Bitcast 263 |              263:     14(int) Bitcast 262 | ||||||
|              265:         256 Image 260 |              264:    7(fvec4) ImageRead 259 263 | ||||||
|              266:    7(fvec4) ImageFetch 265 264 |              265:    6(float) CompositeExtract 264 0 | ||||||
|              267:    6(float) CompositeExtract 266 0 |                               Store 255(r50) 265 | ||||||
|                               Store 255(r50) 267 |              267:         256 Load 258(g_tTexbfs) | ||||||
|              269:         257 Load 259(g_tTexbfs) |              269:     33(ptr) AccessChain 21 268 | ||||||
|              271:     33(ptr) AccessChain 21 270 |              270:    6(float) Load 269 | ||||||
|              272:    6(float) Load 271 |              271:     14(int) ConvertFToS 270 | ||||||
|              273:     14(int) ConvertFToS 272 |              272:    7(fvec4) ImageRead 267 271 | ||||||
|              274:         256 Image 269 |              273:    6(float) CompositeExtract 272 0 | ||||||
|              275:    7(fvec4) ImageFetch 274 273 |                               Store 266(r51) 273 | ||||||
|              276:    6(float) CompositeExtract 275 0 |              278:         275 Load 277(g_tTex1df4) | ||||||
|                               Store 268(r51) 276 |              279:     15(int) ImageQuerySizeLod 278 53 | ||||||
|              281:         278 Load 280(g_tTex1df4) |                               Store 274(sizeQueryTemp) 279 | ||||||
|              282:     15(int) ImageQuerySizeLod 281 53 |              281:     15(int) Load 274(sizeQueryTemp) | ||||||
|                               Store 277(sizeQueryTemp) 282 |              282:     14(int) Bitcast 281 | ||||||
|              284:     15(int) Load 277(sizeQueryTemp) |                               Store 280(WidthI) 282 | ||||||
|              285:     14(int) Bitcast 284 |              284:         275 Load 277(g_tTex1df4) | ||||||
|                               Store 283(WidthI) 285 |              286:     15(int) ImageQuerySizeLod 284 285 | ||||||
|              287:         278 Load 280(g_tTex1df4) |                               Store 283(sizeQueryTemp) 286 | ||||||
|              289:     15(int) ImageQuerySizeLod 287 288 |              287:     15(int) Load 283(sizeQueryTemp) | ||||||
|                               Store 286(sizeQueryTemp) 289 |              288:     14(int) Bitcast 287 | ||||||
|              290:     15(int) Load 286(sizeQueryTemp) |                               Store 280(WidthI) 288 | ||||||
|              291:     14(int) Bitcast 290 |              290:         275 Load 277(g_tTex1df4) | ||||||
|                               Store 283(WidthI) 291 |              291:     15(int) ImageQueryLevels 290 | ||||||
|              293:         278 Load 280(g_tTex1df4) |                               Store 289(NumberOfLevelsU) 291 | ||||||
|              294:     15(int) ImageQueryLevels 293 |              293:         275 Load 277(g_tTex1df4) | ||||||
|                               Store 292(NumberOfLevelsU) 294 |              294:     15(int) ImageQuerySizeLod 293 285 | ||||||
|              296:         278 Load 280(g_tTex1df4) |                               Store 292(sizeQueryTemp) 294 | ||||||
|              297:     15(int) ImageQuerySizeLod 296 288 |              296:     15(int) Load 292(sizeQueryTemp) | ||||||
|                               Store 295(sizeQueryTemp) 297 |                               Store 295(WidthU) 296 | ||||||
|              299:     15(int) Load 295(sizeQueryTemp) |              298:         275 Load 277(g_tTex1df4) | ||||||
|                               Store 298(WidthU) 299 |              299:     15(int) ImageQueryLevels 298 | ||||||
|              301:         278 Load 280(g_tTex1df4) |              300:     14(int) Bitcast 299 | ||||||
|              302:     15(int) ImageQueryLevels 301 |                               Store 297(NumberOfLevelsI) 300 | ||||||
|              303:     14(int) Bitcast 302 |              302:         275 Load 277(g_tTex1df4) | ||||||
|                               Store 300(NumberOfLevelsI) 303 |              303:     15(int) ImageQuerySizeLod 302 285 | ||||||
|              305:         278 Load 280(g_tTex1df4) |                               Store 301(sizeQueryTemp) 303 | ||||||
|              306:     15(int) ImageQuerySizeLod 305 288 |              304:     15(int) Load 301(sizeQueryTemp) | ||||||
|                               Store 304(sizeQueryTemp) 306 |              305:     14(int) Bitcast 304 | ||||||
|              307:     15(int) Load 304(sizeQueryTemp) |                               Store 280(WidthI) 305 | ||||||
|  |              306:         275 Load 277(g_tTex1df4) | ||||||
|  |              307:     15(int) ImageQueryLevels 306 | ||||||
|              308:     14(int) Bitcast 307 |              308:     14(int) Bitcast 307 | ||||||
|                               Store 283(WidthI) 308 |                               Store 297(NumberOfLevelsI) 308 | ||||||
|              309:         278 Load 280(g_tTex1df4) |              311:    6(float) Load 13(r00) | ||||||
|              310:     15(int) ImageQueryLevels 309 |              312:    7(fvec4) CompositeConstruct 311 311 311 311 | ||||||
|              311:     14(int) Bitcast 310 |              314:    313(ptr) AccessChain 310(ps_output) 53 | ||||||
|                               Store 300(NumberOfLevelsI) 311 |                               Store 314 312 | ||||||
|              314:    6(float) Load 13(r00) |              315:8(PS_OUTPUT) Load 310(ps_output) | ||||||
|              315:    7(fvec4) CompositeConstruct 314 314 314 314 |                               ReturnValue 315 | ||||||
|              317:    316(ptr) AccessChain 313(ps_output) 53 |  | ||||||
|                               Store 317 315 |  | ||||||
|              318:8(PS_OUTPUT) Load 313(ps_output) |  | ||||||
|                               ReturnValue 318 |  | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
|  | |||||||
| @ -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 samplerBuffer) | 0:?     'g_tTexbfs' (layout( r32f) 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,14 +198,14 @@ 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 samplerBuffer) | 0:?     'g_tTexbfs' (layout( r32f) 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}) | ||||||
| 
 | 
 | ||||||
| // Module Version 10000 | // Module Version 10000 | ||||||
| // Generated by (magic number): 80001 | // Generated by (magic number): 80001 | ||||||
| // Id's are bound by 81 | // Id's are bound by 80 | ||||||
| 
 | 
 | ||||||
|                               Capability Shader |                               Capability Shader | ||||||
|                               Capability Sampled1D |                               Capability Sampled1D | ||||||
| @ -242,7 +242,7 @@ gl_FragCoord origin is upper left | |||||||
|                               Name 57  "sizeQueryTemp" |                               Name 57  "sizeQueryTemp" | ||||||
|                               Name 66  "ps_output" |                               Name 66  "ps_output" | ||||||
|                               Name 74  "color" |                               Name 74  "color" | ||||||
|                               Name 80  "g_tTexbfs" |                               Name 79  "g_tTexbfs" | ||||||
|                               MemberDecorate 17($Global) 0 Offset 0 |                               MemberDecorate 17($Global) 0 Offset 0 | ||||||
|                               MemberDecorate 17($Global) 1 Offset 4 |                               MemberDecorate 17($Global) 1 Offset 4 | ||||||
|                               MemberDecorate 17($Global) 2 Offset 8 |                               MemberDecorate 17($Global) 2 Offset 8 | ||||||
| @ -257,7 +257,7 @@ gl_FragCoord origin is upper left | |||||||
|                               Decorate 19 DescriptorSet 0 |                               Decorate 19 DescriptorSet 0 | ||||||
|                               Decorate 31(g_tTex1df4) DescriptorSet 0 |                               Decorate 31(g_tTex1df4) DescriptorSet 0 | ||||||
|                               Decorate 74(color) Location 0 |                               Decorate 74(color) Location 0 | ||||||
|                               Decorate 80(g_tTexbfs) DescriptorSet 0 |                               Decorate 79(g_tTexbfs) DescriptorSet 0 | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeFloat 32 |                6:             TypeFloat 32 | ||||||
| @ -288,10 +288,9 @@ gl_FragCoord origin is upper left | |||||||
|               68:             TypePointer Function 7(fvec4) |               68:             TypePointer Function 7(fvec4) | ||||||
|               73:             TypePointer Output 7(fvec4) |               73:             TypePointer Output 7(fvec4) | ||||||
|        74(color):     73(ptr) Variable Output |        74(color):     73(ptr) Variable Output | ||||||
|               77:             TypeImage 6(float) Buffer sampled format:R32f |               77:             TypeImage 6(float) Buffer nonsampled format:R32f | ||||||
|               78:             TypeSampledImage 77 |               78:             TypePointer UniformConstant 77 | ||||||
|               79:             TypePointer UniformConstant 78 |    79(g_tTexbfs):     78(ptr) Variable UniformConstant | ||||||
|    80(g_tTexbfs):     79(ptr) Variable UniformConstant |  | ||||||
|          4(main):           2 Function None 3 |          4(main):           2 Function None 3 | ||||||
|                5:             Label |                5:             Label | ||||||
|               75:8(PS_OUTPUT) FunctionCall 10(@main() |               75:8(PS_OUTPUT) FunctionCall 10(@main() | ||||||
|  | |||||||
| @ -8,8 +8,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:28      Sequence | 0:28      Sequence | ||||||
| 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          textureFetch ( temp 4-component vector of float) | 0:28          imageLoad ( temp 4-component vector of float) | ||||||
| 0:28            'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer) | 0:28            'g_tTexbf4' (layout( rgba32f) 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: | ||||||
| @ -17,8 +17,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:29      Sequence | 0:29      Sequence | ||||||
| 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          textureFetch ( temp 4-component vector of int) | 0:29          imageLoad ( temp 4-component vector of int) | ||||||
| 0:29            'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer) | 0:29            'g_tTexbi4' (layout( rgba32i) 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: | ||||||
| @ -26,8 +26,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:30      Sequence | 0:30      Sequence | ||||||
| 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          textureFetch ( temp 4-component vector of uint) | 0:30          imageLoad ( temp 4-component vector of uint) | ||||||
| 0:30            'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer) | 0:30            'g_tTexbu4' (layout( rgba32ui) 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 samplerBuffer) | 0:?     'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform imageBuffer) | ||||||
| 0:?     'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer) | 0:?     'g_tTexbf4' (layout( rgba32f) uniform imageBuffer) | ||||||
| 0:?     'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer) | 0:?     'g_tTexbi4' (layout( rgba32i) uniform iimageBuffer) | ||||||
| 0:?     'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer) | 0:?     'g_tTexbu4' (layout( rgba32ui) 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}) | ||||||
| @ -92,8 +92,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:28      Sequence | 0:28      Sequence | ||||||
| 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          textureFetch ( temp 4-component vector of float) | 0:28          imageLoad ( temp 4-component vector of float) | ||||||
| 0:28            'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer) | 0:28            'g_tTexbf4' (layout( rgba32f) 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: | ||||||
| @ -101,8 +101,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:29      Sequence | 0:29      Sequence | ||||||
| 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          textureFetch ( temp 4-component vector of int) | 0:29          imageLoad ( temp 4-component vector of int) | ||||||
| 0:29            'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer) | 0:29            'g_tTexbi4' (layout( rgba32i) 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: | ||||||
| @ -110,8 +110,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:30      Sequence | 0:30      Sequence | ||||||
| 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          textureFetch ( temp 4-component vector of uint) | 0:30          imageLoad ( temp 4-component vector of uint) | ||||||
| 0:30            'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer) | 0:30            'g_tTexbu4' (layout( rgba32ui) 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,23 +155,23 @@ 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 samplerBuffer) | 0:?     'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform imageBuffer) | ||||||
| 0:?     'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer) | 0:?     'g_tTexbf4' (layout( rgba32f) uniform imageBuffer) | ||||||
| 0:?     'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer) | 0:?     'g_tTexbi4' (layout( rgba32i) uniform iimageBuffer) | ||||||
| 0:?     'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer) | 0:?     'g_tTexbu4' (layout( rgba32ui) 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}) | ||||||
| 
 | 
 | ||||||
| // Module Version 10000 | // Module Version 10000 | ||||||
| // Generated by (magic number): 80001 | // Generated by (magic number): 80001 | ||||||
| // Id's are bound by 78 | // Id's are bound by 72 | ||||||
| 
 | 
 | ||||||
|                               Capability Shader |                               Capability Shader | ||||||
|                               Capability SampledBuffer |                               Capability SampledBuffer | ||||||
|                1:             ExtInstImport  "GLSL.std.450" |                1:             ExtInstImport  "GLSL.std.450" | ||||||
|                               MemoryModel Logical GLSL450 |                               MemoryModel Logical GLSL450 | ||||||
|                               EntryPoint Fragment 4  "main" 70 74 |                               EntryPoint Fragment 4  "main" 64 68 | ||||||
|                               ExecutionMode 4 OriginUpperLeft |                               ExecutionMode 4 OriginUpperLeft | ||||||
|                               Name 4  "main" |                               Name 4  "main" | ||||||
|                               Name 8  "PS_OUTPUT" |                               Name 8  "PS_OUTPUT" | ||||||
| @ -179,43 +179,43 @@ gl_FragCoord origin is upper left | |||||||
|                               MemberName 8(PS_OUTPUT) 1  "Depth" |                               MemberName 8(PS_OUTPUT) 1  "Depth" | ||||||
|                               Name 10  "@main(" |                               Name 10  "@main(" | ||||||
|                               Name 13  "r00" |                               Name 13  "r00" | ||||||
|                               Name 17  "g_tTexbf4" |                               Name 16  "g_tTexbf4" | ||||||
|                               Name 23  "$Global" |                               Name 22  "$Global" | ||||||
|                               MemberName 23($Global) 0  "c1" |                               MemberName 22($Global) 0  "c1" | ||||||
|                               MemberName 23($Global) 1  "c2" |                               MemberName 22($Global) 1  "c2" | ||||||
|                               MemberName 23($Global) 2  "c3" |                               MemberName 22($Global) 2  "c3" | ||||||
|                               MemberName 23($Global) 3  "c4" |                               MemberName 22($Global) 3  "c4" | ||||||
|                               MemberName 23($Global) 4  "o1" |                               MemberName 22($Global) 4  "o1" | ||||||
|                               MemberName 23($Global) 5  "o2" |                               MemberName 22($Global) 5  "o2" | ||||||
|                               MemberName 23($Global) 6  "o3" |                               MemberName 22($Global) 6  "o3" | ||||||
|                               MemberName 23($Global) 7  "o4" |                               MemberName 22($Global) 7  "o4" | ||||||
|                               Name 25  "" |                               Name 24  "" | ||||||
|                               Name 33  "r01" |                               Name 31  "r01" | ||||||
|                               Name 37  "g_tTexbi4" |                               Name 34  "g_tTexbi4" | ||||||
|                               Name 46  "r02" |                               Name 42  "r02" | ||||||
|                               Name 50  "g_tTexbu4" |                               Name 45  "g_tTexbu4" | ||||||
|                               Name 57  "psout" |                               Name 51  "psout" | ||||||
|                               Name 67  "flattenTemp" |                               Name 61  "flattenTemp" | ||||||
|                               Name 70  "Color" |                               Name 64  "Color" | ||||||
|                               Name 74  "Depth" |                               Name 68  "Depth" | ||||||
|                               Name 77  "g_tTexbf4_test" |                               Name 71  "g_tTexbf4_test" | ||||||
|                               Decorate 17(g_tTexbf4) DescriptorSet 0 |                               Decorate 16(g_tTexbf4) DescriptorSet 0 | ||||||
|                               MemberDecorate 23($Global) 0 Offset 0 |                               MemberDecorate 22($Global) 0 Offset 0 | ||||||
|                               MemberDecorate 23($Global) 1 Offset 8 |                               MemberDecorate 22($Global) 1 Offset 8 | ||||||
|                               MemberDecorate 23($Global) 2 Offset 16 |                               MemberDecorate 22($Global) 2 Offset 16 | ||||||
|                               MemberDecorate 23($Global) 3 Offset 32 |                               MemberDecorate 22($Global) 3 Offset 32 | ||||||
|                               MemberDecorate 23($Global) 4 Offset 48 |                               MemberDecorate 22($Global) 4 Offset 48 | ||||||
|                               MemberDecorate 23($Global) 5 Offset 56 |                               MemberDecorate 22($Global) 5 Offset 56 | ||||||
|                               MemberDecorate 23($Global) 6 Offset 64 |                               MemberDecorate 22($Global) 6 Offset 64 | ||||||
|                               MemberDecorate 23($Global) 7 Offset 80 |                               MemberDecorate 22($Global) 7 Offset 80 | ||||||
|                               Decorate 23($Global) Block |                               Decorate 22($Global) Block | ||||||
|                               Decorate 25 DescriptorSet 0 |                               Decorate 24 DescriptorSet 0 | ||||||
|                               Decorate 37(g_tTexbi4) DescriptorSet 0 |                               Decorate 34(g_tTexbi4) DescriptorSet 0 | ||||||
|                               Decorate 50(g_tTexbu4) DescriptorSet 0 |                               Decorate 45(g_tTexbu4) DescriptorSet 0 | ||||||
|                               Decorate 70(Color) Location 0 |                               Decorate 64(Color) Location 0 | ||||||
|                               Decorate 74(Depth) BuiltIn FragDepth |                               Decorate 68(Depth) BuiltIn FragDepth | ||||||
|                               Decorate 77(g_tTexbf4_test) DescriptorSet 0 |                               Decorate 71(g_tTexbf4_test) DescriptorSet 0 | ||||||
|                               Decorate 77(g_tTexbf4_test) Binding 0 |                               Decorate 71(g_tTexbf4_test) Binding 0 | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeFloat 32 |                6:             TypeFloat 32 | ||||||
| @ -223,82 +223,76 @@ gl_FragCoord origin is upper left | |||||||
|     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float) |     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float) | ||||||
|                9:             TypeFunction 8(PS_OUTPUT) |                9:             TypeFunction 8(PS_OUTPUT) | ||||||
|               12:             TypePointer Function 7(fvec4) |               12:             TypePointer Function 7(fvec4) | ||||||
|               14:             TypeImage 6(float) Buffer sampled format:Rgba32f |               14:             TypeImage 6(float) Buffer nonsampled format:Rgba32f | ||||||
|               15:             TypeSampledImage 14 |               15:             TypePointer UniformConstant 14 | ||||||
|               16:             TypePointer UniformConstant 15 |    16(g_tTexbf4):     15(ptr) Variable UniformConstant | ||||||
|    17(g_tTexbf4):     16(ptr) Variable UniformConstant |               18:             TypeInt 32 1 | ||||||
|               19:             TypeInt 32 1 |               19:             TypeVector 18(int) 2 | ||||||
|               20:             TypeVector 19(int) 2 |               20:             TypeVector 18(int) 3 | ||||||
|               21:             TypeVector 19(int) 3 |               21:             TypeVector 18(int) 4 | ||||||
|               22:             TypeVector 19(int) 4 |      22($Global):             TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4) | ||||||
|      23($Global):             TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4) |               23:             TypePointer Uniform 22($Global) | ||||||
|               24:             TypePointer Uniform 23($Global) |               24:     23(ptr) Variable Uniform | ||||||
|               25:     24(ptr) Variable Uniform |               25:     18(int) Constant 0 | ||||||
|               26:     19(int) Constant 0 |               26:             TypePointer Uniform 18(int) | ||||||
|               27:             TypePointer Uniform 19(int) |               30:             TypePointer Function 21(ivec4) | ||||||
|               32:             TypePointer Function 22(ivec4) |               32:             TypeImage 18(int) Buffer nonsampled format:Rgba32i | ||||||
|               34:             TypeImage 19(int) Buffer sampled format:Rgba32i |               33:             TypePointer UniformConstant 32 | ||||||
|               35:             TypeSampledImage 34 |    34(g_tTexbi4):     33(ptr) Variable UniformConstant | ||||||
|               36:             TypePointer UniformConstant 35 |               39:             TypeInt 32 0 | ||||||
|    37(g_tTexbi4):     36(ptr) Variable UniformConstant |               40:             TypeVector 39(int) 4 | ||||||
|               43:             TypeInt 32 0 |               41:             TypePointer Function 40(ivec4) | ||||||
|               44:             TypeVector 43(int) 4 |               43:             TypeImage 39(int) Buffer nonsampled format:Rgba32ui | ||||||
|               45:             TypePointer Function 44(ivec4) |               44:             TypePointer UniformConstant 43 | ||||||
|               47:             TypeImage 43(int) Buffer sampled format:Rgba32ui |    45(g_tTexbu4):     44(ptr) Variable UniformConstant | ||||||
|               48:             TypeSampledImage 47 |               50:             TypePointer Function 8(PS_OUTPUT) | ||||||
|               49:             TypePointer UniformConstant 48 |               52:    6(float) Constant 1065353216 | ||||||
|    50(g_tTexbu4):     49(ptr) Variable UniformConstant |               53:    7(fvec4) ConstantComposite 52 52 52 52 | ||||||
|               56:             TypePointer Function 8(PS_OUTPUT) |               55:     18(int) Constant 1 | ||||||
|               58:    6(float) Constant 1065353216 |               56:             TypePointer Function 6(float) | ||||||
|               59:    7(fvec4) ConstantComposite 58 58 58 58 |               63:             TypePointer Output 7(fvec4) | ||||||
|               61:     19(int) Constant 1 |        64(Color):     63(ptr) Variable Output | ||||||
|               62:             TypePointer Function 6(float) |               67:             TypePointer Output 6(float) | ||||||
|               69:             TypePointer Output 7(fvec4) |        68(Depth):     67(ptr) Variable Output | ||||||
|        70(Color):     69(ptr) Variable Output | 71(g_tTexbf4_test):     15(ptr) Variable UniformConstant | ||||||
|               73:             TypePointer Output 6(float) |  | ||||||
|        74(Depth):     73(ptr) Variable Output |  | ||||||
| 77(g_tTexbf4_test):     16(ptr) Variable UniformConstant |  | ||||||
|          4(main):           2 Function None 3 |          4(main):           2 Function None 3 | ||||||
|                5:             Label |                5:             Label | ||||||
|  67(flattenTemp):     56(ptr) Variable Function |  61(flattenTemp):     50(ptr) Variable Function | ||||||
|               68:8(PS_OUTPUT) FunctionCall 10(@main() |               62:8(PS_OUTPUT) FunctionCall 10(@main() | ||||||
|                               Store 67(flattenTemp) 68 |                               Store 61(flattenTemp) 62 | ||||||
|               71:     12(ptr) AccessChain 67(flattenTemp) 26 |               65:     12(ptr) AccessChain 61(flattenTemp) 25 | ||||||
|               72:    7(fvec4) Load 71 |               66:    7(fvec4) Load 65 | ||||||
|                               Store 70(Color) 72 |                               Store 64(Color) 66 | ||||||
|               75:     62(ptr) AccessChain 67(flattenTemp) 61 |               69:     56(ptr) AccessChain 61(flattenTemp) 55 | ||||||
|               76:    6(float) Load 75 |               70:    6(float) Load 69 | ||||||
|                               Store 74(Depth) 76 |                               Store 68(Depth) 70 | ||||||
|                               Return |                               Return | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
|       10(@main():8(PS_OUTPUT) Function None 9 |       10(@main():8(PS_OUTPUT) Function None 9 | ||||||
|               11:             Label |               11:             Label | ||||||
|          13(r00):     12(ptr) Variable Function |          13(r00):     12(ptr) Variable Function | ||||||
|          33(r01):     32(ptr) Variable Function |          31(r01):     30(ptr) Variable Function | ||||||
|          46(r02):     45(ptr) Variable Function |          42(r02):     41(ptr) Variable Function | ||||||
|        57(psout):     56(ptr) Variable Function |        51(psout):     50(ptr) Variable Function | ||||||
|               18:          15 Load 17(g_tTexbf4) |               17:          14 Load 16(g_tTexbf4) | ||||||
|               28:     27(ptr) AccessChain 25 26 |               27:     26(ptr) AccessChain 24 25 | ||||||
|               29:     19(int) Load 28 |               28:     18(int) Load 27 | ||||||
|               30:          14 Image 18 |               29:    7(fvec4) ImageRead 17 28 | ||||||
|               31:    7(fvec4) ImageFetch 30 29 |                               Store 13(r00) 29 | ||||||
|                               Store 13(r00) 31 |               35:          32 Load 34(g_tTexbi4) | ||||||
|               38:          35 Load 37(g_tTexbi4) |               36:     26(ptr) AccessChain 24 25 | ||||||
|               39:     27(ptr) AccessChain 25 26 |               37:     18(int) Load 36 | ||||||
|               40:     19(int) Load 39 |               38:   21(ivec4) ImageRead 35 37 | ||||||
|               41:          34 Image 38 |                               Store 31(r01) 38 | ||||||
|               42:   22(ivec4) ImageFetch 41 40 |               46:          43 Load 45(g_tTexbu4) | ||||||
|                               Store 33(r01) 42 |               47:     26(ptr) AccessChain 24 25 | ||||||
|               51:          48 Load 50(g_tTexbu4) |               48:     18(int) Load 47 | ||||||
|               52:     27(ptr) AccessChain 25 26 |               49:   40(ivec4) ImageRead 46 48 | ||||||
|               53:     19(int) Load 52 |                               Store 42(r02) 49 | ||||||
|               54:          47 Image 51 |               54:     12(ptr) AccessChain 51(psout) 25 | ||||||
|               55:   44(ivec4) ImageFetch 54 53 |                               Store 54 53 | ||||||
|                               Store 46(r02) 55 |               57:     56(ptr) AccessChain 51(psout) 55 | ||||||
|               60:     12(ptr) AccessChain 57(psout) 26 |                               Store 57 52 | ||||||
|                               Store 60 59 |               58:8(PS_OUTPUT) Load 51(psout) | ||||||
|               63:     62(ptr) AccessChain 57(psout) 61 |                               ReturnValue 58 | ||||||
|                               Store 63 58 |  | ||||||
|               64:8(PS_OUTPUT) Load 57(psout) |  | ||||||
|                               ReturnValue 64 |  | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
|  | |||||||
| @ -9,8 +9,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:28        move second child to first child ( temp float) | 0:28        move second child to first child ( temp float) | ||||||
| 0:28          'r00' ( temp float) | 0:28          'r00' ( temp float) | ||||||
| 0:28          Construct float ( temp float) | 0:28          Construct float ( temp float) | ||||||
| 0:?             textureFetch ( temp 4-component vector of float) | 0:?             imageLoad ( temp 4-component vector of float) | ||||||
| 0:28              'g_tTexbfs' (layout( r32f) uniform samplerBuffer) | 0:28              'g_tTexbfs' (layout( r32f) 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: | ||||||
| @ -19,8 +19,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:29        move second child to first child ( temp int) | 0:29        move second child to first child ( temp int) | ||||||
| 0:29          'r01' ( temp int) | 0:29          'r01' ( temp int) | ||||||
| 0:29          Construct int ( temp int) | 0:29          Construct int ( temp int) | ||||||
| 0:?             textureFetch ( temp 4-component vector of int) | 0:?             imageLoad ( temp 4-component vector of int) | ||||||
| 0:29              'g_tTexbis' (layout( r32i) uniform isamplerBuffer) | 0:29              'g_tTexbis' (layout( r32i) 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: | ||||||
| @ -29,8 +29,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:30        move second child to first child ( temp uint) | 0:30        move second child to first child ( temp uint) | ||||||
| 0:30          'r02' ( temp uint) | 0:30          'r02' ( temp uint) | ||||||
| 0:30          Construct uint ( temp uint) | 0:30          Construct uint ( temp uint) | ||||||
| 0:?             textureFetch ( temp 4-component vector of uint) | 0:?             imageLoad ( temp 4-component vector of uint) | ||||||
| 0:30              'g_tTexbus' (layout( r32ui) uniform usamplerBuffer) | 0:30              'g_tTexbus' (layout( r32ui) 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 samplerBuffer) | 0:?     'g_tTexbfs_test' (layout( binding=0 r32f) uniform imageBuffer) | ||||||
| 0:?     'g_tTexbfs' (layout( r32f) uniform samplerBuffer) | 0:?     'g_tTexbfs' (layout( r32f) uniform imageBuffer) | ||||||
| 0:?     'g_tTexbis' (layout( r32i) uniform isamplerBuffer) | 0:?     'g_tTexbis' (layout( r32i) uniform iimageBuffer) | ||||||
| 0:?     'g_tTexbus' (layout( r32ui) uniform usamplerBuffer) | 0:?     'g_tTexbus' (layout( r32ui) 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}) | ||||||
| @ -96,8 +96,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:28        move second child to first child ( temp float) | 0:28        move second child to first child ( temp float) | ||||||
| 0:28          'r00' ( temp float) | 0:28          'r00' ( temp float) | ||||||
| 0:28          Construct float ( temp float) | 0:28          Construct float ( temp float) | ||||||
| 0:?             textureFetch ( temp 4-component vector of float) | 0:?             imageLoad ( temp 4-component vector of float) | ||||||
| 0:28              'g_tTexbfs' (layout( r32f) uniform samplerBuffer) | 0:28              'g_tTexbfs' (layout( r32f) 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: | ||||||
| @ -106,8 +106,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:29        move second child to first child ( temp int) | 0:29        move second child to first child ( temp int) | ||||||
| 0:29          'r01' ( temp int) | 0:29          'r01' ( temp int) | ||||||
| 0:29          Construct int ( temp int) | 0:29          Construct int ( temp int) | ||||||
| 0:?             textureFetch ( temp 4-component vector of int) | 0:?             imageLoad ( temp 4-component vector of int) | ||||||
| 0:29              'g_tTexbis' (layout( r32i) uniform isamplerBuffer) | 0:29              'g_tTexbis' (layout( r32i) 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: | ||||||
| @ -116,8 +116,8 @@ gl_FragCoord origin is upper left | |||||||
| 0:30        move second child to first child ( temp uint) | 0:30        move second child to first child ( temp uint) | ||||||
| 0:30          'r02' ( temp uint) | 0:30          'r02' ( temp uint) | ||||||
| 0:30          Construct uint ( temp uint) | 0:30          Construct uint ( temp uint) | ||||||
| 0:?             textureFetch ( temp 4-component vector of uint) | 0:?             imageLoad ( temp 4-component vector of uint) | ||||||
| 0:30              'g_tTexbus' (layout( r32ui) uniform usamplerBuffer) | 0:30              'g_tTexbus' (layout( r32ui) 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,23 +161,23 @@ 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 samplerBuffer) | 0:?     'g_tTexbfs_test' (layout( binding=0 r32f) uniform imageBuffer) | ||||||
| 0:?     'g_tTexbfs' (layout( r32f) uniform samplerBuffer) | 0:?     'g_tTexbfs' (layout( r32f) uniform imageBuffer) | ||||||
| 0:?     'g_tTexbis' (layout( r32i) uniform isamplerBuffer) | 0:?     'g_tTexbis' (layout( r32i) uniform iimageBuffer) | ||||||
| 0:?     'g_tTexbus' (layout( r32ui) uniform usamplerBuffer) | 0:?     'g_tTexbus' (layout( r32ui) 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}) | ||||||
| 
 | 
 | ||||||
| // Module Version 10000 | // Module Version 10000 | ||||||
| // Generated by (magic number): 80001 | // Generated by (magic number): 80001 | ||||||
| // Id's are bound by 81 | // Id's are bound by 75 | ||||||
| 
 | 
 | ||||||
|                               Capability Shader |                               Capability Shader | ||||||
|                               Capability SampledBuffer |                               Capability SampledBuffer | ||||||
|                1:             ExtInstImport  "GLSL.std.450" |                1:             ExtInstImport  "GLSL.std.450" | ||||||
|                               MemoryModel Logical GLSL450 |                               MemoryModel Logical GLSL450 | ||||||
|                               EntryPoint Fragment 4  "main" 73 77 |                               EntryPoint Fragment 4  "main" 67 71 | ||||||
|                               ExecutionMode 4 OriginUpperLeft |                               ExecutionMode 4 OriginUpperLeft | ||||||
|                               Name 4  "main" |                               Name 4  "main" | ||||||
|                               Name 8  "PS_OUTPUT" |                               Name 8  "PS_OUTPUT" | ||||||
| @ -185,43 +185,43 @@ gl_FragCoord origin is upper left | |||||||
|                               MemberName 8(PS_OUTPUT) 1  "Depth" |                               MemberName 8(PS_OUTPUT) 1  "Depth" | ||||||
|                               Name 10  "@main(" |                               Name 10  "@main(" | ||||||
|                               Name 13  "r00" |                               Name 13  "r00" | ||||||
|                               Name 17  "g_tTexbfs" |                               Name 16  "g_tTexbfs" | ||||||
|                               Name 23  "$Global" |                               Name 22  "$Global" | ||||||
|                               MemberName 23($Global) 0  "c1" |                               MemberName 22($Global) 0  "c1" | ||||||
|                               MemberName 23($Global) 1  "c2" |                               MemberName 22($Global) 1  "c2" | ||||||
|                               MemberName 23($Global) 2  "c3" |                               MemberName 22($Global) 2  "c3" | ||||||
|                               MemberName 23($Global) 3  "c4" |                               MemberName 22($Global) 3  "c4" | ||||||
|                               MemberName 23($Global) 4  "o1" |                               MemberName 22($Global) 4  "o1" | ||||||
|                               MemberName 23($Global) 5  "o2" |                               MemberName 22($Global) 5  "o2" | ||||||
|                               MemberName 23($Global) 6  "o3" |                               MemberName 22($Global) 6  "o3" | ||||||
|                               MemberName 23($Global) 7  "o4" |                               MemberName 22($Global) 7  "o4" | ||||||
|                               Name 25  "" |                               Name 24  "" | ||||||
|                               Name 34  "r01" |                               Name 32  "r01" | ||||||
|                               Name 38  "g_tTexbis" |                               Name 35  "g_tTexbis" | ||||||
|                               Name 47  "r02" |                               Name 43  "r02" | ||||||
|                               Name 51  "g_tTexbus" |                               Name 46  "g_tTexbus" | ||||||
|                               Name 60  "psout" |                               Name 54  "psout" | ||||||
|                               Name 70  "flattenTemp" |                               Name 64  "flattenTemp" | ||||||
|                               Name 73  "Color" |                               Name 67  "Color" | ||||||
|                               Name 77  "Depth" |                               Name 71  "Depth" | ||||||
|                               Name 80  "g_tTexbfs_test" |                               Name 74  "g_tTexbfs_test" | ||||||
|                               Decorate 17(g_tTexbfs) DescriptorSet 0 |                               Decorate 16(g_tTexbfs) DescriptorSet 0 | ||||||
|                               MemberDecorate 23($Global) 0 Offset 0 |                               MemberDecorate 22($Global) 0 Offset 0 | ||||||
|                               MemberDecorate 23($Global) 1 Offset 8 |                               MemberDecorate 22($Global) 1 Offset 8 | ||||||
|                               MemberDecorate 23($Global) 2 Offset 16 |                               MemberDecorate 22($Global) 2 Offset 16 | ||||||
|                               MemberDecorate 23($Global) 3 Offset 32 |                               MemberDecorate 22($Global) 3 Offset 32 | ||||||
|                               MemberDecorate 23($Global) 4 Offset 48 |                               MemberDecorate 22($Global) 4 Offset 48 | ||||||
|                               MemberDecorate 23($Global) 5 Offset 56 |                               MemberDecorate 22($Global) 5 Offset 56 | ||||||
|                               MemberDecorate 23($Global) 6 Offset 64 |                               MemberDecorate 22($Global) 6 Offset 64 | ||||||
|                               MemberDecorate 23($Global) 7 Offset 80 |                               MemberDecorate 22($Global) 7 Offset 80 | ||||||
|                               Decorate 23($Global) Block |                               Decorate 22($Global) Block | ||||||
|                               Decorate 25 DescriptorSet 0 |                               Decorate 24 DescriptorSet 0 | ||||||
|                               Decorate 38(g_tTexbis) DescriptorSet 0 |                               Decorate 35(g_tTexbis) DescriptorSet 0 | ||||||
|                               Decorate 51(g_tTexbus) DescriptorSet 0 |                               Decorate 46(g_tTexbus) DescriptorSet 0 | ||||||
|                               Decorate 73(Color) Location 0 |                               Decorate 67(Color) Location 0 | ||||||
|                               Decorate 77(Depth) BuiltIn FragDepth |                               Decorate 71(Depth) BuiltIn FragDepth | ||||||
|                               Decorate 80(g_tTexbfs_test) DescriptorSet 0 |                               Decorate 74(g_tTexbfs_test) DescriptorSet 0 | ||||||
|                               Decorate 80(g_tTexbfs_test) Binding 0 |                               Decorate 74(g_tTexbfs_test) Binding 0 | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeFloat 32 |                6:             TypeFloat 32 | ||||||
| @ -229,85 +229,79 @@ gl_FragCoord origin is upper left | |||||||
|     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float) |     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float) | ||||||
|                9:             TypeFunction 8(PS_OUTPUT) |                9:             TypeFunction 8(PS_OUTPUT) | ||||||
|               12:             TypePointer Function 6(float) |               12:             TypePointer Function 6(float) | ||||||
|               14:             TypeImage 6(float) Buffer sampled format:R32f |               14:             TypeImage 6(float) Buffer nonsampled format:R32f | ||||||
|               15:             TypeSampledImage 14 |               15:             TypePointer UniformConstant 14 | ||||||
|               16:             TypePointer UniformConstant 15 |    16(g_tTexbfs):     15(ptr) Variable UniformConstant | ||||||
|    17(g_tTexbfs):     16(ptr) Variable UniformConstant |               18:             TypeInt 32 1 | ||||||
|               19:             TypeInt 32 1 |               19:             TypeVector 18(int) 2 | ||||||
|               20:             TypeVector 19(int) 2 |               20:             TypeVector 18(int) 3 | ||||||
|               21:             TypeVector 19(int) 3 |               21:             TypeVector 18(int) 4 | ||||||
|               22:             TypeVector 19(int) 4 |      22($Global):             TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4) | ||||||
|      23($Global):             TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4) |               23:             TypePointer Uniform 22($Global) | ||||||
|               24:             TypePointer Uniform 23($Global) |               24:     23(ptr) Variable Uniform | ||||||
|               25:     24(ptr) Variable Uniform |               25:     18(int) Constant 0 | ||||||
|               26:     19(int) Constant 0 |               26:             TypePointer Uniform 18(int) | ||||||
|               27:             TypePointer Uniform 19(int) |               31:             TypePointer Function 18(int) | ||||||
|               33:             TypePointer Function 19(int) |               33:             TypeImage 18(int) Buffer nonsampled format:R32i | ||||||
|               35:             TypeImage 19(int) Buffer sampled format:R32i |               34:             TypePointer UniformConstant 33 | ||||||
|               36:             TypeSampledImage 35 |    35(g_tTexbis):     34(ptr) Variable UniformConstant | ||||||
|               37:             TypePointer UniformConstant 36 |               41:             TypeInt 32 0 | ||||||
|    38(g_tTexbis):     37(ptr) Variable UniformConstant |               42:             TypePointer Function 41(int) | ||||||
|               45:             TypeInt 32 0 |               44:             TypeImage 41(int) Buffer nonsampled format:R32ui | ||||||
|               46:             TypePointer Function 45(int) |               45:             TypePointer UniformConstant 44 | ||||||
|               48:             TypeImage 45(int) Buffer sampled format:R32ui |    46(g_tTexbus):     45(ptr) Variable UniformConstant | ||||||
|               49:             TypeSampledImage 48 |               50:             TypeVector 41(int) 4 | ||||||
|               50:             TypePointer UniformConstant 49 |               53:             TypePointer Function 8(PS_OUTPUT) | ||||||
|    51(g_tTexbus):     50(ptr) Variable UniformConstant |               55:    6(float) Constant 1065353216 | ||||||
|               56:             TypeVector 45(int) 4 |               56:    7(fvec4) ConstantComposite 55 55 55 55 | ||||||
|               59:             TypePointer Function 8(PS_OUTPUT) |               57:             TypePointer Function 7(fvec4) | ||||||
|               61:    6(float) Constant 1065353216 |               59:     18(int) Constant 1 | ||||||
|               62:    7(fvec4) ConstantComposite 61 61 61 61 |               66:             TypePointer Output 7(fvec4) | ||||||
|               63:             TypePointer Function 7(fvec4) |        67(Color):     66(ptr) Variable Output | ||||||
|               65:     19(int) Constant 1 |               70:             TypePointer Output 6(float) | ||||||
|               72:             TypePointer Output 7(fvec4) |        71(Depth):     70(ptr) Variable Output | ||||||
|        73(Color):     72(ptr) Variable Output | 74(g_tTexbfs_test):     15(ptr) Variable UniformConstant | ||||||
|               76:             TypePointer Output 6(float) |  | ||||||
|        77(Depth):     76(ptr) Variable Output |  | ||||||
| 80(g_tTexbfs_test):     16(ptr) Variable UniformConstant |  | ||||||
|          4(main):           2 Function None 3 |          4(main):           2 Function None 3 | ||||||
|                5:             Label |                5:             Label | ||||||
|  70(flattenTemp):     59(ptr) Variable Function |  64(flattenTemp):     53(ptr) Variable Function | ||||||
|               71:8(PS_OUTPUT) FunctionCall 10(@main() |               65:8(PS_OUTPUT) FunctionCall 10(@main() | ||||||
|                               Store 70(flattenTemp) 71 |                               Store 64(flattenTemp) 65 | ||||||
|               74:     63(ptr) AccessChain 70(flattenTemp) 26 |               68:     57(ptr) AccessChain 64(flattenTemp) 25 | ||||||
|               75:    7(fvec4) Load 74 |               69:    7(fvec4) Load 68 | ||||||
|                               Store 73(Color) 75 |                               Store 67(Color) 69 | ||||||
|               78:     12(ptr) AccessChain 70(flattenTemp) 65 |               72:     12(ptr) AccessChain 64(flattenTemp) 59 | ||||||
|               79:    6(float) Load 78 |               73:    6(float) Load 72 | ||||||
|                               Store 77(Depth) 79 |                               Store 71(Depth) 73 | ||||||
|                               Return |                               Return | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
|       10(@main():8(PS_OUTPUT) Function None 9 |       10(@main():8(PS_OUTPUT) Function None 9 | ||||||
|               11:             Label |               11:             Label | ||||||
|          13(r00):     12(ptr) Variable Function |          13(r00):     12(ptr) Variable Function | ||||||
|          34(r01):     33(ptr) Variable Function |          32(r01):     31(ptr) Variable Function | ||||||
|          47(r02):     46(ptr) Variable Function |          43(r02):     42(ptr) Variable Function | ||||||
|        60(psout):     59(ptr) Variable Function |        54(psout):     53(ptr) Variable Function | ||||||
|               18:          15 Load 17(g_tTexbfs) |               17:          14 Load 16(g_tTexbfs) | ||||||
|               28:     27(ptr) AccessChain 25 26 |               27:     26(ptr) AccessChain 24 25 | ||||||
|               29:     19(int) Load 28 |               28:     18(int) Load 27 | ||||||
|               30:          14 Image 18 |               29:    7(fvec4) ImageRead 17 28 | ||||||
|               31:    7(fvec4) ImageFetch 30 29 |               30:    6(float) CompositeExtract 29 0 | ||||||
|               32:    6(float) CompositeExtract 31 0 |                               Store 13(r00) 30 | ||||||
|                               Store 13(r00) 32 |               36:          33 Load 35(g_tTexbis) | ||||||
|               39:          36 Load 38(g_tTexbis) |               37:     26(ptr) AccessChain 24 25 | ||||||
|               40:     27(ptr) AccessChain 25 26 |               38:     18(int) Load 37 | ||||||
|               41:     19(int) Load 40 |               39:   21(ivec4) ImageRead 36 38 | ||||||
|               42:          35 Image 39 |               40:     18(int) CompositeExtract 39 0 | ||||||
|               43:   22(ivec4) ImageFetch 42 41 |                               Store 32(r01) 40 | ||||||
|               44:     19(int) CompositeExtract 43 0 |               47:          44 Load 46(g_tTexbus) | ||||||
|                               Store 34(r01) 44 |               48:     26(ptr) AccessChain 24 25 | ||||||
|               52:          49 Load 51(g_tTexbus) |               49:     18(int) Load 48 | ||||||
|               53:     27(ptr) AccessChain 25 26 |               51:   50(ivec4) ImageRead 47 49 | ||||||
|               54:     19(int) Load 53 |               52:     41(int) CompositeExtract 51 0 | ||||||
|               55:          48 Image 52 |                               Store 43(r02) 52 | ||||||
|               57:   56(ivec4) ImageFetch 55 54 |               58:     57(ptr) AccessChain 54(psout) 25 | ||||||
|               58:     45(int) CompositeExtract 57 0 |                               Store 58 56 | ||||||
|                               Store 47(r02) 58 |               60:     12(ptr) AccessChain 54(psout) 59 | ||||||
|               64:     63(ptr) AccessChain 60(psout) 26 |                               Store 60 55 | ||||||
|                               Store 64 62 |               61:8(PS_OUTPUT) Load 54(psout) | ||||||
|               66:     12(ptr) AccessChain 60(psout) 65 |                               ReturnValue 61 | ||||||
|                               Store 66 61 |  | ||||||
|               67:8(PS_OUTPUT) Load 60(psout) |  | ||||||
|                               ReturnValue 67 |  | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
|  | |||||||
| @ -6,8 +6,8 @@ Shader version: 450 | |||||||
| 0:4      'Index' ( in uint) | 0:4      'Index' ( in uint) | ||||||
| 0:?     Sequence | 0:?     Sequence | ||||||
| 0:5      Branch: Return with expression | 0:5      Branch: Return with expression | ||||||
| 0:5        textureFetch ( temp 4-component vector of float) | 0:5        imageLoad ( temp 4-component vector of float) | ||||||
| 0:5          'Position' (layout( rgba32f) uniform samplerBuffer) | 0:5          'Position' (layout( rgba32f) 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 samplerBuffer) | 0:?     'Position' (layout( rgba32f) 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) | ||||||
| 
 | 
 | ||||||
| @ -43,8 +43,8 @@ Shader version: 450 | |||||||
| 0:4      'Index' ( in uint) | 0:4      'Index' ( in uint) | ||||||
| 0:?     Sequence | 0:?     Sequence | ||||||
| 0:5      Branch: Return with expression | 0:5      Branch: Return with expression | ||||||
| 0:5        textureFetch ( temp 4-component vector of float) | 0:5        imageLoad ( temp 4-component vector of float) | ||||||
| 0:5          'Position' (layout( rgba32f) uniform samplerBuffer) | 0:5          'Position' (layout( rgba32f) 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,33 +65,33 @@ 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 samplerBuffer) | 0:?     'Position' (layout( rgba32f) 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) | ||||||
| 
 | 
 | ||||||
| // Module Version 10000 | // Module Version 10000 | ||||||
| // Generated by (magic number): 80001 | // Generated by (magic number): 80001 | ||||||
| // Id's are bound by 43 | // Id's are bound by 41 | ||||||
| 
 | 
 | ||||||
|                               Capability Shader |                               Capability Shader | ||||||
|                               Capability SampledBuffer |                               Capability SampledBuffer | ||||||
|                1:             ExtInstImport  "GLSL.std.450" |                1:             ExtInstImport  "GLSL.std.450" | ||||||
|                               MemoryModel Logical GLSL450 |                               MemoryModel Logical GLSL450 | ||||||
|                               EntryPoint Vertex 4  "RealEntrypoint" 36 39 |                               EntryPoint Vertex 4  "RealEntrypoint" 34 37 | ||||||
|                               Name 4  "RealEntrypoint" |                               Name 4  "RealEntrypoint" | ||||||
|                               Name 12  "FakeEntrypoint(u1;" |                               Name 12  "FakeEntrypoint(u1;" | ||||||
|                               Name 11  "Index" |                               Name 11  "Index" | ||||||
|                               Name 15  "@RealEntrypoint(u1;" |                               Name 15  "@RealEntrypoint(u1;" | ||||||
|                               Name 14  "Index" |                               Name 14  "Index" | ||||||
|                               Name 20  "Position" |                               Name 19  "Position" | ||||||
|                               Name 29  "param" |                               Name 27  "param" | ||||||
|  |                               Name 32  "Index" | ||||||
|                               Name 34  "Index" |                               Name 34  "Index" | ||||||
|                               Name 36  "Index" |                               Name 37  "@entryPointOutput" | ||||||
|                               Name 39  "@entryPointOutput" |                               Name 38  "param" | ||||||
|                               Name 40  "param" |                               Decorate 19(Position) DescriptorSet 0 | ||||||
|                               Decorate 20(Position) DescriptorSet 0 |                               Decorate 34(Index) BuiltIn VertexIndex | ||||||
|                               Decorate 36(Index) BuiltIn VertexIndex |                               Decorate 37(@entryPointOutput) BuiltIn Position | ||||||
|                               Decorate 39(@entryPointOutput) BuiltIn Position |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
| @ -99,43 +99,41 @@ Shader version: 450 | |||||||
|                8:             TypeFloat 32 |                8:             TypeFloat 32 | ||||||
|                9:             TypeVector 8(float) 4 |                9:             TypeVector 8(float) 4 | ||||||
|               10:             TypeFunction 9(fvec4) 7(ptr) |               10:             TypeFunction 9(fvec4) 7(ptr) | ||||||
|               17:             TypeImage 8(float) Buffer sampled format:Rgba32f |               17:             TypeImage 8(float) Buffer nonsampled format:Rgba32f | ||||||
|               18:             TypeSampledImage 17 |               18:             TypePointer UniformConstant 17 | ||||||
|               19:             TypePointer UniformConstant 18 |     19(Position):     18(ptr) Variable UniformConstant | ||||||
|     20(Position):     19(ptr) Variable UniformConstant |               22:             TypeInt 32 1 | ||||||
|               23:             TypeInt 32 1 |               33:             TypePointer Input 6(int) | ||||||
|               35:             TypePointer Input 6(int) |        34(Index):     33(ptr) Variable Input | ||||||
|        36(Index):     35(ptr) Variable Input |               36:             TypePointer Output 9(fvec4) | ||||||
|               38:             TypePointer Output 9(fvec4) | 37(@entryPointOutput):     36(ptr) Variable Output | ||||||
| 39(@entryPointOutput):     38(ptr) Variable Output |  | ||||||
| 4(RealEntrypoint):           2 Function None 3 | 4(RealEntrypoint):           2 Function None 3 | ||||||
|                5:             Label |                5:             Label | ||||||
|        34(Index):      7(ptr) Variable Function |        32(Index):      7(ptr) Variable Function | ||||||
|        40(param):      7(ptr) Variable Function |        38(param):      7(ptr) Variable Function | ||||||
|               37:      6(int) Load 36(Index) |               35:      6(int) Load 34(Index) | ||||||
|                               Store 34(Index) 37 |                               Store 32(Index) 35 | ||||||
|               41:      6(int) Load 34(Index) |               39:      6(int) Load 32(Index) | ||||||
|                               Store 40(param) 41 |                               Store 38(param) 39 | ||||||
|               42:    9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param) |               40:    9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 38(param) | ||||||
|                               Store 39(@entryPointOutput) 42 |                               Store 37(@entryPointOutput) 40 | ||||||
|                               Return |                               Return | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
| 12(FakeEntrypoint(u1;):    9(fvec4) Function None 10 | 12(FakeEntrypoint(u1;):    9(fvec4) Function None 10 | ||||||
|        11(Index):      7(ptr) FunctionParameter |        11(Index):      7(ptr) FunctionParameter | ||||||
|               13:             Label |               13:             Label | ||||||
|               21:          18 Load 20(Position) |               20:          17 Load 19(Position) | ||||||
|               22:      6(int) Load 11(Index) |               21:      6(int) Load 11(Index) | ||||||
|               24:     23(int) Bitcast 22 |               23:     22(int) Bitcast 21 | ||||||
|               25:          17 Image 21 |               24:    9(fvec4) ImageRead 20 23 | ||||||
|               26:    9(fvec4) ImageFetch 25 24 |                               ReturnValue 24 | ||||||
|                               ReturnValue 26 |  | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
| 15(@RealEntrypoint(u1;):    9(fvec4) Function None 10 | 15(@RealEntrypoint(u1;):    9(fvec4) Function None 10 | ||||||
|        14(Index):      7(ptr) FunctionParameter |        14(Index):      7(ptr) FunctionParameter | ||||||
|               16:             Label |               16:             Label | ||||||
|        29(param):      7(ptr) Variable Function |        27(param):      7(ptr) Variable Function | ||||||
|               30:      6(int) Load 14(Index) |               28:      6(int) Load 14(Index) | ||||||
|                               Store 29(param) 30 |                               Store 27(param) 28 | ||||||
|               31:    9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 29(param) |               29:    9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 27(param) | ||||||
|                               ReturnValue 31 |                               ReturnValue 29 | ||||||
|                               FunctionEnd |                               FunctionEnd | ||||||
|  | |||||||
| @ -1079,24 +1079,25 @@ bool HlslGrammar::acceptTextureType(TType& type) | |||||||
|     bool array = false; |     bool array = false; | ||||||
|     bool ms    = false; |     bool ms    = false; | ||||||
|     bool image = false; |     bool image = false; | ||||||
|  |     bool readonly = false; | ||||||
| 
 | 
 | ||||||
|     switch (textureType) { |     switch (textureType) { | ||||||
|     case EHTokBuffer:            dim = EsdBuffer;                      break; |     case EHTokTexture1d:         dim = Esd1D;                                break; | ||||||
|     case EHTokTexture1d:         dim = Esd1D;                          break; |     case EHTokTexture1darray:    dim = Esd1D; array = true;                  break; | ||||||
|     case EHTokTexture1darray:    dim = Esd1D; array = true;            break; |     case EHTokTexture2d:         dim = Esd2D;                                break; | ||||||
|     case EHTokTexture2d:         dim = Esd2D;                          break; |     case EHTokTexture2darray:    dim = Esd2D; array = true;                  break; | ||||||
|     case EHTokTexture2darray:    dim = Esd2D; array = true;            break; |     case EHTokTexture3d:         dim = Esd3D;                                break; | ||||||
|     case EHTokTexture3d:         dim = Esd3D;                          break; |     case EHTokTextureCube:       dim = EsdCube;                              break; | ||||||
|     case EHTokTextureCube:       dim = EsdCube;                        break; |     case EHTokTextureCubearray:  dim = EsdCube; array = true;                break; | ||||||
|     case EHTokTextureCubearray:  dim = EsdCube; array = true;          break; |     case EHTokTexture2DMS:       dim = Esd2D; ms = true;                     break; | ||||||
|     case EHTokTexture2DMS:       dim = Esd2D; ms = true;               break; |     case EHTokTexture2DMSarray:  dim = Esd2D; array = true; ms = true;       break; | ||||||
|     case EHTokTexture2DMSarray:  dim = Esd2D; array = true; ms = true; break; |     case EHTokBuffer:            dim = EsdBuffer; readonly=true; image=true; break; | ||||||
|     case EHTokRWBuffer:          dim = EsdBuffer; image=true;          break; |     case EHTokRWBuffer:          dim = EsdBuffer; image=true;                break; | ||||||
|     case EHTokRWTexture1d:       dim = Esd1D; array=false; image=true; break; |     case EHTokRWTexture1d:       dim = Esd1D; array=false; image=true;       break; | ||||||
|     case EHTokRWTexture1darray:  dim = Esd1D; array=true;  image=true; break; |     case EHTokRWTexture1darray:  dim = Esd1D; array=true;  image=true;       break; | ||||||
|     case EHTokRWTexture2d:       dim = Esd2D; array=false; image=true; break; |     case EHTokRWTexture2d:       dim = Esd2D; array=false; image=true;       break; | ||||||
|     case EHTokRWTexture2darray:  dim = Esd2D; array=true;  image=true; break; |     case EHTokRWTexture2darray:  dim = Esd2D; array=true;  image=true;       break; | ||||||
|     case EHTokRWTexture3d:       dim = Esd3D; array=false; image=true; break; |     case EHTokRWTexture3d:       dim = Esd3D; array=false; image=true;       break; | ||||||
|     default: |     default: | ||||||
|         return false;  // not a texture declaration
 |         return false;  // not a texture declaration
 | ||||||
|     } |     } | ||||||
| @ -1156,7 +1157,7 @@ bool HlslGrammar::acceptTextureType(TType& type) | |||||||
|     } else if (ms) { |     } else if (ms) { | ||||||
|         expected("texture type for multisample"); |         expected("texture type for multisample"); | ||||||
|         return false; |         return false; | ||||||
|     } else if (image) { |     } else if (image && !readonly) { | ||||||
|         expected("type for RWTexture/RWBuffer"); |         expected("type for RWTexture/RWBuffer"); | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
| @ -1189,6 +1190,9 @@ bool HlslGrammar::acceptTextureType(TType& type) | |||||||
|     type.shallowCopy(TType(sampler, EvqUniform, arraySizes)); |     type.shallowCopy(TType(sampler, EvqUniform, arraySizes)); | ||||||
|     type.getQualifier().layoutFormat = format; |     type.getQualifier().layoutFormat = format; | ||||||
| 
 | 
 | ||||||
|  |     // TODO: this is not being passed through to the SPIR-V OpTypeImage access qualifier.
 | ||||||
|  |     type.getQualifier().readonly = readonly; | ||||||
|  | 
 | ||||||
|     return true; |     return true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 steve-lunarg
						steve-lunarg