Re: [Mesa-dev] [PATCH 05/10] i965: Enable ChooseTexFormat for supported GL_EXT_texture_integer formats.
On 11/04/2011 03:01 PM, Eric Anholt wrote: We don't get to use the 3-component formats, but faking of RGB with RGBA seems to be working. --- src/mesa/drivers/dri/intel/intel_context.c | 28 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 801b747..6b493e1 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -706,6 +706,34 @@ 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] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_INT32] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_INT32] = GL_TRUE; + + ctx-TextureFormatSupported[MESA_FORMAT_R_UINT32] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_UINT32] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_UINT32] = GL_TRUE; + + /* For 16 and 8 bits, RGB is unsupported entirely. */ + ctx-TextureFormatSupported[MESA_FORMAT_R_UINT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_UINT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_UINT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_R_INT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_INT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_INT16] = GL_TRUE; + + ctx-TextureFormatSupported[MESA_FORMAT_R_UINT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_UINT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_UINT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_R_INT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_INT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_INT8] = GL_TRUE; + } + #ifdef TEXTURE_FLOAT_ENABLED ctx-TextureFormatSupported[MESA_FORMAT_RGBA_FLOAT32] = true; ctx-TextureFormatSupported[MESA_FORMAT_RG_FLOAT32] = true; I think you mean true here. Otherwise, Reviewed-by: Kenneth Graunke kenn...@whitecape.org ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 05/10] i965: Enable ChooseTexFormat for supported GL_EXT_texture_integer formats.
We don't get to use the 3-component formats, but faking of RGB with RGBA seems to be working. --- src/mesa/drivers/dri/intel/intel_context.c | 28 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 801b747..6b493e1 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -706,6 +706,34 @@ 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] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_INT32] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_INT32] = GL_TRUE; + + ctx-TextureFormatSupported[MESA_FORMAT_R_UINT32] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_UINT32] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_UINT32] = GL_TRUE; + + /* For 16 and 8 bits, RGB is unsupported entirely. */ + ctx-TextureFormatSupported[MESA_FORMAT_R_UINT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_UINT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_UINT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_R_INT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_INT16] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_INT16] = GL_TRUE; + + ctx-TextureFormatSupported[MESA_FORMAT_R_UINT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_UINT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_UINT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_R_INT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RG_INT8] = GL_TRUE; + ctx-TextureFormatSupported[MESA_FORMAT_RGBA_INT8] = GL_TRUE; + } + #ifdef TEXTURE_FLOAT_ENABLED ctx-TextureFormatSupported[MESA_FORMAT_RGBA_FLOAT32] = true; ctx-TextureFormatSupported[MESA_FORMAT_RG_FLOAT32] = true; -- 1.7.7 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev