summaryrefslogtreecommitdiff
path: root/cogl/cogl-context-private.h
diff options
context:
space:
mode:
authorNeil Roberts <neil@linux.intel.com>2012-03-27 14:43:04 +0100
committerNeil Roberts <neil@linux.intel.com>2012-04-05 13:52:43 +0100
commit2037e0f4f1bb61a5731d38d4b49c49a781f4c4e5 (patch)
tree72039bfc09d0c88a9c62e2dff2347de9de8c33ad /cogl/cogl-context-private.h
parentec5009fa23b11f9df9ffeead7bdf0de3fa12cd07 (diff)
downloadcogl-2037e0f4f1bb61a5731d38d4b49c49a781f4c4e5.tar.gz
Add a mechanism for determining GPU driver details
This adds a CoglGpuInfo struct to the CoglContext which contains some enums describing the GL driver in use. This currently includes the driver package (ie, is it Mesa) the version number of the package and the vendor of the GPU (ie, is it by Intel). There is also a bitmask which will contain the workarounds that we should do for that particular driver configuration. The struct is initialised on context creation by using a series of string comparisons on the strings returned from glGetString. Reviewed-by: Robert Bragg <robert@linux.intel.com>
Diffstat (limited to 'cogl/cogl-context-private.h')
-rw-r--r--cogl/cogl-context-private.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/cogl/cogl-context-private.h b/cogl/cogl-context-private.h
index ccc5b6d2..333235bb 100644
--- a/cogl/cogl-context-private.h
+++ b/cogl/cogl-context-private.h
@@ -48,6 +48,7 @@
#include "cogl-texture-3d.h"
#include "cogl-texture-rectangle.h"
#include "cogl-sampler-cache-private.h"
+#include "cogl-gpu-info-private.h"
typedef struct
{
@@ -64,6 +65,10 @@ struct _CoglContext
CoglDriver driver;
+ /* Information about the GPU and driver which we can use to
+ determine certain workarounds */
+ CoglGpuInfo gpu;
+
/* vtables for the driver functions */
const CoglDriverVtable *driver_vtable;
const CoglTextureDriver *texture_driver;