From b15aba940a3b6fc7c9bebc692968e7e9b72b9f29 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 21 Jul 2015 11:43:42 -0400 Subject: [PATCH] glx: Fix image size computation for EXT_texture_integer (v2) Without this this extension basically can't work in indirect contexts, TexImage2D will compute the image size as 0 and we'll send no image data to the server. v2: Add EXT_texture_integer to the client extension list too (Ian) Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson --- src/glx/compsize.c | 10 ++++++++++ src/glx/glxextensions.c | 1 + 2 files changed, 11 insertions(+) diff --git a/src/glx/compsize.c b/src/glx/compsize.c index 99c7763c7f9..805591914c5 100644 --- a/src/glx/compsize.c +++ b/src/glx/compsize.c @@ -65,6 +65,8 @@ __glElementsPerGroup(GLenum format, GLenum type) switch (format) { case GL_RGB: case GL_BGR: + case GL_RGB_INTEGER_EXT: + case GL_BGR_INTEGER_EXT: return 3; case GL_RG: case GL_422_EXT: @@ -74,10 +76,13 @@ __glElementsPerGroup(GLenum format, GLenum type) case GL_DEPTH_STENCIL_NV: case GL_YCBCR_422_APPLE: case GL_LUMINANCE_ALPHA: + case GL_LUMINANCE_ALPHA_INTEGER_EXT: return 2; case GL_RGBA: case GL_BGRA: case GL_ABGR_EXT: + case GL_RGBA_INTEGER_EXT: + case GL_BGRA_INTEGER_EXT: return 4; case GL_COLOR_INDEX: case GL_STENCIL_INDEX: @@ -88,6 +93,11 @@ __glElementsPerGroup(GLenum format, GLenum type) case GL_ALPHA: case GL_LUMINANCE: case GL_INTENSITY: + case GL_RED_INTEGER_EXT: + case GL_GREEN_INTEGER_EXT: + case GL_BLUE_INTEGER_EXT: + case GL_ALPHA_INTEGER_EXT: + case GL_LUMINANCE_INTEGER_EXT: return 1; default: return 0; diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c index cb8cd665a88..3b29aef1234 100644 --- a/src/glx/glxextensions.c +++ b/src/glx/glxextensions.c @@ -241,6 +241,7 @@ static const struct extension_info known_gl_extensions[] = { { GL(EXT_texture_env_combine), VER(1,3), Y, N, N, N }, { GL(EXT_texture_env_dot3), VER(0,0), Y, N, N, N }, { GL(EXT_texture_filter_anisotropic), VER(0,0), Y, N, N, N }, + { GL(EXT_texture_integer), VER(0,0), Y, N, N, N }, { GL(EXT_texture_lod), VER(1,2), Y, N, N, N }, { GL(EXT_texture_lod_bias), VER(1,4), Y, N, N, N }, { GL(EXT_texture_mirror_clamp), VER(0,0), Y, N, N, N }, -- 2.30.2