Squashed commit of the following:
[mesa.git] / src / gallium / drivers / r300 / r300_state_derived.c
index bc5431c802da721366b9e3893ca6646dcc289b13..ae54d06372f6fc8a38c94fec0815ba51a8d835f1 100644 (file)
@@ -99,7 +99,6 @@ static void r300_draw_emit_all_attribs(struct r300_context* r300)
         gen_count++;
     }
 
-    /* XXX magic */
     assert(gen_count <= 8);
 }
 
@@ -266,7 +265,7 @@ static void r300_update_rs_block(struct r300_context* r300,
     boolean any_bcolor_used = vs_outputs->bcolor[0] != ATTR_UNUSED ||
                               vs_outputs->bcolor[1] != ATTR_UNUSED;
 
-    if (r300_screen(r300->context.screen)->caps->is_r500) {
+    if (r300->screen->caps.is_r500) {
         rX00_rs_col       = r500_rs_col;
         rX00_rs_col_write = r500_rs_col_write;
         rX00_rs_tex       = r500_rs_tex;
@@ -471,10 +470,10 @@ static void r300_merge_textures_and_samplers(struct r300_context* r300)
             state->tx_enable |= 1 << i;
 
             view = state->fragment_sampler_views[i];
-            tex = (struct r300_texture *)view->texture;
+            tex = r300_texture(view->texture);
             sampler = state->sampler_states[i];
 
-            assert(view->format == tex->tex.format);
+            assert(view->format == tex->b.b.format);
 
             texstate = &state->regs[i];
             memcpy(texstate->format, &tex->state, sizeof(uint32_t)*3);
@@ -485,12 +484,12 @@ static void r300_merge_textures_and_samplers(struct r300_context* r300)
                                     R300_TXO_MICRO_TILE(tex->microtile);
 
             /* to emulate 1D textures through 2D ones correctly */
-            if (tex->tex.target == PIPE_TEXTURE_1D) {
+            if (tex->b.b.target == PIPE_TEXTURE_1D) {
                 texstate->filter[0] &= ~R300_TX_WRAP_T_MASK;
                 texstate->filter[0] |= R300_TX_WRAP_T(R300_TX_CLAMP_TO_EDGE);
             }
 
-            if (tex->is_npot) {
+            if (tex->uses_pitch) {
                 /* NPOT textures don't support mip filter, unfortunately.
                  * This prevents incorrect rendering. */
                 texstate->filter[0] &= ~R300_TX_MIN_FILTER_MIP_MASK;
@@ -498,7 +497,7 @@ static void r300_merge_textures_and_samplers(struct r300_context* r300)
                 /* determine min/max levels */
                 /* the MAX_MIP level is the largest (finest) one */
                 max_level = MIN3(sampler->max_lod + view->first_level,
-                                 tex->tex.last_level, view->last_level);
+                                 tex->b.b.last_level, view->last_level);
                 min_level = MIN2(sampler->min_lod + view->first_level,
                                  max_level);
                 texstate->format[0] |= R300_TX_NUM_LEVELS(max_level);