[Mesa-dev] RFC: help on llvmpipe

Michel Dänzer michel at daenzer.net
Fri Jan 11 07:05:45 PST 2013

On Fre, 2013-01-11 at 11:53 -0200, Adhemerval Zanella wrote: 
> I'm trying to make llvmpipe work correctly on PowerPC64. The llvm MCJIT backend
> works pretty well now, so now I'm focused on the llvmpipe code. I already sent a few
> patches to address the existing testcases (lp_test_arit, lp_test_blend, lp_test_conv,
> lp_test_format, lp_test_printf). However I found out that the lp_test_format 
> is not coded right to take care of the endianess of the architecture, so I had to
> revert some changes of my two of my patches that do byte-swap in some format handling
> (the byte-swap in lp_bld_format_aos_array.c and lp_bld_format_aos.c). I'll work on
> patch to revert the patch and fix the testcase.

Fix according to what? :) There is no explicit definition of the byte
order of PIPE_FORMAT_*, and the current code is inconsistent about it I
think. I'm afraid we need to start at basics like that and work our way
up from there.

https://bugs.freedesktop.org/show_bug.cgi?id=43698 has a possible start
for this for r300g assuming PIPE_FORMAT_* are always little endian. But
I suspect it can't be that simple either, e.g. vertex elements probably
need to use the CPU native byte order, as that's what e.g. GL apps write
to VBOs. Maybe we'll need variants of at least some formats for both
byte orders.

I haven't looked into this for llvmpipe in any detail.

Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer

More information about the mesa-dev mailing list