summaryrefslogtreecommitdiff
path: root/src/drm
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-03-28 19:38:24 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-03-30 18:31:34 +0100
commit7ab350378e8597e9872dbe390b8454d0a63bff28 (patch)
tree8f5fb295fa613d73abd9365a836c36cc19b1400f /src/drm
parentd901692a5550c51fd3eefd307609fb800ef02a95 (diff)
Silence enumeration warnings following addition of RGB16_565
Diffstat (limited to 'src/drm')
-rw-r--r--src/drm/cairo-drm-i915-surface.c3
-rw-r--r--src/drm/cairo-drm-i965-shader.c4
-rw-r--r--src/drm/cairo-drm-i965-surface.c1
-rw-r--r--src/drm/cairo-drm-intel-surface.c1
-rw-r--r--src/drm/cairo-drm-intel.c12
-rw-r--r--src/drm/cairo-drm-radeon-surface.c1
6 files changed, 20 insertions, 2 deletions
diff --git a/src/drm/cairo-drm-i915-surface.c b/src/drm/cairo-drm-i915-surface.c
index bd169a38..9214a7ef 100644
--- a/src/drm/cairo-drm-i915-surface.c
+++ b/src/drm/cairo-drm-i915-surface.c
@@ -1600,6 +1600,7 @@ i915_surface_create_for_name (cairo_drm_device_t *base_dev,
case CAIRO_FORMAT_ARGB32:
content = CAIRO_CONTENT_COLOR_ALPHA;
break;
+ case CAIRO_FORMAT_RGB16_565:
case CAIRO_FORMAT_RGB24:
content = CAIRO_CONTENT_COLOR;
break;
@@ -1655,6 +1656,7 @@ i915_buffer_cache_init (intel_buffer_cache_t *cache,
case CAIRO_FORMAT_INVALID:
case CAIRO_FORMAT_A1:
case CAIRO_FORMAT_RGB24:
+ case CAIRO_FORMAT_RGB16_565:
ASSERT_NOT_REACHED;
case CAIRO_FORMAT_ARGB32:
cache->buffer.map0 = MAPSURF_32BIT | MT_32BIT_ARGB8888;
@@ -1734,6 +1736,7 @@ i915_surface_create_from_cacheable_image_internal (i915_device_t *device,
switch (image->format) {
case CAIRO_FORMAT_ARGB32:
case CAIRO_FORMAT_RGB24:
+ case CAIRO_FORMAT_RGB16_565:
caches = &device->image_caches[0];
format = CAIRO_FORMAT_ARGB32;
bpp = 4;
diff --git a/src/drm/cairo-drm-i965-shader.c b/src/drm/cairo-drm-i965-shader.c
index 9fecbf18..fcfec295 100644
--- a/src/drm/cairo-drm-i965-shader.c
+++ b/src/drm/cairo-drm-i965-shader.c
@@ -2073,6 +2073,8 @@ i965_get_card_format (cairo_format_t format)
return BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
case CAIRO_FORMAT_RGB24:
return BRW_SURFACEFORMAT_B8G8R8X8_UNORM;
+ case CAIRO_FORMAT_RGB16_565:
+ return BRW_SURFACEFORMAT_B5G6R5_UNORM;
case CAIRO_FORMAT_A8:
return BRW_SURFACEFORMAT_A8_UNORM;
case CAIRO_FORMAT_A1:
@@ -2090,6 +2092,8 @@ i965_get_dest_format (cairo_format_t format)
case CAIRO_FORMAT_ARGB32:
case CAIRO_FORMAT_RGB24:
return BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
+ case CAIRO_FORMAT_RGB16_565:
+ return BRW_SURFACEFORMAT_B5G6R5_UNORM;
case CAIRO_FORMAT_A8:
return BRW_SURFACEFORMAT_A8_UNORM;
case CAIRO_FORMAT_A1:
diff --git a/src/drm/cairo-drm-i965-surface.c b/src/drm/cairo-drm-i965-surface.c
index 6799b162..3ef24832 100644
--- a/src/drm/cairo-drm-i965-surface.c
+++ b/src/drm/cairo-drm-i965-surface.c
@@ -1612,6 +1612,7 @@ i965_surface_create_for_name (cairo_drm_device_t *base_dev,
case CAIRO_FORMAT_ARGB32:
content = CAIRO_CONTENT_COLOR_ALPHA;
break;
+ case CAIRO_FORMAT_RGB16_565:
case CAIRO_FORMAT_RGB24:
content = CAIRO_CONTENT_COLOR;
break;
diff --git a/src/drm/cairo-drm-intel-surface.c b/src/drm/cairo-drm-intel-surface.c
index 7c075480..269af507 100644
--- a/src/drm/cairo-drm-intel-surface.c
+++ b/src/drm/cairo-drm-intel-surface.c
@@ -356,6 +356,7 @@ intel_surface_create_for_name (cairo_drm_device_t *device,
case CAIRO_FORMAT_ARGB32:
content = CAIRO_CONTENT_COLOR_ALPHA;
break;
+ case CAIRO_FORMAT_RGB16_565:
case CAIRO_FORMAT_RGB24:
content = CAIRO_CONTENT_COLOR;
break;
diff --git a/src/drm/cairo-drm-intel.c b/src/drm/cairo-drm-intel.c
index 7658cbe8..351b5974 100644
--- a/src/drm/cairo-drm-intel.c
+++ b/src/drm/cairo-drm-intel.c
@@ -714,6 +714,11 @@ intel_bo_put_image (intel_device_t *dev,
data += 4 * src_x;
size = 4 * width;
break;
+ case CAIRO_FORMAT_RGB16_565:
+ offset += 2 * dst_x;
+ data += 2 * src_x;
+ size = 2 * width;
+ break;
case CAIRO_FORMAT_A8:
offset += dst_x;
data += src_x;
@@ -1029,7 +1034,6 @@ intel_glyph_cache_add_glyph (intel_device_t *device,
}
break;
- case CAIRO_FORMAT_RGB24:
case CAIRO_FORMAT_ARGB32:
dst += 4*node->x;
width = 4*glyph_surface->width;
@@ -1040,6 +1044,8 @@ intel_glyph_cache_add_glyph (intel_device_t *device,
}
break;
default:
+ case CAIRO_FORMAT_RGB16_565:
+ case CAIRO_FORMAT_RGB24:
case CAIRO_FORMAT_INVALID:
ASSERT_NOT_REACHED;
return _cairo_error (CAIRO_STATUS_INVALID_FORMAT);
@@ -1101,7 +1107,6 @@ intel_get_glyph_cache (intel_device_t *device,
switch (format) {
case CAIRO_FORMAT_ARGB32:
- case CAIRO_FORMAT_RGB24:
cache = &device->glyph_cache[0];
format = CAIRO_FORMAT_ARGB32;
break;
@@ -1111,6 +1116,8 @@ intel_get_glyph_cache (intel_device_t *device,
format = CAIRO_FORMAT_A8;
break;
default:
+ case CAIRO_FORMAT_RGB16_565:
+ case CAIRO_FORMAT_RGB24:
case CAIRO_FORMAT_INVALID:
ASSERT_NOT_REACHED;
return _cairo_error (CAIRO_STATUS_INVALID_FORMAT);
@@ -1227,6 +1234,7 @@ intel_buffer_cache_init (intel_buffer_cache_t *cache,
switch (format) {
case CAIRO_FORMAT_A1:
+ case CAIRO_FORMAT_RGB16_565:
case CAIRO_FORMAT_RGB24:
case CAIRO_FORMAT_INVALID:
ASSERT_NOT_REACHED;
diff --git a/src/drm/cairo-drm-radeon-surface.c b/src/drm/cairo-drm-radeon-surface.c
index 08db8f02..f383fd4b 100644
--- a/src/drm/cairo-drm-radeon-surface.c
+++ b/src/drm/cairo-drm-radeon-surface.c
@@ -370,6 +370,7 @@ radeon_surface_create_for_name (cairo_drm_device_t *device,
default:
case CAIRO_FORMAT_INVALID:
case CAIRO_FORMAT_A1:
+ case CAIRO_FORMAT_RGB16_565:
return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_FORMAT));
case CAIRO_FORMAT_ARGB32:
content = CAIRO_CONTENT_COLOR_ALPHA;