From 905fa3a07bdd3615e67b5d19708f96f124600066 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Wed, 14 Apr 2010 04:23:48 +0200 Subject: r300g: remove always_dirty flag and correct leftovers --- src/gallium/drivers/r300/r300_context.h | 2 -- src/gallium/drivers/r300/r300_emit.c | 10 +++++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h index 258b20d973..2e8601b65e 100644 --- a/src/gallium/drivers/r300/r300_context.h +++ b/src/gallium/drivers/r300/r300_context.h @@ -53,8 +53,6 @@ struct r300_atom { unsigned size; /* Whether this atom should be emitted. */ boolean dirty; - /* Another dirty flag that is never automatically cleared. */ - boolean always_dirty; }; struct r300_blend_state { diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 8d5792b0ef..aa4dd1073d 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -346,7 +346,7 @@ void r300_emit_fs_rc_constant_state(struct r300_context* r300, unsigned size, vo if (count == 0) return; - BEGIN_CS(count * 5); + BEGIN_CS(size); for(i = first; i < end; ++i) { if (constants->Constants[i].Type == RC_CONSTANT_STATE) { const float *data = get_shader_constant(r300, @@ -439,7 +439,7 @@ void r500_emit_fs_constants(struct r300_context* r300, unsigned size, void *stat if (count == 0) return; - BEGIN_CS(count * 4 + 3); + BEGIN_CS(size); OUT_CS_REG(R500_GA_US_VECTOR_INDEX, R500_GA_US_VECTOR_INDEX_TYPE_CONST); OUT_CS_ONE_REG(R500_GA_US_VECTOR_DATA, count * 4); for(i = 0; i < count; ++i) { @@ -468,7 +468,7 @@ void r500_emit_fs_rc_constant_state(struct r300_context* r300, unsigned size, vo if (count == 0) return; - BEGIN_CS(count * 7); + BEGIN_CS(size); for(i = first; i < end; ++i) { if (constants->Constants[i].Type == RC_CONSTANT_STATE) { const float *data = get_shader_constant(r300, @@ -1202,7 +1202,7 @@ unsigned r300_get_num_dirty_dwords(struct r300_context *r300) unsigned dwords = 0; foreach(atom, &r300->atom_list) { - if (atom->dirty || atom->always_dirty) { + if (atom->dirty) { dwords += atom->size; } } @@ -1220,7 +1220,7 @@ void r300_emit_dirty_state(struct r300_context* r300) struct r300_atom* atom; foreach(atom, &r300->atom_list) { - if (atom->dirty || atom->always_dirty) { + if (atom->dirty) { atom->emit(r300, atom->size, atom->state); atom->dirty = FALSE; } -- cgit v1.2.3