svga: return 1 for PIPE_CAP_VERTEX_COLOR_UNCLAMPED query
Before, we weren't clamping the vertex colors produced by ARB vertex
programs. This could result in some rendering being too bright (in
ETQW, for example).
Also add cases for PIPE_CAP_VERTEX_COLOR_CLAMPED and
PIPE_CAP_FRAGMENT_COLOR_CLAMPED with comments to be complete.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c
index 8badcb2..b2f3e33 100644
--- a/src/gallium/drivers/svga/svga_screen.c
+++ b/src/gallium/drivers/svga/svga_screen.c
@@ -203,6 +203,13 @@
case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION:
return 0;
+ case PIPE_CAP_VERTEX_COLOR_UNCLAMPED:
+ return 1; /* The color outputs of vertex shaders are not clamped */
+ case PIPE_CAP_VERTEX_COLOR_CLAMPED:
+ return 0; /* The driver can't clamp vertex colors */
+ case PIPE_CAP_FRAGMENT_COLOR_CLAMPED:
+ return 0; /* The driver can't clamp fragment colors */
+
default:
return 0;
}