Running any OpenCL program on a big endian machine using a radeonsi card fails. - union si_vgt_param_key uses a bitfield shared with a 32 bit value. This causes the index to be wrong on a big endian machine, and crashes any OpenCL program with a segfault. - si_setup_user_sgprs_co_v2 in si_compute.c fills a dispatch_packet struct with values which are uploaded to the GPU. To ensure this works correctly, these values need to be converted to little endian. I'll send patches to the mesa-dev list for both these issues. Bas Vermeulen
Created attachment 138697 [details] [review] Patch for si_vgt_param_key endian fix
Created attachment 138698 [details] [review] Patch for dispatch_packet endianness fix
These patches were committed. Closing as fixed.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.