From 41853b598c0a49b2e75d7013658806d46beceec0 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Thu, 27 Jun 2013 18:20:33 -0700 Subject: [PATCH] mesa: GL_ARB_texture_storage_multisample is not optional with GL_ARB_texture_multisample In Mesa, this extension is implemented purely in software. Drivers may *optionally* provide optimized paths. If a driver enables, GL_ARB_texture_multisample, it gets GL_ARB_texture_storage_multisample for free. NOTE: This has the side effect of enabling the extension in Gallium drivers that enable GL_ARB_texture_multisample. v2 (Ken): Still prevent multisample texture targets in TexParameter for implementations that don't support multisampling. Signed-off-by: Ian Romanick Signed-off-by: Kenneth Graunke Reviewed-by: Brian Paul --- src/mesa/drivers/dri/i965/intel_extensions.c | 1 - src/mesa/main/extensions.c | 2 +- src/mesa/main/mtypes.h | 1 - src/mesa/main/texparam.c | 4 ++-- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c index 50640184e66..980fd724f78 100644 --- a/src/mesa/drivers/dri/i965/intel_extensions.c +++ b/src/mesa/drivers/dri/i965/intel_extensions.c @@ -146,7 +146,6 @@ intelInitExtensions(struct gl_context *ctx) ctx->Extensions.OES_depth_texture_cube_map = true; ctx->Extensions.ARB_shading_language_packing = true; ctx->Extensions.ARB_texture_multisample = true; - ctx->Extensions.ARB_texture_storage_multisample = true; /* Test if the kernel has the ioctl. */ if (drm_intel_reg_read(intel->bufmgr, TIMESTAMP, &dummy) == 0) diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index f914981cb66..3fbdf3fd7db 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -150,7 +150,7 @@ static const struct extension extension_table[] = { { "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(dummy_true), GL, 2011 }, - { "GL_ARB_texture_storage_multisample", o(ARB_texture_storage_multisample), GL, 2012 }, + { "GL_ARB_texture_storage_multisample", o(ARB_texture_multisample), GL, 2012 }, { "GL_ARB_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 }, { "GL_ARB_timer_query", o(ARB_timer_query), GL, 2010 }, { "GL_ARB_transform_feedback2", o(ARB_transform_feedback2), GL, 2010 }, diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index a19ecd6a919..d405ac8177e 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_multisample; GLboolean ARB_timer_query; GLboolean ARB_transform_feedback2; GLboolean ARB_transform_feedback3; diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c index 8ed8fe0980d..39cdad35e8e 100644 --- a/src/mesa/main/texparam.c +++ b/src/mesa/main/texparam.c @@ -176,12 +176,12 @@ get_texobj(struct gl_context *ctx, GLenum target, GLboolean get) } break; case GL_TEXTURE_2D_MULTISAMPLE: - if (ctx->Extensions.ARB_texture_storage_multisample) { + if (ctx->Extensions.ARB_texture_multisample) { return texUnit->CurrentTex[TEXTURE_2D_MULTISAMPLE_INDEX]; } break; case GL_TEXTURE_2D_MULTISAMPLE_ARRAY: - if (ctx->Extensions.ARB_texture_storage_multisample) { + if (ctx->Extensions.ARB_texture_multisample) { return texUnit->CurrentTex[TEXTURE_2D_MULTISAMPLE_ARRAY_INDEX]; } break; -- 2.30.2