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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user