HLSL: Fix possibly incorrect type conversion in StoreN and LoadN
Set type to r-value resulting from indexing vector, to prevent float->uint conversion when source is already uint. Resulting OpConvertFToU would otherwise fail validation because source is already uint. For LoadN, incorrect uint->float->uint can be avoided; fixing potential truncation of big integer values.
This commit is contained in:
parent
3f0d4bcd6a
commit
3f0aff8ee5
4 changed files with 853 additions and 868 deletions
|
|
@ -18,13 +18,13 @@ local_size = (256, 1, 1)
|
|||
0:6 Constant:
|
||||
0:6 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:6 indirect index ( temp float)
|
||||
0:6 indirect index ( temp uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 'byteAddrTemp' ( temp int)
|
||||
0:6 indirect index ( temp float)
|
||||
0:6 indirect index ( temp uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 Constant:
|
||||
|
|
@ -87,13 +87,13 @@ local_size = (256, 1, 1)
|
|||
0:6 Constant:
|
||||
0:6 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:6 indirect index ( temp float)
|
||||
0:6 indirect index ( temp uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 'byteAddrTemp' ( temp int)
|
||||
0:6 indirect index ( temp float)
|
||||
0:6 indirect index ( temp uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 Constant:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue