From: Dave Airlie Date: Mon, 29 Jun 2020 05:57:14 +0000 (+1000) Subject: llvmpipe: fix occlusion queries on big-endian. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b743c9bf2d5c987c97a22e725a56a2b641b58ae4;p=mesa.git llvmpipe: fix occlusion queries on big-endian. Casting to u8 arrays and picking the lowest byte is fairly LE specific grab the other byte. Cc: Reviewed-by: Roland Scheidegger Part-of: --- diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c b/src/gallium/drivers/llvmpipe/lp_bld_depth.c index ed28d212df3..64cf72ae101 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c @@ -469,7 +469,11 @@ lp_build_occlusion_count(struct gallivm_state *gallivm, countv = LLVMBuildBitCast(builder, countv, i8vntype, ""); for (i = 0; i < type.length; i++) { +#if UTIL_ARCH_LITTLE_ENDIAN shuffles[i] = lp_build_const_int32(gallivm, 4*i); +#else + shuffles[i] = lp_build_const_int32(gallivm, (4*i) + 3); +#endif } shufflev = LLVMConstVector(shuffles, type.length);