i965: Enable ChooseTexFormat for supported GL_EXT_texture_integer formats.

v2: s/GL_TRUE/true/, and re-enable RGB_INT32 based on discussion
    yesterday about required RB formats vs texture formats.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (v1)
This commit is contained in:
Eric Anholt
2011-10-05 13:42:19 -07:00
parent 35be4ae77e
commit a00c5a71cd
@@ -710,6 +710,36 @@ intelInitContext(struct intel_context *intel,
ctx->TextureFormatSupported[MESA_FORMAT_SLA8] = true;
}
if (intel->gen >= 4) {
/* Each combination of 32-bit ints are supported, but the RGB 32-bit ints
* don't support use as a render target (GPU hangs).
*/
ctx->TextureFormatSupported[MESA_FORMAT_R_INT32] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RG_INT32] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RGB_INT32] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RGBA_INT32] = true;
ctx->TextureFormatSupported[MESA_FORMAT_R_UINT32] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RG_UINT32] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RGB_UINT32] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RGBA_UINT32] = true;
/* For 16 and 8 bits, RGB is unsupported entirely. */
ctx->TextureFormatSupported[MESA_FORMAT_R_UINT16] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RG_UINT16] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RGBA_UINT16] = true;
ctx->TextureFormatSupported[MESA_FORMAT_R_INT16] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RG_INT16] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RGBA_INT16] = true;
ctx->TextureFormatSupported[MESA_FORMAT_R_UINT8] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RG_UINT8] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RGBA_UINT8] = true;
ctx->TextureFormatSupported[MESA_FORMAT_R_INT8] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RG_INT8] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RGBA_INT8] = true;
}
#ifdef TEXTURE_FLOAT_ENABLED
ctx->TextureFormatSupported[MESA_FORMAT_RGBA_FLOAT32] = true;
ctx->TextureFormatSupported[MESA_FORMAT_RG_FLOAT32] = true;