summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_emit.c
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2010-02-27 23:37:01 +0100
committerMarek Olšák <maraeo@gmail.com>2010-02-28 00:46:35 +0100
commit279715e76e5385afaad2834191e8578cf3a5d233 (patch)
treef6a6f6201af8e0d22d42739b9e7047aeace99245 /src/gallium/drivers/r300/r300_emit.c
parentfe6d3b9222ce184daab61ebb390a6af0b9889abf (diff)
r300g: atomize invalidation of texture caches
Diffstat (limited to 'src/gallium/drivers/r300/r300_emit.c')
-rw-r--r--src/gallium/drivers/r300/r300_emit.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index 6a0ede359b..ad19725e60 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -1002,7 +1002,7 @@ void r300_emit_ztop_state(struct r300_context* r300,
END_CS;
}
-void r300_flush_textures(struct r300_context* r300)
+void r300_emit_texture_cache_inval(struct r300_context* r300, unsigned size, void* state)
{
CS_LOCALS(r300);
@@ -1107,7 +1107,6 @@ void r300_emit_dirty_state(struct r300_context* r300)
struct r300_screen* r300screen = r300_screen(r300->context.screen);
struct r300_atom* atom;
unsigned i;
- int dirty_tex = 0;
if (r300->dirty_state & R300_NEW_QUERY) {
r300_emit_query_start(r300);
@@ -1155,7 +1154,6 @@ void r300_emit_dirty_state(struct r300_context* r300)
r300->sampler_states[i],
r300->textures[i],
i);
- dirty_tex |= r300->dirty_state & (R300_NEW_TEXTURE << i);
}
r300->dirty_state &=
~((R300_NEW_SAMPLER << i) | (R300_NEW_TEXTURE << i));
@@ -1164,10 +1162,6 @@ void r300_emit_dirty_state(struct r300_context* r300)
r300->dirty_state &= ~(R300_ANY_NEW_SAMPLERS | R300_ANY_NEW_TEXTURES);
}
- if (dirty_tex) {
- r300_flush_textures(r300);
- }
-
if (r300->dirty_state & R300_NEW_VERTEX_SHADER_CONSTANTS) {
struct r300_vertex_shader* vs = r300->vs_state.state;
r300_emit_vs_constant_buffer(r300, &vs->code.constants);