mesa/formatquery: Add READ_PIXELS_FORMAT pname

Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Eduardo Lima Mitev 2015-12-22 18:38:06 +01:00
parent 09550c16a5
commit bec286f724

View file

@ -598,9 +598,7 @@ _mesa_query_internal_format_default(struct gl_context *ctx, GLenum target,
GLenum internalFormat, GLenum pname,
GLint *params)
{
(void) ctx;
(void) target;
(void) internalFormat;
switch (pname) {
case GL_SAMPLES:
@ -616,6 +614,26 @@ _mesa_query_internal_format_default(struct gl_context *ctx, GLenum target,
params[0] = internalFormat;
break;
case GL_READ_PIXELS_FORMAT: {
GLenum base_format = _mesa_base_tex_format(ctx, internalFormat);
switch (base_format) {
case GL_STENCIL_INDEX:
case GL_DEPTH_COMPONENT:
case GL_DEPTH_STENCIL:
case GL_RED:
case GL_RGB:
case GL_BGR:
case GL_RGBA:
case GL_BGRA:
params[0] = base_format;
break;
default:
params[0] = GL_NONE;
break;
}
break;
}
case GL_MANUAL_GENERATE_MIPMAP:
case GL_AUTO_GENERATE_MIPMAP:
case GL_SRGB_READ:
@ -1090,14 +1108,11 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname,
break;
case GL_READ_PIXELS:
case GL_READ_PIXELS_FORMAT:
ctx->Driver.QueryInternalFormat(ctx, target, internalformat, pname,
buffer);
break;
case GL_READ_PIXELS_FORMAT:
/* @TODO */
break;
case GL_READ_PIXELS_TYPE:
/* @TODO */
break;