Mesa (master): r300g: disallow A16F, L16F, LA16F, I16F texture formats on DRM< 2.8.0
Marek Olšák
mareko at kemper.freedesktop.org
Fri Apr 22 14:21:48 UTC 2011
Module: Mesa
Branch: master
Commit: 673cec467a1b60890bb2cc4e8c90f5a05e47eea7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=673cec467a1b60890bb2cc4e8c90f5a05e47eea7
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Apr 22 16:17:18 2011 +0200
r300g: disallow A16F,L16F,LA16F,I16F texture formats on DRM<2.8.0
---
src/gallium/drivers/r300/r300_screen.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c
index a5d737c..13344a2 100644
--- a/src/gallium/drivers/r300/r300_screen.c
+++ b/src/gallium/drivers/r300/r300_screen.c
@@ -327,9 +327,14 @@ static boolean r300_is_format_supported(struct pipe_screen* screen,
format == PIPE_FORMAT_RGTC2_SNORM ||
format == PIPE_FORMAT_LATC2_UNORM ||
format == PIPE_FORMAT_LATC2_SNORM;
- boolean is_r16f_rg16f = format == PIPE_FORMAT_R16_FLOAT ||
- format == PIPE_FORMAT_R16G16_FLOAT;
- boolean is_half_float = is_r16f_rg16f ||
+ boolean is_x16f_xy16f = format == PIPE_FORMAT_R16_FLOAT ||
+ format == PIPE_FORMAT_R16G16_FLOAT ||
+ format == PIPE_FORMAT_A16_FLOAT ||
+ format == PIPE_FORMAT_L16_FLOAT ||
+ format == PIPE_FORMAT_L16A16_FLOAT ||
+ format == PIPE_FORMAT_I16_FLOAT;
+ boolean is_half_float = format == PIPE_FORMAT_R16_FLOAT ||
+ format == PIPE_FORMAT_R16G16_FLOAT ||
format == PIPE_FORMAT_R16G16B16_FLOAT ||
format == PIPE_FORMAT_R16G16B16A16_FLOAT;
@@ -365,7 +370,7 @@ static boolean r300_is_format_supported(struct pipe_screen* screen,
/* ATI2N is supported on r4xx-r5xx. */
(is_r400 || is_r500 || !is_ati2n) &&
/* R16F and RG16F texture support was added in as late as DRM 2.8.0 */
- (drm_2_8_0 || !is_r16f_rg16f) &&
+ (drm_2_8_0 || !is_x16f_xy16f) &&
r300_is_sampler_format_supported(format)) {
retval |= PIPE_BIND_SAMPLER_VIEW;
}
More information about the mesa-commit
mailing list