[Mesa-dev] [PATCH 02/18] mesa: Add {OES, EXT}_tessellation_shader to the extensions table.

Kenneth Graunke kenneth at whitecape.org
Mon Aug 1 17:29:29 UTC 2016


Also update _mesa_has_tessellation to know about the new extensions.

For now, these are dummy_false, to avoid turning on the extension
until everything's in place.  Eventually, we'll move them over to
the "ARB_tessellation_shader" bit so that any drivers supporting
both the desktop extension and ES 3.1 get the feature.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/mesa/main/context.h          | 7 +++++--
 src/mesa/main/extensions_table.h | 4 ++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h
index 133b17f..1871388 100644
--- a/src/mesa/main/context.h
+++ b/src/mesa/main/context.h
@@ -354,8 +354,11 @@ _mesa_has_shader_subroutine(const struct gl_context *ctx)
 static inline GLboolean
 _mesa_has_tessellation(const struct gl_context *ctx)
 {
-   return ctx->API == API_OPENGL_CORE &&
-          ctx->Extensions.ARB_tessellation_shader;
+   /* _mesa_has_EXT_tessellation_shader(ctx) is redundant with the OES
+    * check, so don't bother calling it.
+    */
+   return _mesa_has_OES_tessellation_shader(ctx) ||
+          _mesa_has_ARB_tessellation_shader(ctx);
 }
 
 
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index cbb3fb8..a83d9b7 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -234,6 +234,8 @@ EXT(EXT_shadow_funcs                        , ARB_shadow
 EXT(EXT_stencil_two_side                    , EXT_stencil_two_side                   , GLL,  x ,  x ,  x , 2001)
 EXT(EXT_stencil_wrap                        , dummy_true                             , GLL,  x ,  x ,  x , 2002)
 EXT(EXT_subtexture                          , dummy_true                             , GLL,  x ,  x ,  x , 1995)
+EXT(EXT_tessellation_point_size             , dummy_false                            ,  x ,  x ,  x ,  31, 2013)
+EXT(EXT_tessellation_shader                 , dummy_false                            ,  x ,  x ,  x ,  31, 2013)
 EXT(EXT_texture                             , dummy_true                             , GLL,  x ,  x ,  x , 1996)
 EXT(EXT_texture3D                           , dummy_true                             , GLL,  x ,  x ,  x , 1996)
 EXT(EXT_texture_array                       , EXT_texture_array                      , GLL, GLC,  x ,  x , 2006)
@@ -359,6 +361,8 @@ EXT(OES_stencil4                            , dummy_false
 EXT(OES_stencil8                            , dummy_true                             ,  x ,  x , ES1, ES2, 2005)
 EXT(OES_stencil_wrap                        , dummy_true                             ,  x ,  x , ES1,  x , 2002)
 EXT(OES_surfaceless_context                 , dummy_true                             ,  x ,  x , ES1, ES2, 2012)
+EXT(OES_tessellation_point_size             , dummy_false                            ,  x ,  x ,  x ,  31, 2014)
+EXT(OES_tessellation_shader                 , dummy_false                            ,  x ,  x ,  x ,  31, 2014)
 EXT(OES_texture_3D                          , dummy_true                             ,  x ,  x ,  x , ES2, 2005)
 EXT(OES_texture_border_clamp                , ARB_texture_border_clamp               ,  x ,  x ,  x , ES2, 2014)
 EXT(OES_texture_buffer                      , OES_texture_buffer                     ,  x ,  x ,  x ,  31, 2014)
-- 
2.9.2



More information about the mesa-dev mailing list