summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-05-11 11:39:46 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-05-11 13:07:19 +0100
commitf1048e14d5ef34970cb717e2a37d1c6bb4ea3a34 (patch)
tree3cd76598ae53f00287fb0333536a90948a9709e8 /src
parenta35afd4a2df8bab543700d874274228eddccae5b (diff)
i965: Add texformats mapping for additional pixman formats
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/i965_render.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/i965_render.c b/src/i965_render.c
index c38bbfc3..7355ed1d 100644
--- a/src/i965_render.c
+++ b/src/i965_render.c
@@ -108,13 +108,19 @@ static struct blendinfo i965_blend_op[] = {
* 1.7.2
*/
static struct formatinfo i965_tex_formats[] = {
+ {PICT_a8, BRW_SURFACEFORMAT_A8_UNORM},
{PICT_a8r8g8b8, BRW_SURFACEFORMAT_B8G8R8A8_UNORM},
{PICT_x8r8g8b8, BRW_SURFACEFORMAT_B8G8R8X8_UNORM},
{PICT_a8b8g8r8, BRW_SURFACEFORMAT_R8G8B8A8_UNORM},
{PICT_x8b8g8r8, BRW_SURFACEFORMAT_R8G8B8X8_UNORM},
+ {PICT_r8g8b8, BRW_SURFACEFORMAT_R8G8B8_UNORM},
{PICT_r5g6b5, BRW_SURFACEFORMAT_B5G6R5_UNORM},
{PICT_a1r5g5b5, BRW_SURFACEFORMAT_B5G5R5A1_UNORM},
- {PICT_a8, BRW_SURFACEFORMAT_A8_UNORM},
+ {PICT_a2r10g10b10, BRW_SURFACEFORMAT_B10G10R10A2_UNORM},
+ {PICT_x2r10g10b10, BRW_SURFACEFORMAT_B10G10R10X2_UNORM},
+ {PICT_a2b10g10r10, BRW_SURFACEFORMAT_R10G10B10A2_UNORM},
+ {PICT_x2r10g10b10, BRW_SURFACEFORMAT_B10G10R10X2_UNORM},
+ {PICT_a4r4g4b4, BRW_SURFACEFORMAT_B4G4R4A4_UNORM},
};
static void i965_get_blend_cntl(int op, PicturePtr mask, uint32_t dst_format,
@@ -158,15 +164,21 @@ static Bool i965_get_dest_format(PicturePtr dest_picture, uint32_t * dst_format)
case PICT_x8r8g8b8:
*dst_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
break;
+ case PICT_a8b8g8r8:
+ case PICT_x8b8g8r8:
+ *dst_format = BRW_SURFACEFORMAT_R8G8B8A8_UNORM;
+ break;
+ case PICT_a2r10g10b10:
+ case PICT_x2r10g10b10:
+ *dst_format = BRW_SURFACEFORMAT_B10G10R10A2_UNORM;
+ break;
case PICT_r5g6b5:
*dst_format = BRW_SURFACEFORMAT_B5G6R5_UNORM;
break;
+ case PICT_x1r5g5b5:
case PICT_a1r5g5b5:
*dst_format = BRW_SURFACEFORMAT_B5G5R5A1_UNORM;
break;
- case PICT_x1r5g5b5:
- *dst_format = BRW_SURFACEFORMAT_B5G5R5X1_UNORM;
- break;
case PICT_a8:
*dst_format = BRW_SURFACEFORMAT_A8_UNORM;
break;