X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fsvga%2Fsvga_state_tss.c;h=43b45e54f1b18d4155459d2812fe2f13685b8745;hb=49134c054973c8cdb002659ca72f5504292f9f04;hp=a13980d0e13303ee9723f8f0d9a671615a5eb3c5;hpb=e054251ed11e25a080f64b92db9334c9b07c8c76;p=mesa.git diff --git a/src/gallium/drivers/svga/svga_state_tss.c b/src/gallium/drivers/svga/svga_state_tss.c index a13980d0e13..43b45e54f1b 100644 --- a/src/gallium/drivers/svga/svga_state_tss.c +++ b/src/gallium/drivers/svga/svga_state_tss.c @@ -41,10 +41,10 @@ */ void svga_cleanup_tss_binding(struct svga_context *svga) { - const unsigned shader = PIPE_SHADER_FRAGMENT; + const enum pipe_shader_type shader = PIPE_SHADER_FRAGMENT; unsigned i; - for (i = 0; i < Elements(svga->state.hw_draw.views); i++) { + for (i = 0; i < ARRAY_SIZE(svga->state.hw_draw.views); i++) { struct svga_hw_view_state *view = &svga->state.hw_draw.views[i]; if (view) { svga_sampler_view_reference(&view->v, NULL); @@ -90,7 +90,7 @@ emit_tex_binding_unit(struct svga_context *svga, } else { last_level = MIN2(sv->u.tex.last_level, sv->texture->last_level); - min_lod = MAX2(0, (s->view_min_lod + sv->u.tex.first_level)); + min_lod = s->view_min_lod + sv->u.tex.first_level; min_lod = MIN2(min_lod, last_level); max_lod = MIN2(s->view_max_lod + sv->u.tex.first_level, last_level); } @@ -140,7 +140,7 @@ static enum pipe_error update_tss_binding(struct svga_context *svga, unsigned dirty ) { - const unsigned shader = PIPE_SHADER_FRAGMENT; + const enum pipe_shader_type shader = PIPE_SHADER_FRAGMENT; boolean reemit = svga->rebind.flags.texture_samplers; unsigned i; unsigned count = MAX2( svga->curr.num_sampler_views[shader], @@ -294,6 +294,7 @@ svga_reemit_tss_bindings(struct svga_context *svga) struct svga_tracked_state svga_hw_tss_binding = { "texture binding emit", + SVGA_NEW_FRAME_BUFFER | SVGA_NEW_TEXTURE_BINDING | SVGA_NEW_STIPPLE | SVGA_NEW_SAMPLER, @@ -316,7 +317,7 @@ svga_queue_tss( struct ts_queue *q, unsigned tss, unsigned value ) { - assert(q->ts_count < sizeof(q->ts)/sizeof(q->ts[0])); + assert(q->ts_count < ARRAY_SIZE(q->ts)); q->ts[q->ts_count].stage = unit; q->ts[q->ts_count].name = tss; q->ts[q->ts_count].value = value; @@ -326,8 +327,8 @@ svga_queue_tss( struct ts_queue *q, #define EMIT_TS(svga, unit, val, token) \ do { \ - assert(unit < Elements(svga->state.hw_draw.ts)); \ - assert(SVGA3D_TS_##token < Elements(svga->state.hw_draw.ts[unit])); \ + assert(unit < ARRAY_SIZE(svga->state.hw_draw.ts)); \ + STATIC_ASSERT(SVGA3D_TS_##token < ARRAY_SIZE(svga->state.hw_draw.ts[unit])); \ if (svga->state.hw_draw.ts[unit][SVGA3D_TS_##token] != val) { \ svga_queue_tss( queue, unit, SVGA3D_TS_##token, val ); \ svga->state.hw_draw.ts[unit][SVGA3D_TS_##token] = val; \ @@ -337,8 +338,8 @@ do { \ #define EMIT_TS_FLOAT(svga, unit, fvalue, token) \ do { \ unsigned val = fui(fvalue); \ - assert(unit < Elements(svga->state.hw_draw.ts)); \ - assert(SVGA3D_TS_##token < Elements(svga->state.hw_draw.ts[unit])); \ + assert(unit < ARRAY_SIZE(svga->state.hw_draw.ts)); \ + STATIC_ASSERT(SVGA3D_TS_##token < ARRAY_SIZE(svga->state.hw_draw.ts[unit])); \ if (svga->state.hw_draw.ts[unit][SVGA3D_TS_##token] != val) { \ svga_queue_tss( queue, unit, SVGA3D_TS_##token, val ); \ svga->state.hw_draw.ts[unit][SVGA3D_TS_##token] = val; \ @@ -380,7 +381,7 @@ static enum pipe_error update_tss(struct svga_context *svga, unsigned dirty ) { - const unsigned shader = PIPE_SHADER_FRAGMENT; + const enum pipe_shader_type shader = PIPE_SHADER_FRAGMENT; unsigned i; struct ts_queue queue;