i965: Add HiZ operation state to brw_context
[mesa.git] / src / mesa / drivers / dri / i965 / brw_wm_pass0.c
index 05de85a957e1dc79cde45247324f8848ade08453..ccf9dc2bc18f899ac9cbe872b60f6f4ec3432509 100644 (file)
@@ -113,6 +113,7 @@ static const struct brw_wm_ref *get_param_ref( struct brw_wm_compile *c,
       struct brw_wm_ref *ref = get_ref(c);
 
       c->prog_data.param[i] = param_ptr;
+      c->prog_data.param_convert[i] = PARAM_NO_CONVERT;
       c->nr_creg = (i+16)/16;
 
       /* Push the offsets into hw_reg.  These will be added to the
@@ -204,14 +205,14 @@ static const struct brw_wm_ref *pass0_get_reg( struct brw_wm_compile *c,
         case PROGRAM_CONSTANT:
            /* These are invarient:
             */
-           ref = get_const_ref(c, &plist->ParameterValues[idx][component]);
+           ref = get_const_ref(c, &plist->ParameterValues[idx][component].f);
            break;
 
         case PROGRAM_STATE_VAR:
         case PROGRAM_UNIFORM:
            /* These may change from run to run:
             */
-           ref = get_param_ref(c, &plist->ParameterValues[idx][component] );
+           ref = get_param_ref(c, &plist->ParameterValues[idx][component].f );
            break;
 
         default:
@@ -379,7 +380,7 @@ static void pass0_init_payload( struct brw_wm_compile *c )
    GLuint i;
 
    for (i = 0; i < 4; i++) {
-      GLuint j = i >= c->key.nr_depth_regs ? 0 : i;
+      GLuint j = i >= (c->nr_payload_regs + 1) / 2 ? 0 : i;
       pass0_set_fpreg_value( c, PROGRAM_PAYLOAD, PAYLOAD_DEPTH, i, 
                             &c->payload.depth[j] );
    }
@@ -439,7 +440,7 @@ void brw_wm_pass0( struct brw_wm_compile *c )
       }
    }
  
-   if (INTEL_DEBUG & DEBUG_WM) {
+   if (unlikely(INTEL_DEBUG & DEBUG_WM)) {
       brw_wm_print_program(c, "pass0");
    }
 }