mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-19 10:38:30 +02:00
i915: Don't use XRGB8888 on 830 and 845.
The support for XRGB8888 appeared in the 855 and 865, and this format is reserved on 830/845. This should fix a regression fromb4a6169412that caused hangs in etracer on 845s. Bug #26557. (cherry picked from commitf0ff214bee)
This commit is contained in:
parent
a48edfad8a
commit
fc0b912f1e
3 changed files with 18 additions and 2 deletions
|
|
@ -610,6 +610,7 @@ intelInitContext(struct intel_context *intel,
|
|||
intel->driContext = driContextPriv;
|
||||
intel->driFd = sPriv->fd;
|
||||
|
||||
intel->has_xrgb_textures = GL_TRUE;
|
||||
if (IS_GEN6(intel->intelScreen->deviceID)) {
|
||||
intel->gen = 6;
|
||||
intel->needs_ff_sync = GL_TRUE;
|
||||
|
|
@ -631,6 +632,10 @@ intelInitContext(struct intel_context *intel,
|
|||
}
|
||||
} else {
|
||||
intel->gen = 2;
|
||||
if (intel->intelScreen->deviceID == PCI_CHIP_I830_M ||
|
||||
intel->intelScreen->deviceID == PCI_CHIP_845_G) {
|
||||
intel->has_xrgb_textures = GL_FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
driParseConfigFiles(&intel->optionCache, &intelScreen->optionCache,
|
||||
|
|
|
|||
|
|
@ -145,6 +145,7 @@ struct intel_context
|
|||
GLboolean is_g4x;
|
||||
GLboolean is_945;
|
||||
GLboolean has_luminance_srgb;
|
||||
GLboolean has_xrgb_textures;
|
||||
|
||||
int urb_size;
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,14 @@ intelChooseTextureFormat(GLcontext * ctx, GLint internalFormat,
|
|||
if (format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5) {
|
||||
return MESA_FORMAT_RGB565;
|
||||
}
|
||||
return do32bpt ? MESA_FORMAT_XRGB8888 : MESA_FORMAT_RGB565;
|
||||
if (do32bpt) {
|
||||
if (intel->has_xrgb_textures)
|
||||
return MESA_FORMAT_XRGB8888;
|
||||
else
|
||||
return MESA_FORMAT_ARGB8888;
|
||||
} else {
|
||||
return MESA_FORMAT_RGB565;
|
||||
}
|
||||
|
||||
case GL_RGBA8:
|
||||
case GL_RGB10_A2:
|
||||
|
|
@ -68,7 +75,10 @@ intelChooseTextureFormat(GLcontext * ctx, GLint internalFormat,
|
|||
case GL_RGB10:
|
||||
case GL_RGB12:
|
||||
case GL_RGB16:
|
||||
return MESA_FORMAT_XRGB8888;
|
||||
if (intel->has_xrgb_textures)
|
||||
return MESA_FORMAT_XRGB8888;
|
||||
else
|
||||
return MESA_FORMAT_ARGB8888;
|
||||
|
||||
case GL_RGB5:
|
||||
case GL_RGB4:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue