summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2010-07-13 04:29:53 +0200
committerMarek Olšák <[email protected]>2010-07-13 06:31:36 +0200
commit2470750b4ef3deed441d017d2f5a72c830d881ec (patch)
treeb0fc86444b9be8e890d30d43dde91af17a6e932f
parent50db6dba65560c1fb598d495d7d4103019bbbea5 (diff)
r300g: do not advertise half_float_vertex on rv3x0
rv3x0 can't do it.
-rw-r--r--src/gallium/drivers/r300/r300_screen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c
index cad99ca8453..a3b08555cde 100644
--- a/src/gallium/drivers/r300/r300_screen.c
+++ b/src/gallium/drivers/r300/r300_screen.c
@@ -256,7 +256,6 @@ static boolean r300_is_format_supported(struct pipe_screen* screen,
uint32_t retval = 0;
boolean is_r500 = r300_screen(screen)->caps.is_r500;
boolean is_r400 = r300_screen(screen)->caps.is_r400;
- boolean is_rv350 = r300_screen(screen)->caps.is_rv350;
boolean is_z24 = format == PIPE_FORMAT_X8Z24_UNORM ||
format == PIPE_FORMAT_S8_USCALED_Z24_UNORM;
boolean is_color2101010 = format == PIPE_FORMAT_R10G10B10A2_UNORM ||
@@ -272,6 +271,7 @@ static boolean r300_is_format_supported(struct pipe_screen* screen,
format == PIPE_FORMAT_R16G16B16_FLOAT ||
format == PIPE_FORMAT_R16G16B16A16_FLOAT;
+ /* Check multisampling support. */
switch (sample_count) {
case 0:
case 1:
@@ -326,7 +326,7 @@ static boolean r300_is_format_supported(struct pipe_screen* screen,
/* Check vertex buffer format support. */
if (usage & PIPE_BIND_VERTEX_BUFFER &&
/* Half float is supported on >= RV350. */
- (is_rv350 || !is_half_float) &&
+ (is_r400 || is_r500 || !is_half_float) &&
r300_translate_vertex_data_type(format) != R300_INVALID_FORMAT) {
retval |= PIPE_BIND_VERTEX_BUFFER;
}