summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_emit.c
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2011-03-13 11:54:29 +0100
committerMarek Olšák <maraeo@gmail.com>2011-03-14 10:09:34 +0100
commit23ccab39cd6b89efd8be238c3061e7ddb3697a55 (patch)
tree0f52c6797d54600c155f6b4e3f77557a7f5642f3 /src/gallium/drivers/r300/r300_emit.c
parent340e15c79b9c973d8dcefb55e2adf3ac813d1fec (diff)
downloadexternal_mesa3d-23ccab39cd6b89efd8be238c3061e7ddb3697a55.zip
external_mesa3d-23ccab39cd6b89efd8be238c3061e7ddb3697a55.tar.gz
external_mesa3d-23ccab39cd6b89efd8be238c3061e7ddb3697a55.tar.bz2
r300g: clamp after blending for fixed-point formats only
Diffstat (limited to 'src/gallium/drivers/r300/r300_emit.c')
-rw-r--r--src/gallium/drivers/r300/r300_emit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index b28be93..e17a907 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -45,7 +45,10 @@ void r300_emit_blend_state(struct r300_context* r300,
CS_LOCALS(r300);
if (fb->nr_cbufs) {
- WRITE_CS_TABLE(blend->cb, size);
+ if (fb->cbufs[0]->format == PIPE_FORMAT_R16G16B16A16_FLOAT)
+ WRITE_CS_TABLE(blend->cb_noclamp, size);
+ else
+ WRITE_CS_TABLE(blend->cb_clamp, size);
} else {
WRITE_CS_TABLE(blend->cb_no_readwrite, size);
}