intel: refactor planar format lookup

v2 (Eric): refactor both occurences, not just one

v3 (Chad): replace 0 by NULL

Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Topi Pohjolainen 2012-12-28 12:22:54 +02:00
parent 55162e2164
commit 904587ac3a

View file

@ -231,6 +231,21 @@ static struct intel_image_format intel_image_formats[] = {
{ 0, 1, 0, __DRI_IMAGE_FORMAT_ARGB8888, 4 } } }
};
static struct intel_image_format *
intel_image_format_lookup(int fourcc)
{
struct intel_image_format *f = NULL;
for (unsigned i = 0; i < ARRAY_SIZE(intel_image_formats); i++) {
if (intel_image_formats[i].fourcc == fourcc) {
f = &intel_image_formats[i];
break;
}
}
return f;
}
static __DRIimage *
intel_allocate_image(int dri_format, void *loaderPrivate)
{
@ -601,12 +616,7 @@ intel_create_image_from_names(__DRIscreen *screen,
if (screen == NULL || names == NULL || num_names != 1)
return NULL;
for (i = 0; i < ARRAY_SIZE(intel_image_formats); i++) {
if (intel_image_formats[i].fourcc == fourcc) {
f = &intel_image_formats[i];
}
}
f = intel_image_format_lookup(fourcc);
if (f == NULL)
return NULL;
@ -635,19 +645,14 @@ intel_create_image_from_fds(__DRIscreen *screen,
void *loaderPrivate)
{
struct intel_screen *intelScreen = screen->driverPrivate;
struct intel_image_format *f = NULL;
struct intel_image_format *f;
__DRIimage *image;
int i, index;
if (fds == NULL || num_fds != 1)
return NULL;
for (i = 0; i < ARRAY_SIZE(intel_image_formats); i++) {
if (intel_image_formats[i].fourcc == fourcc) {
f = &intel_image_formats[i];
}
}
f = intel_image_format_lookup(fourcc);
if (f == NULL)
return NULL;