You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This seems to go presuambly due to opaque pointers and indicies not being fixed up. The initializer in global uchar2* p_var = &a_var[1]; gets translated to @p_var = addrspace(1) global ptr addrspace(1) getelementptr (i8, ptr addrspace(1) @a_var, i64 2), align 8. It uses an index of 2 because when assuming it all to be a raw char array is correct. However in the SPIR-V we end up with this:
which would rather be something like global uchar* p_var = &(&a_var)[2]; maybe? It's a bit weird, becuase of the ouse of PtrAccessChain here. %a_var is an two element long array of a 2 component uchar vector, and this PtrAccessChain selects the third element here...
This seems to go presuambly due to opaque pointers and indicies not being fixed up. The initializer in
global uchar2* p_var = &a_var[1];
gets translated to@p_var = addrspace(1) global ptr addrspace(1) getelementptr (i8, ptr addrspace(1) @a_var, i64 2), align 8
. It uses an index of2
because when assuming it all to be a rawchar
array is correct. However in the SPIR-V we end up with this:which would rather be something like
global uchar* p_var = &(&a_var)[2];
maybe? It's a bit weird, becuase of the ouse ofPtrAccessChain
here.%a_var
is an two element long array of a 2 component uchar vector, and thisPtrAccessChain
selects the third element here...OpenCL C
LLVM
SPIR-V
The text was updated successfully, but these errors were encountered: