Revert "i965: Use MESA_FORMAT_B8G8R8X8_SRGB for RGB visuals"
This reverts commit 839793680f.
The patch was breaking DRI3 because driGLFormatToImageFormat does not
handle MESA_FORMAT_B8G8R8X8_SRGB which ended up making it fail to
create the renderbuffer and it would later crash. It's not trivial to
add this format because there is no __DRI_IMAGE_FORMAT nor
__DRI_IMAGE_FOURCC define for the format either. I'm not sure how
difficult adding this would be and whether adding a new format would
require some sort of new version for DRI. Seeing as this might take a
while to fix I think it makes sense to just revert the patch in the
meantime in order to avoid regressing master.
It is also not handled in intel_gles3_srgb_workaround and there may be
other cases where it breaks.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93388
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
@@ -999,13 +999,14 @@ intelCreateBuffer(__DRIscreen * driScrnPriv,
|
||||
fb->Visual.samples = num_samples;
|
||||
}
|
||||
|
||||
if (mesaVis->redBits == 5) {
|
||||
if (mesaVis->redBits == 5)
|
||||
rgbFormat = MESA_FORMAT_B5G6R5_UNORM;
|
||||
} else {
|
||||
if (mesaVis->alphaBits == 0)
|
||||
rgbFormat = MESA_FORMAT_B8G8R8X8_SRGB;
|
||||
else
|
||||
rgbFormat = MESA_FORMAT_B8G8R8A8_SRGB;
|
||||
else if (mesaVis->sRGBCapable)
|
||||
rgbFormat = MESA_FORMAT_B8G8R8A8_SRGB;
|
||||
else if (mesaVis->alphaBits == 0)
|
||||
rgbFormat = MESA_FORMAT_B8G8R8X8_UNORM;
|
||||
else {
|
||||
rgbFormat = MESA_FORMAT_B8G8R8A8_SRGB;
|
||||
fb->Visual.sRGBCapable = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user