aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2010-04-14 04:23:48 +0200
committerMarek Olšák <[email protected]>2010-04-14 04:48:19 +0200
commit905fa3a07bdd3615e67b5d19708f96f124600066 (patch)
tree172bae9e293b92d4afb55703bb3610e7878064c6 /src/gallium/drivers/r300
parenteb4e399ef0d7b4fbeee744e79abcb79263549f7e (diff)
r300g: remove always_dirty flag and correct leftovers
Diffstat (limited to 'src/gallium/drivers/r300')
-rw-r--r--src/gallium/drivers/r300/r300_context.h2
-rw-r--r--src/gallium/drivers/r300/r300_emit.c10
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 258b20d9737..2e8601b65ef 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 8d5792b0ef9..aa4dd1073dd 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;
}