[Mesa-dev] [PATCH 03/25] glx: move dri2_convert_glx_query_renderer_attribs into a common place

Emil Velikov emil.l.velikov at gmail.com
Fri Feb 21 19:03:53 PST 2014


This way we can reuse it for drisw and dri3.
Squash a couple minor whitespace fixes while we're here.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
 src/glx/dri2_query_renderer.c | 34 +---------------------------------
 src/glx/dri_common.c          | 40 ++++++++++++++++++++++++++++++++++++----
 src/glx/dri_common.h          |  3 +++
 3 files changed, 40 insertions(+), 37 deletions(-)

diff --git a/src/glx/dri2_query_renderer.c b/src/glx/dri2_query_renderer.c
index 3baba86..5d66064 100644
--- a/src/glx/dri2_query_renderer.c
+++ b/src/glx/dri2_query_renderer.c
@@ -25,41 +25,9 @@
 #include "xf86drm.h"
 #include "dri2.h"
 #include "dri_interface.h"
+#include "dri_common.h"
 #include "dri2_priv.h"
 
-#define __RENDERER(attrib) \
-    { GLX_RENDERER_##attrib##_MESA, __DRI2_RENDERER_##attrib }
-
-static const struct {
-   unsigned int glx_attrib, dri2_attrib;
-} query_renderer_map[] = {
-  __RENDERER(VENDOR_ID),
-  __RENDERER(DEVICE_ID),
-  __RENDERER(VERSION),
-  __RENDERER(ACCELERATED),
-  __RENDERER(VIDEO_MEMORY),
-  __RENDERER(UNIFIED_MEMORY_ARCHITECTURE),
-  __RENDERER(PREFERRED_PROFILE),
-  __RENDERER(OPENGL_CORE_PROFILE_VERSION),
-  __RENDERER(OPENGL_COMPATIBILITY_PROFILE_VERSION),
-  __RENDERER(OPENGL_ES_PROFILE_VERSION),
-  __RENDERER(OPENGL_ES2_PROFILE_VERSION),
-};
-
-#undef __RENDERER
-
-static int
-dri2_convert_glx_query_renderer_attribs(int attribute)
-{
-   int i;
-
-   for (i = 0; i < ARRAY_SIZE(query_renderer_map); i++)
-      if (query_renderer_map[i].glx_attrib == attribute)
-         return query_renderer_map[i].dri2_attrib;
-
-   return -1;
-}
-
 _X_HIDDEN int
 dri2_query_renderer_integer(struct glx_screen *base, int attribute,
                             unsigned int *value)
diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c
index 012c8f4..fb70107 100644
--- a/src/glx/dri_common.c
+++ b/src/glx/dri_common.c
@@ -204,7 +204,7 @@ static const struct
 {
    unsigned int attrib, offset;
 } attribMap[] = {
-   __ATTRIB(__DRI_ATTRIB_BUFFER_SIZE, rgbBits),
+      __ATTRIB(__DRI_ATTRIB_BUFFER_SIZE, rgbBits),
       __ATTRIB(__DRI_ATTRIB_LEVEL, level),
       __ATTRIB(__DRI_ATTRIB_RED_SIZE, redBits),
       __ATTRIB(__DRI_ATTRIB_GREEN_SIZE, greenBits),
@@ -241,10 +241,9 @@ static const struct
 #if 0
       __ATTRIB(__DRI_ATTRIB_SWAP_METHOD, swapMethod),
 #endif
-__ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGB, bindToTextureRgb),
+      __ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGB, bindToTextureRgb),
       __ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGBA, bindToTextureRgba),
-      __ATTRIB(__DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE,
-                     bindToMipmapTexture),
+      __ATTRIB(__DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE, bindToMipmapTexture),
       __ATTRIB(__DRI_ATTRIB_YINVERTED, yInverted),
       __ATTRIB(__DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE, sRGBCapable)
 };
@@ -593,4 +592,37 @@ dri2_convert_glx_attribs(unsigned num_attribs, const uint32_t *attribs,
    return true;
 }
 
+#define __RENDERER(attrib) \
+    { GLX_RENDERER_##attrib##_MESA, __DRI2_RENDERER_##attrib }
+
+static const struct {
+   unsigned int glx_attrib, dri2_attrib;
+} query_renderer_map[] = {
+  __RENDERER(VENDOR_ID),
+  __RENDERER(DEVICE_ID),
+  __RENDERER(VERSION),
+  __RENDERER(ACCELERATED),
+  __RENDERER(VIDEO_MEMORY),
+  __RENDERER(UNIFIED_MEMORY_ARCHITECTURE),
+  __RENDERER(PREFERRED_PROFILE),
+  __RENDERER(OPENGL_CORE_PROFILE_VERSION),
+  __RENDERER(OPENGL_COMPATIBILITY_PROFILE_VERSION),
+  __RENDERER(OPENGL_ES_PROFILE_VERSION),
+  __RENDERER(OPENGL_ES2_PROFILE_VERSION),
+};
+
+#undef __RENDERER
+
+_X_HIDDEN int
+dri2_convert_glx_query_renderer_attribs(int attribute)
+{
+   int i;
+
+   for (i = 0; i < ARRAY_SIZE(query_renderer_map); i++)
+      if (query_renderer_map[i].glx_attrib == attribute)
+         return query_renderer_map[i].dri2_attrib;
+
+   return -1;
+}
+
 #endif /* GLX_DIRECT_RENDERING */
diff --git a/src/glx/dri_common.h b/src/glx/dri_common.h
index 6234fd8..fc3b660 100644
--- a/src/glx/dri_common.h
+++ b/src/glx/dri_common.h
@@ -85,4 +85,7 @@ dri2_convert_glx_attribs(unsigned num_attribs, const uint32_t *attribs,
                          uint32_t *render_type, uint32_t *flags, unsigned *api,
                          int *reset, unsigned *error);
 
+extern int
+dri2_convert_glx_query_renderer_attribs(int attribute);
+
 #endif /* _DRI_COMMON_H */
-- 
1.9.0



More information about the mesa-dev mailing list