Mesa (9.0): r600g: do not require MSAA renderbuffer support if not asked for
Marek Olšák
mareko at kemper.freedesktop.org
Sat Sep 22 14:32:40 UTC 2012
Module: Mesa
Branch: 9.0
Commit: c3454d95af46d6de52f319e538378dee57d6fe36
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3454d95af46d6de52f319e538378dee57d6fe36
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Sep 8 15:50:30 2012 +0200
r600g: do not require MSAA renderbuffer support if not asked for
to allow stencil-only sampler-only formats (like X24S8)
NOTE: This is a candidate for the stable branches.
(cherry picked from commit df5e2c058f73b72909fa99a2a189f5877525e3bf)
---
src/gallium/drivers/r600/evergreen_state.c | 7 -------
src/gallium/drivers/r600/r600_state.c | 13 ++++---------
2 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index ee47976..bf82288 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -643,13 +643,6 @@ boolean evergreen_is_format_supported(struct pipe_screen *screen,
default:
return FALSE;
}
-
- /* require render-target support for multisample resources */
- if (util_format_is_depth_or_stencil(format)) {
- usage |= PIPE_BIND_DEPTH_STENCIL;
- } else {
- usage |= PIPE_BIND_RENDER_TARGET;
- }
}
if ((usage & PIPE_BIND_SAMPLER_VIEW) &&
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
index 53bbdd9..c120ddc 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -592,6 +592,10 @@ boolean r600_is_format_supported(struct pipe_screen *screen,
format == PIPE_FORMAT_R11G11B10_FLOAT)
return FALSE;
+ /* MSAA integer colorbuffers hang. */
+ if (util_format_is_pure_integer(format))
+ return FALSE;
+
switch (sample_count) {
case 2:
case 4:
@@ -600,15 +604,6 @@ boolean r600_is_format_supported(struct pipe_screen *screen,
default:
return FALSE;
}
-
- /* require render-target support for multisample resources */
- if (util_format_is_depth_or_stencil(format)) {
- usage |= PIPE_BIND_DEPTH_STENCIL;
- } else if (util_format_is_pure_integer(format)) {
- return FALSE; /* no integer textures */
- } else {
- usage |= PIPE_BIND_RENDER_TARGET;
- }
}
if ((usage & PIPE_BIND_SAMPLER_VIEW) &&
More information about the mesa-commit
mailing list