Fix viewport issue
authorCooper Yuan <cooperyuan@gmail.com>
Fri, 26 Jun 2009 09:04:53 +0000 (17:04 +0800)
committerCooper Yuan <cooperyuan@gmail.com>
Fri, 26 Jun 2009 09:04:53 +0000 (17:04 +0800)
src/mesa/drivers/dri/r600/r700_render.c
src/mesa/drivers/dri/r600/r700_state.c

index e46b21c85c15b621d95efce9fd59d7d41384f678..b496543e1d88a1197573643a061539931512bc77 100644 (file)
@@ -44,6 +44,7 @@
 #include "tnl/t_vertex.h"
 #include "tnl/t_pipeline.h"
 
+#include "radeon_lock.h"
 #include "r600_context.h"
 #include "r600_cmdbuf.h"
 
@@ -295,6 +296,9 @@ static GLboolean r700RunRender(GLcontext * ctx,
     /* flush vtx */
     //r700SyncSurf(context); /*  */
 
+    LOCK_HARDWARE( &context->radeon );
+    UNLOCK_HARDWARE( &context->radeon );
+
     r700SendContextStates(context);
     r700SendViewportState(context, 0);
     r700SendRenderTargetState(context, 0);
index b22e1765a3e866cafc8a73b1a4b700ba0fce7df7..a98ffedba0678e06b9188e8e9f50ea13744d4167 100644 (file)
@@ -562,6 +562,8 @@ static void r700UpdateWindow(GLcontext * ctx, int id) //--------------------
        r700->viewport[id].PA_CL_VPORT_ZOFFSET.f32All = tz;
 
        r700->viewport[id].enabled = GL_TRUE;
+
+       r700SetScissor(context);
 }
 
 
@@ -615,7 +617,6 @@ void r700SetScissor(context_t *context) //---------------
 
        rrb = radeon_get_colorbuffer(&context->radeon);
        if (!rrb || !rrb->bo) {
-               fprintf(stderr, "no rrb\n");
                return;
        }
        if (context->radeon.state.scissor.enabled) {