r300-gallium: Update XXX.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Sun, 17 May 2009 19:51:18 +0000 (12:51 -0700)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Sun, 17 May 2009 19:51:18 +0000 (12:51 -0700)
Lops work fine as long as HW TCL is off. (I think I know why.)

src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/r300/r300_state_shader.h

index 0ae118dbb9d1b12dc5c21d40f86fe385e8e04971..e818a776994fd7b71dbbe4a261d42e182a90000d 100644 (file)
@@ -62,8 +62,6 @@ static void* r300_create_blend_state(struct pipe_context* pipe,
     }
 
     /* PIPE_LOGICOP_* don't need to be translated, fortunately. */
-    /* XXX are logicops still allowed if blending's disabled?
-     * Does Gallium take care of it for us? */
     if (state->logicop_enable) {
         blend->rop = R300_RB3D_ROPCNTL_ROP_ENABLE |
                 (state->logicop_func) << R300_RB3D_ROPCNTL_ROP_SHIFT;
@@ -121,7 +119,7 @@ static void r300_set_clip_state(struct pipe_context* pipe,
                                 const struct pipe_clip_state* state)
 {
     struct r300_context* r300 = r300_context(pipe);
-    /* XXX Draw */
+    /* XXX add HW TCL clipping setup */
     draw_flush(r300->draw);
     draw_set_clip_state(r300->draw, state);
 }
@@ -257,6 +255,7 @@ static void r300_set_edgeflags(struct pipe_context* pipe,
                                const unsigned* bitfield)
 {
     /* XXX you know it's bad when i915 has this blank too */
+    /* XXX and even worse, I have no idea WTF the bitfield is */
 }
 
 static void
@@ -326,7 +325,7 @@ static void r300_delete_fs_state(struct pipe_context* pipe, void* shader)
 static void r300_set_polygon_stipple(struct pipe_context* pipe,
                                      const struct pipe_poly_stipple* state)
 {
-    /* XXX */
+    /* XXX no idea how to set this up, but not terribly important */
 }
 
 /* Create a new rasterizer state based on the CSO rasterizer state.
index f4fb31d86c95c0a88ebf5093db5693ee0ca8d87a..06260e61fef2b1fab4cb43166a79ce2e66a09328 100644 (file)
@@ -111,14 +111,6 @@ void r300_translate_fragment_shader(struct r300_context* r300,
                            struct r3xx_fragment_shader* fs);
 
 static struct r300_fragment_shader r300_passthrough_fragment_shader = {
-    /* XXX This is the emission code. TODO: decode
-    OUT_CS_REG(R300_US_CONFIG, 0);
-    OUT_CS_REG(R300_US_CODE_OFFSET, 0x0);
-    OUT_CS_REG(R300_US_CODE_ADDR_0, 0x0);
-    OUT_CS_REG(R300_US_CODE_ADDR_1, 0x0);
-    OUT_CS_REG(R300_US_CODE_ADDR_2, 0x0);
-    OUT_CS_REG(R300_US_CODE_ADDR_3, 0x400000);
-*/
     .alu_instruction_count = 1,
     .tex_instruction_count = 0,
     .indirections = 0,
@@ -165,14 +157,6 @@ static struct r500_fragment_shader r500_passthrough_fragment_shader = {
 };
 
 static struct r300_fragment_shader r300_texture_fragment_shader = {
-    /* XXX This is the emission code. TODO: decode
-    OUT_CS_REG(R300_US_CONFIG, 0);
-    OUT_CS_REG(R300_US_CODE_OFFSET, 0x0);
-    OUT_CS_REG(R300_US_CODE_ADDR_0, 0x0);
-    OUT_CS_REG(R300_US_CODE_ADDR_1, 0x0);
-    OUT_CS_REG(R300_US_CODE_ADDR_2, 0x0);
-    OUT_CS_REG(R300_US_CODE_ADDR_3, 0x400000);
-*/
     .alu_instruction_count = 1,
     .tex_instruction_count = 0,
     .indirections = 0,