Mesa (master): r300-gallium: Allow surface_fill to clear depth/ stencil buffers too.
Corbin Simpson
csimpson at kemper.freedesktop.org
Tue Mar 31 00:00:10 UTC 2009
Module: Mesa
Branch: master
Commit: 70d39c70536079eb51298086c559e4b40e6ffc03
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=70d39c70536079eb51298086c559e4b40e6ffc03
Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date: Mon Mar 30 16:51:01 2009 -0700
r300-gallium: Allow surface_fill to clear depth/stencil buffers too.
---
src/gallium/drivers/r300/r300_state_inlines.h | 2 ++
src/gallium/drivers/r300/r300_surface.c | 2 +-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/gallium/drivers/r300/r300_state_inlines.h b/src/gallium/drivers/r300/r300_state_inlines.h
index b80ff1c..91b93fc 100644
--- a/src/gallium/drivers/r300/r300_state_inlines.h
+++ b/src/gallium/drivers/r300/r300_state_inlines.h
@@ -292,6 +292,7 @@ static INLINE uint32_t r300_translate_colorformat(enum pipe_format format)
return R300_COLOR_FORMAT_ARGB4444;
/* 32-bit buffers */
case PIPE_FORMAT_A8R8G8B8_UNORM:
+ case PIPE_FORMAT_Z24S8_UNORM:
return R300_COLOR_FORMAT_ARGB8888;
/* XXX Not in pipe_format
case PIPE_FORMAT_A32R32G32B32:
@@ -337,6 +338,7 @@ static INLINE uint32_t r300_translate_out_fmt(enum pipe_format format)
{
switch (format) {
case PIPE_FORMAT_A8R8G8B8_UNORM:
+ case PIPE_FORMAT_Z24S8_UNORM:
return R300_US_OUT_FMT_C4_8 |
R300_C0_SEL_B | R300_C1_SEL_G |
R300_C2_SEL_R | R300_C3_SEL_A;
diff --git a/src/gallium/drivers/r300/r300_surface.c b/src/gallium/drivers/r300/r300_surface.c
index 6ecc708..7e60368 100644
--- a/src/gallium/drivers/r300/r300_surface.c
+++ b/src/gallium/drivers/r300/r300_surface.c
@@ -97,7 +97,7 @@ static void r300_surface_fill(struct pipe_context* pipe,
dest, x, y, w, h, pixpitch, color);
/* Fallback? */
- if (tex->tex.format != PIPE_FORMAT_A8R8G8B8_UNORM) {
+ if (FALSE) {
debug_printf("r300: Falling back on surface clear...");
util_surface_fill(pipe, dest, x, y, w, h, color);
return;
More information about the mesa-commit
mailing list