From d5b6b7a39ba91f21278a2ad24c4ad00d454c73c6 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Thu, 27 Jun 2013 18:20:32 -0700 Subject: [PATCH] mesa: GL_ARB_texture_storage is not optional In Mesa, this extension is implemented purely in software. Drivers may *optionally* provide optimized paths. NOTE: This has the side effect of enabling the extension in the radeon, r200, and nouveau drivers. v2: Minor whitespace tidying (suggested by Brian). Signed-off-by: Ian Romanick Reviewed-by: Kenneth Graunke Reviewed-by: Brian Paul --- docs/relnotes/9.2.html | 1 + src/mesa/drivers/dri/i915/intel_extensions.c | 1 - src/mesa/drivers/dri/i965/intel_extensions.c | 1 - src/mesa/main/extensions.c | 3 +-- src/mesa/main/mtypes.h | 1 - src/mesa/main/teximage.c | 8 ++------ src/mesa/main/texparam.c | 4 ---- src/mesa/state_tracker/st_extensions.c | 1 - 8 files changed, 4 insertions(+), 16 deletions(-) diff --git a/docs/relnotes/9.2.html b/docs/relnotes/9.2.html index 2f2c39415d5..1f49191148e 100644 --- a/docs/relnotes/9.2.html +++ b/docs/relnotes/9.2.html @@ -48,6 +48,7 @@ Note: some of the new features are only available with certain drivers.
  • GL_ARB_texture_multisample
  • GL_ARB_texture_storage_multisample
  • GL_ARB_texture_query_lod
  • +
  • Enable GL_ARB_texture_storage on radeon, r200, and nouveau
  • Added new freedreno gallium driver
  • OSMesa interface for gallium llvmpipe/softpipe drivers
  • Gallium Heads-Up Display (HUD) feature for performance monitoring
  • diff --git a/src/mesa/drivers/dri/i915/intel_extensions.c b/src/mesa/drivers/dri/i915/intel_extensions.c index 74b304a23c4..479217b889d 100644 --- a/src/mesa/drivers/dri/i915/intel_extensions.c +++ b/src/mesa/drivers/dri/i915/intel_extensions.c @@ -57,7 +57,6 @@ intelInitExtensions(struct gl_context *ctx) ctx->Extensions.ARB_texture_env_combine = true; ctx->Extensions.ARB_texture_env_crossbar = true; ctx->Extensions.ARB_texture_env_dot3 = true; - ctx->Extensions.ARB_texture_storage = true; ctx->Extensions.ARB_vertex_program = true; ctx->Extensions.ARB_vertex_shader = true; ctx->Extensions.EXT_blend_color = true; diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c index 23b74a521d2..50640184e66 100644 --- a/src/mesa/drivers/dri/i965/intel_extensions.c +++ b/src/mesa/drivers/dri/i965/intel_extensions.c @@ -79,7 +79,6 @@ intelInitExtensions(struct gl_context *ctx) ctx->Extensions.ARB_texture_non_power_of_two = true; ctx->Extensions.ARB_texture_rg = true; ctx->Extensions.ARB_texture_rgb10_a2ui = true; - ctx->Extensions.ARB_texture_storage = true; ctx->Extensions.ARB_vertex_program = true; ctx->Extensions.ARB_vertex_shader = true; ctx->Extensions.ARB_vertex_type_2_10_10_10_rev = true; diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 73282e13b51..f914981cb66 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -149,7 +149,7 @@ static const struct extension extension_table[] = { { "GL_ARB_texture_rectangle", o(NV_texture_rectangle), GL, 2004 }, { "GL_ARB_texture_rgb10_a2ui", o(ARB_texture_rgb10_a2ui), GL, 2009 }, { "GL_ARB_texture_rg", o(ARB_texture_rg), GL, 2008 }, - { "GL_ARB_texture_storage", o(ARB_texture_storage), GL, 2011 }, + { "GL_ARB_texture_storage", o(dummy_true), GL, 2011 }, { "GL_ARB_texture_storage_multisample", o(ARB_texture_storage_multisample), GL, 2012 }, { "GL_ARB_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 }, { "GL_ARB_timer_query", o(ARB_timer_query), GL, 2010 }, @@ -403,7 +403,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE; ctx->Extensions.ARB_texture_rg = GL_TRUE; ctx->Extensions.ARB_texture_compression_rgtc = GL_TRUE; - ctx->Extensions.ARB_texture_storage = GL_TRUE; ctx->Extensions.ARB_vertex_program = GL_TRUE; ctx->Extensions.ARB_vertex_shader = GL_TRUE; ctx->Extensions.ARB_sync = GL_TRUE; diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 287934139de..a19ecd6a919 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -3036,7 +3036,6 @@ struct gl_extensions GLboolean ARB_texture_query_lod; GLboolean ARB_texture_rg; GLboolean ARB_texture_rgb10_a2ui; - GLboolean ARB_texture_storage; GLboolean ARB_texture_storage_multisample; GLboolean ARB_timer_query; GLboolean ARB_transform_feedback2; diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 5226687ff92..11184965513 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -1852,12 +1852,8 @@ legal_texsubimage_target(struct gl_context *ctx, GLuint dims, GLenum target) static GLboolean mutable_tex_object(struct gl_context *ctx, GLenum target) { - if (ctx->Extensions.ARB_texture_storage) { - struct gl_texture_object *texObj = - _mesa_get_current_tex_object(ctx, target); - return !texObj->Immutable; - } - return GL_TRUE; + struct gl_texture_object *texObj = _mesa_get_current_tex_object(ctx, target); + return !texObj->Immutable; } diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c index 9507bc3947f..8ed8fe0980d 100644 --- a/src/mesa/main/texparam.c +++ b/src/mesa/main/texparam.c @@ -1541,8 +1541,6 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) break; case GL_TEXTURE_IMMUTABLE_FORMAT: - if (!ctx->Extensions.ARB_texture_storage) - goto invalid_pname; *params = (GLfloat) obj->Immutable; break; @@ -1724,8 +1722,6 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ) break; case GL_TEXTURE_IMMUTABLE_FORMAT: - if (!ctx->Extensions.ARB_texture_storage) - goto invalid_pname; *params = (GLint) obj->Immutable; break; diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index cd24ed3e27f..906eb07a220 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -542,7 +542,6 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.ARB_texture_env_combine = GL_TRUE; ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE; ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE; - ctx->Extensions.ARB_texture_storage = GL_TRUE; ctx->Extensions.ARB_vertex_program = GL_TRUE; ctx->Extensions.ARB_vertex_shader = GL_TRUE; -- 2.11.0