diff options
author | Michel Dänzer <[email protected]> | 2009-07-14 08:25:27 +0200 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2009-07-14 08:25:27 +0200 |
commit | 33f56b4612e506999a2be8391ba82c0174afa1b3 (patch) | |
tree | 9962749e65f996d40b59a7863f2240a9345570be /src/mesa/drivers/dri/r300/r300_cmdbuf.c | |
parent | 60e60bb3026a269fefe1cfd3312fdf3a7e4c595f (diff) |
radeon: Differentiate 16 bpp destination formats.
Fixes those formats in fbo_firecube.
Only tested with r300, radeon and r200 compile tested only.
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_cmdbuf.c')
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_cmdbuf.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c b/src/mesa/drivers/dri/r300/r300_cmdbuf.c index 90ca45b3e77..248297897d3 100644 --- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c +++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c @@ -269,8 +269,17 @@ static void emit_cb_offset(GLcontext *ctx, struct radeon_state_atom * atom) cbpitch = (rrb->pitch / rrb->cpp); if (rrb->cpp == 4) cbpitch |= R300_COLOR_FORMAT_ARGB8888; - else + else switch (rrb->base._ActualFormat) { + case GL_RGB5: cbpitch |= R300_COLOR_FORMAT_RGB565; + break; + case GL_RGBA4: + cbpitch |= R300_COLOR_FORMAT_ARGB4444; + break; + case GL_RGB5_A1: + cbpitch |= R300_COLOR_FORMAT_ARGB1555; + break; + } if (rrb->bo->flags & RADEON_BO_FLAGS_MACRO_TILE) cbpitch |= R300_COLOR_TILE_ENABLE; |