[Mesa-dev] [PATCH] llvmpipe: fix PIPE_FORMAT_Z24_UNORM_S8_UINT depth on big endian

Roland Scheidegger sroland at vmware.com
Mon Sep 15 07:19:33 PDT 2014


Am 15.09.2014 12:22, schrieb Dave Airlie:
>> We had a bug report from some screensavers in xscreensaver package
>> not working on ppc64be, I took a day out to cause myself undue pain.
>>
>> I tracked it down to the depth buffer not being read correctly,
>> I've no idea if this is the proper fix for it, I need to run
>> some more piglit on it. (my ppc64 f20 box is in a state of bad flux,
>> and needs more RAM.)
>>
>> This does fix glean stencil2, glsl1 frag writing tests at least.
> 
> Managed to get piglit against this and before this, stuff got better,
> but it does cause a bunch of regressions, so I probably need some
> subsequent fixes to figure it out.
> 
> Dave.
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/mesa-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F4msKE2WxRzA%2BwN%2B25muztFm5TSPwE8HKJfWfR2NgfY%3D%0A&m=yrAADpUwJ1xXRsqsjB9LK3BRCgIi0hZA%2B8L4Eo4Hh4Q%3D%0A&s=e49b9169e824a2e6e9ec19f39585c7cb474788438fd4dbf8a117920c5f38ac47
> 

I never really looked at the big endian stuff so I have no idea if this
is right. I thought though the channel shift thing now should work
without endianness awareness if you fetch one 32bit number and then
break it up into parts with shifts due to the channel information being
adjusted for big/little endian. I could be wrong though, but if it
doesn't work that means there's probably some more mixup elsewhere (util
or llvmpipe code for clearing has its own conversion, and obviously the
format fetch used for depth texturing needs to match too).

Roland



More information about the mesa-dev mailing list