From 7ab350378e8597e9872dbe390b8454d0a63bff28 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 28 Mar 2010 19:38:24 +0100 Subject: Silence enumeration warnings following addition of RGB16_565 --- src/drm/cairo-drm-i915-surface.c | 3 +++ src/drm/cairo-drm-i965-shader.c | 4 ++++ src/drm/cairo-drm-i965-surface.c | 1 + src/drm/cairo-drm-intel-surface.c | 1 + src/drm/cairo-drm-intel.c | 12 ++++++++++-- src/drm/cairo-drm-radeon-surface.c | 1 + 6 files changed, 20 insertions(+), 2 deletions(-) (limited to 'src/drm') 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; -- cgit v1.2.3