From: Dave Airlie <airl...@redhat.com> Glamor works out from the profile if it is core.
This flag is used to disable quads for rendering. v1.1: split long line + make whitespace conform (Michel) v1.2: add GL 3.1 version defines v2: move to having glamor work out the profile. Signed-off-by: Dave Airlie <airl...@redhat.com> --- glamor/glamor.c | 8 +++++++- glamor/glamor.h | 4 ++++ glamor/glamor_priv.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/glamor/glamor.c b/glamor/glamor.c index 7fa3a46..e751a09 100644 --- a/glamor/glamor.c +++ b/glamor/glamor.c @@ -576,9 +576,15 @@ glamor_init(ScreenPtr screen, unsigned int flags) glamor_priv->has_vertex_array_object = epoxy_has_gl_extension("GL_ARB_vertex_array_object"); + /* assume a core profile if we are GL 3.1 and don't have ARB_compatibility */ + glamor_priv->is_core_profile = + gl_version >= 31 && !epoxy_has_gl_extension("GL_ARB_compatibility"); + glamor_setup_debug_output(screen); - glamor_priv->use_quads = (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP); + glamor_priv->use_quads = (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) && + !glamor_priv->is_core_profile; + /* Driver-specific hack: Avoid using GL_QUADS on VC4, where * they'll be emulated more expensively than we can with our * cached IB. diff --git a/glamor/glamor.h b/glamor/glamor.h index a4e0655..a73e9ef 100644 --- a/glamor/glamor.h +++ b/glamor/glamor.h @@ -66,6 +66,10 @@ typedef enum glamor_pixmap_type { #define GLAMOR_VALID_FLAGS (GLAMOR_USE_EGL_SCREEN \ | GLAMOR_NO_DRI3) +/* until we need geometry shaders GL3.1 should suffice. */ +#define GLAMOR_GL_CORE_VER_MAJOR 3 +#define GLAMOR_GL_CORE_VER_MINOR 1 + /* @glamor_init: Initialize glamor internal data structure. * * @screen: Current screen pointer. diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h index d58c40f..a90c3ac 100644 --- a/glamor/glamor_priv.h +++ b/glamor/glamor_priv.h @@ -210,6 +210,7 @@ typedef struct glamor_screen_private { Bool use_quads; Bool has_dual_blend; Bool has_vertex_array_object; + Bool is_core_profile; int max_fbo_size; GLuint one_channel_format; -- 2.4.3 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel