<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Aug 12, 2014 at 8:52 PM, Roland Scheidegger <span dir="ltr"><<a href="mailto:sroland@vmware.com" target="_blank">sroland@vmware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am 06.08.2014 11:28, schrieb Michel Dänzer:<br>
<div class="">> On 06.08.2014 03:08, Jason Ekstrand wrote:<br>
>> Module: Mesa<br>
>> Branch: master<br>
>> Commit: 850fb0d1dca616179d3239a7b7bd94fe1979604c<br>
</div>>> URL:    <a href="https://urldefense.proofpoint.com/v1/url?u=http://cgit.freedesktop.org/mesa/mesa/commit/?id%3D850fb0d1dca616179d3239a7b7bd94fe1979604c&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F4msKE2WxRzA%2BwN%2B25muztFm5TSPwE8HKJfWfR2NgfY%3D%0A&m=M3mfjwgruJzPHL55%2BrGtDjCQ6DTQMURIoUjKbv00MIU%3D%0A&s=af10bfc26af3611fea43b64de32c55e38bc2721b145a63dcde3f0085fcd850d7" target="_blank">https://urldefense.proofpoint.com/v1/url?u=http://cgit.freedesktop.org/mesa/mesa/commit/?id%3D850fb0d1dca616179d3239a7b7bd94fe1979604c&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F4msKE2WxRzA%2BwN%2B25muztFm5TSPwE8HKJfWfR2NgfY%3D%0A&m=M3mfjwgruJzPHL55%2BrGtDjCQ6DTQMURIoUjKbv00MIU%3D%0A&s=af10bfc26af3611fea43b64de32c55e38bc2721b145a63dcde3f0085fcd850d7</a><br>

<div class="">>><br>
>> Author: Jason Ekstrand <<a href="mailto:jason.ekstrand@intel.com">jason.ekstrand@intel.com</a>><br>
>> Date:   Thu Jul 10 23:59:42 2014 -0700<br>
>><br>
>> mesa/formats: Add layout and swizzle information<br>
>><br>
>> v2: Move the MESA_FORMAT_SWIZZLE enum to the top of the file<br>
>><br>
>> Signed-off-by: Jason Ekstrand <<a href="mailto:jason.ekstrand@intel.com">jason.ekstrand@intel.com</a>><br>
>> Reviewed-by: Brian Paul <<a href="mailto:brianp@vmware.com">brianp@vmware.com</a>><br>
><br>
> As of this commit, ~20 depth/stencil related piglit tests have regressed with the radeonsi driver compared to before your changes. See below for an example failure of the draw-pixels test.<br>
><br>
<br>
</div>There's actually more breakage due to this at least in gallium based<br>
drivers though unfortunately there's no piglit test catching it (conform<br>
drawpix does). I'm not sure if this is along similar lines to the issues<br>
with stencil index, but drawpixel with GL_COLOR_INDEX data is busted -<br>
it'll actually report a mesa implementation error because the<br>
COLOR_INDEX_DATA is passed through to the texstore functions, and the<br>
new texstore_swizzle() function can't handle this.<br>
Backtrace from the error looks like this:<br>
<br>
#0  get_map_idx (value=6400) at src/mesa/main/texstore.c:245<br>
#1  0x00007ffff3ee0f56 in compute_component_mapping (inFormat=6400,<br>
    outFormat=6408, map=0x7fffffffb310 "@\263\377\377\377\177")<br>
    at src/mesa/main/texstore.c:264<br>
#2  0x00007ffff3ee4312 in texstore_swizzle (ctx=0x7ffff7fd3010, dims=2,<br>
    baseInternalFormat=6408, dstFormat=MESA_FORMAT_R8G8B8A8_UNORM,<br>
    dstRowStride=192, dstSlices=0x7fffffffb4a0, srcWidth=40, srcHeight=40,<br>
    srcDepth=1, srcFormat=6400, srcType=5121, srcAddr=0x8aa980,<br>
    srcPacking=0x7fffffffb590) at src/mesa/main/texstore.c:1529<br>
#3  0x00007ffff3ee4cc6 in texstore_rgba (ctx=0x7ffff7fd3010, dims=2,<br>
    baseInternalFormat=6408, dstFormat=MESA_FORMAT_R8G8B8A8_UNORM,<br>
    dstRowStride=192, dstSlices=0x7fffffffb4a0, srcWidth=40, srcHeight=40,<br>
    srcDepth=1, srcFormat=6400, srcType=5121, srcAddr=0x8aa980,<br>
    srcPacking=0x7fffffffb590) at src/mesa/main/texstore.c:1730<br>
#4  0x00007ffff3ee5190 in _mesa_texstore (ctx=0x7ffff7fd3010, dims=2,<br>
    baseInternalFormat=6408, dstFormat=MESA_FORMAT_R8G8B8A8_UNORM,<br>
    dstRowStride=192, dstSlices=0x7fffffffb4a0, srcWidth=40, srcHeight=40,<br>
    srcDepth=1, srcFormat=6400, srcType=5121, srcAddr=0x8aa980,<br>
    srcPacking=0x7fffffffb590) at src/mesa/main/texstore.c:1871<br>
#5  0x00007ffff40876c2 in make_texture (st=0x8367d0, width=40, height=40,<br>
    format=6400, type=5121, unpack=0x7fffffffb590, pixels=0x8aa980)<br>
    at src/mesa/state_tracker/st_cb_drawpixels.c:540<br>
#6  0x00007ffff40895ee in st_DrawPixels (ctx=0x7ffff7fd3010, x=0, y=0,<br>
    width=40, height=40, format=6400, type=5121, unpack=0x7fffffffb590,<br>
    pixels=0x8aa980) at src/mesa/state_tracker/st_cb_drawpixels.c:1170<br>
#7  0x00007ffff3f7cfb2 in _mesa_DrawPixels (width=40, height=40,<br>
format=6400,<br>
    type=5121, pixels=0x8aa980) at src/mesa/main/drawpix.c:162<br>
<br>
I can't quite see if that is even supposed to work or if the state<br>
tracker needs to handle it (it used to work at least somehow), though<br>
quickly disabling texstore_swizzle() does fix it (doesn't help all that<br>
much though since the test will then later complain about other cases<br>
though maybe these are due to the different snorm formulas, as it<br>
happens with GL_BYTE/GL_RGB type/format).<br>
<br>
Any ideas?<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div>Yeah, I forgot about the color-index formats since mesa doesn't handle them as internal formats anymore.  I'll send out a patch that I *think* will fix it.  If you could give it a try, that would be great.<br>
</div><div>-- Jason <br></div></div><br></div></div>