gallium: use identity viewport fix broken clear_with_quad() path
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 3 Apr 2008 18:42:26 +0000 (12:42 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 3 Apr 2008 18:42:26 +0000 (12:42 -0600)
Since bypass_clipping is set and we're specifying quad vertexes in window
coords, setup identity viewport.

src/mesa/state_tracker/st_cb_clear.c

index ec8d3e102215c731219bcf24785f5d702f3d7b4f..0c6f77bc82a5efd4418bddcb53c53f029a23903d 100644 (file)
@@ -271,17 +271,15 @@ clear_with_quad(GLcontext *ctx,
 #endif
 
 #if !TEST_DRAW_PASSTHROUGH
-   /* viewport state: viewport matching window dims */
+   /* viewport state: identity since we're drawing in window coords */
    {
-      const float width = ctx->DrawBuffer->Width;
-      const float height = ctx->DrawBuffer->Height;
       struct pipe_viewport_state vp;
-      vp.scale[0] =  0.5 * width;
-      vp.scale[1] = -0.5 * height;
+      vp.scale[0] = 1.0;
+      vp.scale[1] = 1.0;
       vp.scale[2] = 1.0;
       vp.scale[3] = 1.0;
-      vp.translate[0] = 0.5 * width;
-      vp.translate[1] = 0.5 * height;
+      vp.translate[0] = 0.0;
+      vp.translate[1] = 0.0;
       vp.translate[2] = 0.0;
       vp.translate[3] = 0.0;
       cso_set_viewport(st->cso_context, &vp);