]> git.notmuchmail.org Git - apitrace/blobdiff - glws_glx.cpp
Cache context profile in glws::Context.
[apitrace] / glws_glx.cpp
index 3c49de81309dd25983da7a3eca51efee5d14f3a1..9c90fe2b09b387e50ec1e6f7250f1e1bd1b50d4a 100644 (file)
@@ -205,8 +205,8 @@ class GlxContext : public Context
 public:
     GLXContext context;
 
-    GlxContext(const Visual *vis, GLXContext ctx) :
-        Context(vis),
+    GlxContext(const Visual *vis, Profile prof, GLXContext ctx) :
+        Context(vis, prof),
         context(ctx)
     {}
 
@@ -293,12 +293,16 @@ createDrawable(const Visual *visual, int width, int height)
 }
 
 Context *
-createContext(const Visual *_visual, Context *shareContext)
+createContext(const Visual *_visual, Context *shareContext, Profile profile)
 {
     const GlxVisual *visual = dynamic_cast<const GlxVisual *>(_visual);
     GLXContext share_context = NULL;
     GLXContext context;
 
+    if (profile != PROFILE_COMPAT) {
+        return NULL;
+    }
+
     if (shareContext) {
         share_context = dynamic_cast<GlxContext*>(shareContext)->context;
     }
@@ -319,7 +323,7 @@ createContext(const Visual *_visual, Context *shareContext)
         context = glXCreateContext(display, visual->visinfo, share_context, True);
     }
 
-    return new GlxContext(visual, context);
+    return new GlxContext(visual, profile, context);
 }
 
 bool