r300-gallium: Don't set GB_TILE_CONFIG (in userspace.)
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Sun, 17 May 2009 23:42:54 +0000 (16:42 -0700)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Sun, 17 May 2009 23:44:39 +0000 (16:44 -0700)
This accompanies kernel patches that make GB_TILE_CONFIG's various members
completely controlled in DRM.

GB_TILE_CONFIG has the following controls:
 - The number of GB (pixel) pipes enabled
 - The size and style of tiling
 - Subpixel precision (either 1/12 or 1/16)

Per airlied and glisse, userspace and kernel will now agree (always) on
a subpixel precision of 1/12, and tiling will always be kernel-controlled.

src/gallium/drivers/r300/r300_state_invariant.c

index 0acbcbff7f436b061ccd4a1f58e831b393ee5116..d74928ceca10f0f0cccad5660b7067d8a249fe71 100644 (file)
@@ -34,7 +34,7 @@ void r300_emit_invariant_state(struct r300_context* r300)
     struct r300_capabilities* caps = r300_screen(r300->context.screen)->caps;
     CS_LOCALS(r300);
 
-    BEGIN_CS(28 + (caps->has_tcl ? 2: 0));
+    BEGIN_CS(26 + (caps->has_tcl ? 2: 0));
 
     /*** Graphics Backend (GB) ***/
     /* Various GB enables */
@@ -42,9 +42,6 @@ void r300_emit_invariant_state(struct r300_context* r300)
     /* Subpixel multisampling for AA */
     OUT_CS_REG(R300_GB_MSPOS0, 0x6666666);
     OUT_CS_REG(R300_GB_MSPOS1, 0x6666666);
-    /* GB tile config and pipe setup */
-    OUT_CS_REG(R300_GB_TILE_CONFIG, R300_GB_TILE_DISABLE |
-        r300_translate_gb_pipes(caps->num_frag_pipes));
     /* Source of fog depth */
     OUT_CS_REG(R300_GB_SELECT, R300_GB_FOG_SELECT_1_1_W);
     /* AA enable */