summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_emit.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2011-04-08 03:11:22 +0200
committerMarek Olšák <[email protected]>2011-04-08 04:38:36 +0200
commit10ea8567f49f4daaa654b6e4c365a816f855073b (patch)
treee6ac3732ad74783a716bde291211bb79e6b4bedd /src/gallium/drivers/r300/r300_emit.c
parent9d5de0fcb6ced7a4da85a09ad25dcbc2b21bfdf9 (diff)
r300g: fix texturing with sizes > 2048 on r500
Diffstat (limited to 'src/gallium/drivers/r300/r300_emit.c')
-rw-r--r--src/gallium/drivers/r300/r300_emit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index 6b91f93e6d6..a21668a6fc5 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -775,6 +775,7 @@ void r300_emit_textures_state(struct r300_context *r300,
struct r300_texture_sampler_state *texstate;
struct r300_resource *tex;
unsigned i;
+ boolean has_us_format = r300->screen->caps.has_us_format;
CS_LOCALS(r300);
BEGIN_CS(size);
@@ -796,6 +797,11 @@ void r300_emit_textures_state(struct r300_context *r300,
OUT_CS_REG(R300_TX_OFFSET_0 + (i * 4), texstate->format.tile_config);
OUT_CS_RELOC(tex);
+
+ if (has_us_format) {
+ OUT_CS_REG(R500_US_FORMAT0_0 + (i * 4),
+ texstate->format.us_format0);
+ }
}
}
END_CS;