i965: Refactor the renderer string creation out of intelGetString
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 11 Oct 2013 19:20:57 +0000 (12:20 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 8 Nov 2013 02:08:15 +0000 (18:08 -0800)
This will soon be used in intel_screen.c from a function that doesn't
have a gl_context.

v2: Delete local variables that are now unused.  This matches v1 of the
changes to the i915 driver.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/i965/brw_context.h

index 7adf07289d76c58ba429c58d26152d453c364508..700230b4932d515d114ce53bf4b5a025926de800 100644 (file)
@@ -96,29 +96,37 @@ brw_query_samples_for_format(struct gl_context *ctx, GLenum target,
 
 const char *const brw_vendor_string = "Intel Open Source Technology Center";
 
+const char *
+brw_get_renderer_string(unsigned deviceID)
+{
+   const char *chipset;
+   static char buffer[128];
+
+   switch (deviceID) {
+#undef CHIPSET
+#define CHIPSET(id, symbol, str) case id: chipset = str; break;
+#include "pci_ids/i965_pci_ids.h"
+   default:
+      chipset = "Unknown Intel Chipset";
+      break;
+   }
+
+   (void) driGetRendererString(buffer, chipset, 0);
+   return buffer;
+}
+
 static const GLubyte *
 intelGetString(struct gl_context * ctx, GLenum name)
 {
    const struct brw_context *const brw = brw_context(ctx);
-   const char *chipset;
-   static char buffer[128];
 
    switch (name) {
    case GL_VENDOR:
       return (GLubyte *) brw_vendor_string;
 
    case GL_RENDERER:
-      switch (brw->intelScreen->deviceID) {
-#undef CHIPSET
-#define CHIPSET(id, family, str) case id: chipset = str; break;
-#include "pci_ids/i965_pci_ids.h"
-      default:
-         chipset = "Unknown Intel Chipset";
-         break;
-      }
-
-      (void) driGetRendererString(buffer, chipset, 0);
-      return (GLubyte *) buffer;
+      return
+         (GLubyte *) brw_get_renderer_string(brw->intelScreen->deviceID);
 
    default:
       return NULL;
index 6b15c483b4fdeb29d99fd620b981f0951abfbb4b..8b1cbb34d7b635ea844f37272e260234caf5ae78 100644 (file)
@@ -1463,6 +1463,8 @@ extern void intelInitClearFuncs(struct dd_function_table *functions);
  */
 extern const char *const brw_vendor_string;
 
+extern const char *brw_get_renderer_string(unsigned deviceID);
+
 extern void intelFinish(struct gl_context * ctx);
 
 enum {