vc4: Use shared drm_find_modifier util

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Alyssa Rosenzweig 2019-03-14 04:16:07 +00:00
parent cca270bb03
commit dd12142e34
1 changed files with 3 additions and 15 deletions

View File

@ -30,6 +30,7 @@
#include "util/u_surface.h"
#include "util/u_transfer_helper.h"
#include "util/u_upload_mgr.h"
#include "util/u_drm.h"
#include "drm-uapi/drm_fourcc.h"
#include "drm-uapi/vc4_drm.h"
@ -478,19 +479,6 @@ get_resource_texture_format(struct pipe_resource *prsc)
return format;
}
static bool
find_modifier(uint64_t needle, const uint64_t *haystack, int count)
{
int i;
for (i = 0; i < count; i++) {
if (haystack[i] == needle)
return true;
}
return false;
}
static struct pipe_resource *
vc4_resource_create_with_modifiers(struct pipe_screen *pscreen,
const struct pipe_resource *tmpl,
@ -500,7 +488,7 @@ vc4_resource_create_with_modifiers(struct pipe_screen *pscreen,
struct vc4_screen *screen = vc4_screen(pscreen);
struct vc4_resource *rsc = vc4_resource_setup(pscreen, tmpl);
struct pipe_resource *prsc = &rsc->base;
bool linear_ok = find_modifier(DRM_FORMAT_MOD_LINEAR, modifiers, count);
bool linear_ok = drm_find_modifier(DRM_FORMAT_MOD_LINEAR, modifiers, count);
/* Use a tiled layout if we can, for better 3D performance. */
bool should_tile = true;
@ -541,7 +529,7 @@ vc4_resource_create_with_modifiers(struct pipe_screen *pscreen,
linear_ok = true;
rsc->tiled = should_tile;
} else if (should_tile &&
find_modifier(DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
drm_find_modifier(DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
modifiers, count)) {
rsc->tiled = true;
} else if (linear_ok) {