[Mesa-dev] [PATCH] mesa: remove struct gl_extensions::ATI_separate_stencil
Roland Scheidegger
sroland at vmware.com
Tue Apr 10 16:27:40 UTC 2018
Yes, there is indeed plenty hw (all with d3d heritage, d3d10 doesn't
support different ref/masks) which don't actually have full support for
two-sided stencil.
I think all drivers just cheat and fail though since they really want to
expose GL 2 anyway.
So I suppose that's ok, albeit I don't really have an opinion on it.
Roland
Am 10.04.2018 um 18:11 schrieb Emil Velikov:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> Virtually every driver that supports ATI_separate_stencil
> also supports EXT_stencil_two_side.
>
> Use the latter boolean for both extension. With that in mind we can drop
> the explicit true from the drivers and the nasty comment in
> compute_version().
>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> Noticed while skimming through compute_version(). I don't have a strong
> opinion about this patch.
> ---
> src/mesa/drivers/dri/i915/intel_extensions.c | 1 -
> src/mesa/drivers/dri/i965/intel_extensions.c | 1 -
> src/mesa/main/extensions.c | 1 -
> src/mesa/main/extensions_table.h | 2 +-
> src/mesa/main/mtypes.h | 1 -
> src/mesa/main/version.c | 10 +---------
> src/mesa/state_tracker/st_extensions.c | 1 -
> 7 files changed, 2 insertions(+), 15 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i915/intel_extensions.c b/src/mesa/drivers/dri/i915/intel_extensions.c
> index c85bd787fe..9c5398ef85 100644
> --- a/src/mesa/drivers/dri/i915/intel_extensions.c
> +++ b/src/mesa/drivers/dri/i915/intel_extensions.c
> @@ -89,7 +89,6 @@ intelInitExtensions(struct gl_context *ctx)
> ctx->Extensions.EXT_texture_sRGB = true;
> ctx->Extensions.EXT_texture_sRGB_decode = true;
> ctx->Extensions.EXT_stencil_two_side = true;
> - ctx->Extensions.ATI_separate_stencil = true;
> ctx->Extensions.ATI_texture_env_combine3 = true;
> ctx->Extensions.NV_texture_env_combine4 = true;
>
> diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c
> index 73a6c73f53..a9a564d8a6 100644
> --- a/src/mesa/drivers/dri/i965/intel_extensions.c
> +++ b/src/mesa/drivers/dri/i965/intel_extensions.c
> @@ -118,7 +118,6 @@ intelInitExtensions(struct gl_context *ctx)
> ctx->Extensions.KHR_robustness = true;
> ctx->Extensions.AMD_seamless_cubemap_per_texture = true;
> ctx->Extensions.APPLE_object_purgeable = true;
> - ctx->Extensions.ATI_separate_stencil = true;
> ctx->Extensions.ATI_texture_env_combine3 = true;
> ctx->Extensions.MESA_pack_invert = true;
> ctx->Extensions.NV_conditional_render = true;
> diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
> index 38fc52d020..10cd92708f 100644
> --- a/src/mesa/main/extensions.c
> +++ b/src/mesa/main/extensions.c
> @@ -144,7 +144,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
> ctx->Extensions.ATI_texture_compression_3dc = GL_TRUE;
> ctx->Extensions.ATI_texture_env_combine3 = GL_TRUE;
> ctx->Extensions.ATI_texture_mirror_once = GL_TRUE;
> - ctx->Extensions.ATI_separate_stencil = GL_TRUE;
> ctx->Extensions.EXT_blend_color = GL_TRUE;
> ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
> ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
> diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
> index 492f7c3d20..199dec820f 100644
> --- a/src/mesa/main/extensions_table.h
> +++ b/src/mesa/main/extensions_table.h
> @@ -187,7 +187,7 @@ EXT(ATI_blend_equation_separate , EXT_blend_equation_separate
> EXT(ATI_draw_buffers , dummy_true , GLL, x , x , x , 2002)
> EXT(ATI_fragment_shader , ATI_fragment_shader , GLL, x , x , x , 2001)
> EXT(ATI_meminfo , ATI_meminfo , GLL, GLC, x , x , 2009)
> -EXT(ATI_separate_stencil , ATI_separate_stencil , GLL, x , x , x , 2006)
> +EXT(ATI_separate_stencil , EXT_stencil_two_side , GLL, x , x , x , 2006)
> EXT(ATI_texture_compression_3dc , ATI_texture_compression_3dc , GLL, x , x , x , 2004)
> EXT(ATI_texture_env_combine3 , ATI_texture_env_combine3 , GLL, x , x , x , 2002)
> EXT(ATI_texture_float , ARB_texture_float , GLL, GLC, x , x , 2002)
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index b7a7b34a09..c61a4e9bb2 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -4333,7 +4333,6 @@ struct gl_extensions
> GLboolean ATI_texture_mirror_once;
> GLboolean ATI_texture_env_combine3;
> GLboolean ATI_fragment_shader;
> - GLboolean ATI_separate_stencil;
> GLboolean GREMEDY_string_marker;
> GLboolean INTEL_conservative_rasterization;
> GLboolean INTEL_performance_query;
> diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
> index 0a4e7630da..4314556b65 100644
> --- a/src/mesa/main/version.c
> +++ b/src/mesa/main/version.c
> @@ -261,15 +261,7 @@ compute_version(const struct gl_extensions *extensions,
> extensions->ARB_fragment_shader &&
> extensions->ARB_texture_non_power_of_two &&
> extensions->EXT_blend_equation_separate &&
> -
> - /* Technically, 2.0 requires the functionality of the
> - * EXT version. Enable 2.0 if either extension is
> - * available, and assume that a driver that only
> - * exposes the ATI extension will fallback to
> - * software when necessary.
> - */
> - (extensions->EXT_stencil_two_side
> - || extensions->ATI_separate_stencil));
> + extensions->EXT_stencil_two_side);
> const bool ver_2_1 = (ver_2_0 &&
> extensions->EXT_pixel_buffer_object &&
> extensions->EXT_texture_sRGB);
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index 0dc8adb262..86121c98d4 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -890,7 +890,6 @@ void st_init_extensions(struct pipe_screen *screen,
> extensions->EXT_texture_env_dot3 = GL_TRUE;
>
> extensions->ATI_fragment_shader = GL_TRUE;
> - extensions->ATI_separate_stencil = GL_TRUE;
> extensions->ATI_texture_env_combine3 = GL_TRUE;
>
> extensions->MESA_pack_invert = GL_TRUE;
>
More information about the mesa-dev
mailing list