Looks like nobody tested radeonsi on BE for 5 months at least. You can
try the attached patch, but I suspect there will be other places like
this...

Gražvydas

On Wed, Jun 21, 2017 at 3:26 PM, Jack Mitchell <m...@embed.me.uk> wrote:
> Hi,
>
> I'm trying to run a VERDE based AMD card in a big endian powerpc64. I
> can get everything working with swrast but when I try to enable
> acceleration mesa bombs out when starting Xorg. I've got a backtrace
> from gdb but I'm not sure where to go next in debugging, any pointers
> would be appreciated.
>
> Attached (1)
>
> Regards,
> Jack.
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index 0c77f93..148fa69 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -214,20 +214,25 @@ struct si_shader_ctx_state {
 /* The IA_MULTI_VGT_PARAM key used to index the table of precomputed values.
  * Some fields are set by state-change calls, most are set by draw_vbo.
  */
 union si_vgt_param_key {
 	struct {
+#ifdef PIPE_ARCH_BIG_ENDIAN
+		unsigned _pad:32 - SI_NUM_VGT_PARAM_KEY_BITS;
+#endif
 		unsigned prim:4;
 		unsigned uses_instancing:1;
 		unsigned multi_instances_smaller_than_primgroup:1;
 		unsigned primitive_restart:1;
 		unsigned count_from_stream_output:1;
 		unsigned line_stipple_enabled:1;
 		unsigned uses_tess:1;
 		unsigned tess_uses_prim_id:1;
 		unsigned uses_gs:1;
+#ifdef PIPE_ARCH_LITTLE_ENDIAN
 		unsigned _pad:32 - SI_NUM_VGT_PARAM_KEY_BITS;
+#endif
 	} u;
 	uint32_t index;
 };
 
 struct si_bindless_descriptor
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to