diff options
author | Roland Scheidegger <[email protected]> | 2007-07-15 22:47:42 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2007-07-15 22:47:42 +0200 |
commit | a1ec23a30f3ff9583b32428c2c357b9ef66f3a50 (patch) | |
tree | c213baa8482e4b38153ccf613d3fabc1ad259d5e /src/mesa/drivers | |
parent | 8172f50419b370c4608d1bbc6cac4d77e3e45804 (diff) |
fix bogus fb/drawable information (fixes xdemos/wincopy)
the framebuffer objects attached to drawables can have invalidate state
associated with them, since for the window framebuffer this is per-context
state and not per-fbo state. Since drivers may rely on that information
(otherwise would need to check if currently the window-framebuffer is
bound in a lot of places) fix it up in _mesa_make_current (ugly).
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i915tex/intel_context.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i915tex/intel_context.c b/src/mesa/drivers/dri/i915tex/intel_context.c index 146426fd371..cb3ec4ccfad 100644 --- a/src/mesa/drivers/dri/i915tex/intel_context.c +++ b/src/mesa/drivers/dri/i915tex/intel_context.c @@ -289,8 +289,9 @@ static void intelCheckFrontUpdate(GLcontext * ctx) { struct intel_context *intel = intel_context(ctx); - if (intel->ctx.DrawBuffer->_ColorDrawBufferMask[0] == - BUFFER_BIT_FRONT_LEFT) { + /* can't use _ColorDrawBufferMask as its value + might change if a different drawable is bound! */ + if (ctx->Color.DrawBuffer[0] == GL_FRONT_LEFT) { intelScreenPrivate *screen = intel->intelScreen; __DRIdrawablePrivate *dPriv = intel->driDrawable; if (screen->current_rotation != 0) { |