On Tue, Apr 10, 2018 at 12:27 PM, Roland Scheidegger <srol...@vmware.com> wrote:
> 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. > r300 hw can't do the EXT one, but the driver emulates it by converting each draw call into two, one for each side. Marek > > Roland > > > Am 10.04.2018 um 18:11 schrieb Emil Velikov: > > From: Emil Velikov <emil.veli...@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.veli...@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; > > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev