diff options
Diffstat (limited to 'src/mesa/main/readpix.c')
-rw-r--r-- | src/mesa/main/readpix.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c index e8c28d86162..2cbb578a37f 100644 --- a/src/mesa/main/readpix.c +++ b/src/mesa/main/readpix.c @@ -939,6 +939,25 @@ read_pixels_es3_error_check(struct gl_context *ctx, GLenum format, GLenum type, return GL_NO_ERROR; } } + if (type == GL_SHORT) { + switch (internalFormat) { + case GL_R16_SNORM: + case GL_RG16_SNORM: + case GL_RGBA16_SNORM: + if (_mesa_has_EXT_texture_norm16(ctx) && + _mesa_has_EXT_render_snorm(ctx)) + return GL_NO_ERROR; + } + } + if (type == GL_BYTE) { + switch (internalFormat) { + case GL_R8_SNORM: + case GL_RG8_SNORM: + case GL_RGBA8_SNORM: + if (_mesa_has_EXT_render_snorm(ctx)) + return GL_NO_ERROR; + } + } break; case GL_BGRA: /* GL_EXT_read_format_bgra */ |