gallium dri st: Use st_get_current() instead of GET_CURRENT_CONTEXT()
authorThomas Hellstrom <thellstrom-at-vmware-dot-com>
Tue, 28 Apr 2009 12:20:45 +0000 (14:20 +0200)
committerThomas Hellstrom <thellstrom-at-vmware-dot-com>
Tue, 28 Apr 2009 12:22:33 +0000 (14:22 +0200)
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
src/gallium/state_trackers/dri/dri_context.c
src/gallium/state_trackers/dri/dri_drawable.c

index 8e6299c5409339ac372aefa358d267933213dc09..54d2a56356552d445b68c91bf72f3ccdd4ab2efa 100644 (file)
@@ -126,9 +126,7 @@ dri_unbind_context(__DRIcontextPrivate * cPriv)
       struct dri_context *ctx = dri_context(cPriv);
 
       if (--ctx->bind_count == 0) {
-        GET_CURRENT_CONTEXT(curGLCtx);
-
-        if (curGLCtx && ctx->st == curGLCtx->st) {
+        if (ctx->st && ctx->st == st_get_current()) {
            st_flush(ctx->st, PIPE_FLUSH_RENDER_CACHE, NULL);
            st_make_current(NULL, NULL, NULL);
         }
@@ -148,11 +146,10 @@ dri_make_current(__DRIcontextPrivate * cPriv,
       struct dri_screen *screen = dri_screen(cPriv->driScreenPriv);
       struct dri_drawable *draw = dri_drawable(driDrawPriv);
       struct dri_drawable *read = dri_drawable(driReadPriv);
+      struct st_context *old_st = st_get_current();
 
-      GET_CURRENT_CONTEXT(oldGLCtx);
-
-      if (oldGLCtx && oldGLCtx->st != ctx->st)
-        st_flush(oldGLCtx->st, PIPE_FLUSH_RENDER_CACHE, NULL);
+      if (old_st && old_st != ctx->st)
+        st_flush(old_st, PIPE_FLUSH_RENDER_CACHE, NULL);
 
       ++ctx->bind_count;
 
index fd4bae5aeafa689ce0560bd09c829b103a99a807..15a2088df5105410f5a12c8902ef71fef3035279 100644 (file)
@@ -537,15 +537,14 @@ dri_swap_buffers(__DRIdrawablePrivate * dPriv)
    struct dri_drawable *draw = dri_drawable(dPriv);
    struct pipe_screen *screen = dri_screen(draw->sPriv)->pipe_screen;
    struct pipe_fence_handle *fence;
-
-   GET_CURRENT_CONTEXT(glCtx);
+   struct st_context *st = st_get_current();
 
    assert(__dri1_api_hooks != NULL);
 
-   if (!glCtx)
+   if (!st)
       return;                         /* For now */
 
-   ctx = (struct dri_context *)glCtx->st->pipe->priv;
+   ctx = (struct dri_context *)st->pipe->priv;
 
    st_get_framebuffer_surface(draw->stfb, ST_SURFACE_BACK_LEFT, &back_surf);
    if (back_surf) {
@@ -571,15 +570,14 @@ dri_copy_sub_buffer(__DRIdrawablePrivate * dPriv, int x, int y, int w, int h)
    struct pipe_surface *back_surf;
    struct dri_drawable *draw = dri_drawable(dPriv);
    struct pipe_fence_handle *dummy_fence;
-
-   GET_CURRENT_CONTEXT(glCtx);
+   struct st_context *st = st_get_current();
 
    assert(__dri1_api_hooks != NULL);
 
-   if (!glCtx)
+   if (!st)
       return;
 
-   ctx = (struct dri_context *)glCtx->st->pipe->priv;
+   ctx = (struct dri_context *)st->pipe->priv;
 
    sub_bbox.x1 = x;
    sub_bbox.x2 = x + w;