r300g: minor cleanups after the no-rhw merge
authorMarek Olšák <maraeo@gmail.com>
Sat, 6 Mar 2010 22:29:17 +0000 (23:29 +0100)
committerMarek Olšák <maraeo@gmail.com>
Sat, 6 Mar 2010 22:29:17 +0000 (23:29 +0100)
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/r300/r300_state_derived.c

index 1f6f99d..4349bc1 100644 (file)
@@ -716,8 +716,7 @@ static void* r300_create_rs_state(struct pipe_context* pipe,
     rs->vap_control_status = R300_VC_32BIT_SWAP;
 #endif
 
-    /* If bypassing TCL, or if no TCL engine is present, turn off the HW TCL.
-     * Else, enable HW TCL and force Draw's TCL off. */
+    /* If no TCL engine is present, turn off the HW TCL. */
     if (!r300screen->caps->has_tcl) {
         rs->vap_control_status |= R300_VAP_TCL_BYPASS;
     }
@@ -1121,7 +1120,6 @@ static void r300_bind_vs_state(struct pipe_context* pipe, void* shader)
 
         r300->rs_block_state.dirty = TRUE; /* Will be updated before the emission. */
         r300->vap_output_state.dirty = TRUE;
-        r300->vertex_stream_state.dirty = TRUE; /* XXX needed for TCL bypass */
         r300->pvs_flush.dirty = TRUE;
 
         if (r300->fs) {
index 9c8e907..fc24cd5 100644 (file)
@@ -436,15 +436,14 @@ static void r300_update_derived_shader_state(struct r300_context* r300)
     struct r300_vap_output_state *vap_out =
         (struct r300_vap_output_state*)r300->vap_output_state.state;
 
-    /* XXX Mmm, delicious hax */
-    memset(&r300->vertex_info, 0, sizeof(struct vertex_info));
-    memcpy(vap_out, vs->hwfmt, sizeof(uint)*4);
-
     r300_update_rs_block(r300, &vs->outputs, &r300->fs->inputs);
 
     if (r300screen->caps->has_tcl) {
+        memcpy(vap_out, vs->hwfmt, sizeof(uint)*4);
         r300_vertex_psc(r300);
     } else {
+        /* XXX set vap_out */
+        memset(&r300->vertex_info, 0, sizeof(struct vertex_info));
         r300_draw_emit_all_attribs(r300);
         draw_compute_vertex_size(&r300->vertex_info);
         r300_swtcl_vertex_psc(r300);
@@ -582,8 +581,7 @@ static void r300_merge_textures_and_samplers(struct r300_context* r300)
 void r300_update_derived_state(struct r300_context* r300)
 {
     if (r300->rs_block_state.dirty ||
-        r300->vertex_stream_state.dirty || /* XXX put updating this state out of this file */
-        r300->rs_state.dirty) {  /* XXX and remove this one (tcl_bypass dependency) */
+        r300->vertex_stream_state.dirty) { /* XXX put updating PSC out of this file */
         r300_update_derived_shader_state(r300);
     }