r300g: initialize SC_SCREENDOOR
authorMarek Olšák <maraeo@gmail.com>
Mon, 28 Feb 2011 11:43:26 +0000 (12:43 +0100)
committerMarek Olšák <maraeo@gmail.com>
Mon, 28 Feb 2011 11:43:26 +0000 (12:43 +0100)
src/gallium/drivers/r300/r300_context.c
src/gallium/drivers/r300/r300_context.h

index 9f85bd4ce5f0886d4060dc9fc2478ca73d761e1c..d422ffe03f88551f93d0e8868d837c50731a6ca5 100644 (file)
@@ -203,7 +203,7 @@ static boolean r300_setup_atoms(struct r300_context* r300)
     /* SC. */
     R300_INIT_ATOM(scissor_state, 3);
     /* GB, FG, GA, SU, SC, RB3D. */
-    R300_INIT_ATOM(invariant_state, 16 + (is_rv350 ? 4 : 0));
+    R300_INIT_ATOM(invariant_state, 18 + (is_rv350 ? 4 : 0));
     /* VAP. */
     R300_INIT_ATOM(viewport_state, 9);
     R300_INIT_ATOM(pvs_flush, 2);
@@ -353,6 +353,7 @@ static void r300_init_states(struct pipe_context *pipe)
         OUT_CB_REG(R300_SU_DEPTH_SCALE, 0x4B7FFFFF);
         OUT_CB_REG(R300_SU_DEPTH_OFFSET, 0);
         OUT_CB_REG(R300_SC_EDGERULE, 0x2DA49525);
+        OUT_CB_REG(R300_SC_SCREENDOOR, 0xffffff);
 
         if (r300->screen->caps.is_rv350) {
             OUT_CB_REG(R500_RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD, 0x01010101);
index 300737594768447e5268081cc5c48e0fbce88aa8..e9c7d7bf63f528bc60630bc7e76498c43d300410 100644 (file)
@@ -220,7 +220,7 @@ struct r300_vertex_stream_state {
 };
 
 struct r300_invariant_state {
-    uint32_t cb[20];
+    uint32_t cb[22];
 };
 
 struct r300_vap_invariant_state {