i915: Refactor the renderer string creation out of intelGetString
This will soon be used in intel_screen.c from a function that doesn't have a gl_context. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -62,29 +62,37 @@ int INTEL_DEBUG = (0);
|
|||||||
|
|
||||||
const char *const i915_vendor_string = "Intel Open Source Technology Center";
|
const char *const i915_vendor_string = "Intel Open Source Technology Center";
|
||||||
|
|
||||||
|
const char *
|
||||||
|
i915_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/i915_pci_ids.h"
|
||||||
|
default:
|
||||||
|
chipset = "Unknown Intel Chipset";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
(void) driGetRendererString(buffer, chipset, 0);
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
static const GLubyte *
|
static const GLubyte *
|
||||||
intelGetString(struct gl_context * ctx, GLenum name)
|
intelGetString(struct gl_context * ctx, GLenum name)
|
||||||
{
|
{
|
||||||
const struct intel_context *const intel = intel_context(ctx);
|
const struct intel_context *const intel = intel_context(ctx);
|
||||||
const char *chipset;
|
|
||||||
static char buffer[128];
|
|
||||||
|
|
||||||
switch (name) {
|
switch (name) {
|
||||||
case GL_VENDOR:
|
case GL_VENDOR:
|
||||||
return (GLubyte *) i915_vendor_string;
|
return (GLubyte *) i915_vendor_string;
|
||||||
|
|
||||||
case GL_RENDERER:
|
case GL_RENDERER:
|
||||||
switch (intel->intelScreen->deviceID) {
|
return
|
||||||
#undef CHIPSET
|
(GLubyte *) i915_get_renderer_string(intel->intelScreen->deviceID);
|
||||||
#define CHIPSET(id, symbol, str) case id: chipset = str; break;
|
|
||||||
#include "pci_ids/i915_pci_ids.h"
|
|
||||||
default:
|
|
||||||
chipset = "Unknown Intel Chipset";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
(void) driGetRendererString(buffer, chipset, 0);
|
|
||||||
return (GLubyte *) buffer;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@@ -395,6 +395,8 @@ extern int INTEL_DEBUG;
|
|||||||
|
|
||||||
extern const char *const i915_vendor_string;
|
extern const char *const i915_vendor_string;
|
||||||
|
|
||||||
|
extern const char *i915_get_renderer_string(unsigned deviceID);
|
||||||
|
|
||||||
extern bool intelInitContext(struct intel_context *intel,
|
extern bool intelInitContext(struct intel_context *intel,
|
||||||
int api,
|
int api,
|
||||||
unsigned major_version,
|
unsigned major_version,
|
||||||
|
Reference in New Issue
Block a user