On Mon, Mar 3, 2014 at 6:06 PM, Michel Dänzer <mic...@daenzer.net> wrote:
> On Mon, 2014-03-03 at 16:22 +0800, Chia-I Wu wrote:
>> The texture formats of winsys fbo are always linear becase the st manager
>> (st/dri for example) could not know the colorspace used.  But it does not 
>> mean
>> that we cannot make the fbo sRGB-capable.  By
>>
>>  - setting rb->Visual.sRGBCapable to GL_TRUE when the pipe driver supports 
>> the
>>    format in sRGB colorspace,
>>  - giving rb an sRGB internal format, and
>>  - updating code to check rb->Format instead of strb->texture->format,
>>
>> we should be good.
>>
>> Fixed bug 75226 for at least llvmpipe and ilo, with no piglit regression.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75226
>
> The apitrace in that bug works with radeonsi as well with your change,
> but I'm getting an assertion failure in the X server (using glamor)
> running piglit, because st_pipe_format_to_mesa_format() doesn't handle
> PIPE_FORMAT_B8G8R8X8_SRGB:
Thanks for the quick testing.  I don't have any fbconfig that maps to
PIPE_FORMAT_B8G8R8X8_UNORM, and thus no PIPE_FORMAT_B8G8R8X8_SRGB.  It
looks like I will need to add MESA_FORMAT_X8R8G8B8_SRGB first.

>
> #0  _debug_assert_fail (expr=expr@entry=0x7f2461301a86 "0", 
> file=file@entry=0x7f24612ad410 "../../../src/mesa/state_tracker/st_format.c", 
> line=line@entry=752,
>     function=function@entry=0x7f24612ad940 <__func__.34569> 
> "st_pipe_format_to_mesa_format") at 
> ../../../../src/gallium/auxiliary/util/u_debug.c:281
> #1  0x00007f2460faaef9 in st_pipe_format_to_mesa_format 
> (format=format@entry=PIPE_FORMAT_B8G8R8X8_SRGB) at 
> ../../../src/mesa/state_tracker/st_format.c:752
> #2  0x00007f2460f9fc8a in st_new_renderbuffer_fb 
> (format=format@entry=PIPE_FORMAT_B8G8R8X8_SRGB, samples=0, sw=<optimized 
> out>) at ../../../src/mesa/state_tracker/st_cb_fbo.c:295
> #3  0x00007f2460fc5b15 in st_framebuffer_add_renderbuffer 
> (stfb=stfb@entry=0xe2b630, idx=<optimized out>) at 
> ../../../src/mesa/state_tracker/st_manager.c:314
> #4  0x00007f2460fc6e41 in st_framebuffer_create (stfbi=0xe2b420, 
> screen=0x782690) at ../../../src/mesa/state_tracker/st_manager.c:437
> #5  st_framebuffer_reuse_or_create (screen=screen@entry=0x782690, 
> fb=<optimized out>, stfbi=stfbi@entry=0xe2b420) at 
> ../../../src/mesa/state_tracker/st_manager.c:707
> #6  0x00007f2460fc6f26 in st_api_make_current (stapi=<optimized out>, 
> stctxi=0xe1ae60, stdrawi=0xe2b420, streadi=0xe2b420) at 
> ../../../src/mesa/state_tracker/st_manager.c:728
> #7  0x00007f2461206f0b in dri_make_current (cPriv=<optimized out>, 
> driDrawPriv=0xe2b3e0, driReadPriv=0xe2b3e0) at 
> ../../../../../../src/gallium/state_trackers/dri/sw/dri_context.c:253
> #8  0x00007f2460e4b252 in driBindContext (pcp=<optimized out>, pdp=0xe2b3e0, 
> prp=<optimized out>) at 
> ../../../../../src/mesa/drivers/dri/common/dri_util.c:543
> #9  0x00007f24635096d0 in DoMakeCurrent (cl=0xb92850, drawId=12582916, 
> readId=<optimized out>, contextId=<optimized out>, tag=<optimized out>) at 
> ../../glx/glxcmds.c:643
> #10 0x00007f246350d100 in __glXDispatch (client=<optimized out>) at 
> ../../glx/glxext.c:606
> #11 0x00000000004368fe in Dispatch () at ../../dix/dispatch.c:433
> #12 0x000000000043a6ba in dix_main (argc=3, argv=0x7fff99253568, 
> envp=<optimized out>) at ../../dix/main.c:294
>
>
> --
> Earthling Michel Dänzer            |                  http://www.amd.com
> Libre software enthusiast          |                Mesa and X developer
>



-- 
o...@lunarg.com
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to