[Mesa-dev] [PATCH 12/13] mesa: allow CopyTexSubImage on integer formats
Brian Paul
brianp at vmware.com
Tue Jun 26 14:36:12 PDT 2012
One nit: the commit message should say "meta" not "mesa".
Reviewed-by: Brian Paul <brianp at vmware.com>
On 06/25/2012 06:34 PM, Jordan Justen wrote:
> Signed-off-by: Jordan Justen<jordan.l.justen at intel.com>
> ---
> src/mesa/drivers/common/meta.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
> index be7141a..252b081 100644
> --- a/src/mesa/drivers/common/meta.c
> +++ b/src/mesa/drivers/common/meta.c
> @@ -3144,8 +3144,12 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target,
> * ReadPixels() and passed to Tex[Sub]Image().
> */
> static GLenum
> -get_temp_image_type(struct gl_context *ctx, GLenum baseFormat)
> +get_temp_image_type(struct gl_context *ctx, gl_format format)
> {
> + GLenum baseFormat, type;
> +
> + baseFormat = _mesa_get_format_base_format(format);
> +
> switch (baseFormat) {
> case GL_RGBA:
> case GL_RGB:
> @@ -3160,7 +3164,7 @@ get_temp_image_type(struct gl_context *ctx, GLenum baseFormat)
> else if (ctx->DrawBuffer->Visual.redBits<= 16)
> return GL_UNSIGNED_SHORT;
> else
> - return GL_FLOAT;
> + return _mesa_get_format_datatype(format);
> case GL_DEPTH_COMPONENT:
> return GL_UNSIGNED_INT;
> case GL_DEPTH_STENCIL:
> @@ -3202,12 +3206,7 @@ _mesa_meta_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
> format = GL_RGBA;
> }
>
> - if (_mesa_is_format_integer_color(texImage->TexFormat)) {
> - _mesa_problem(ctx, "unsupported integer color copyteximage");
> - return;
> - }
> -
> - type = get_temp_image_type(ctx, format);
> + type = get_temp_image_type(ctx, texImage->TexFormat);
> bpp = _mesa_bytes_per_pixel(format, type);
> if (bpp<= 0) {
> _mesa_problem(ctx, "Bad bpp in _mesa_meta_CopyTexSubImage()");
More information about the mesa-dev
mailing list