diff options
author | Corbin Simpson <[email protected]> | 2009-03-30 16:51:01 -0700 |
---|---|---|
committer | Corbin Simpson <[email protected]> | 2009-03-30 16:51:01 -0700 |
commit | 70d39c70536079eb51298086c559e4b40e6ffc03 (patch) | |
tree | 19a805c92abcc0deffaec706a9310fdf3c88c88d /src | |
parent | 4bfe784dcadf5bcb65dbd8b9c3d4db757d1824b8 (diff) |
r300-gallium: Allow surface_fill to clear depth/stencil buffers too.
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/r300/r300_state_inlines.h | 2 | ||||
-rw-r--r-- | 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 b80ff1c1aba..91b93fc367e 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 6ecc708e000..7e6036868a9 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; |