panfrost: Cleanup needless if in create_bo

I'm not sure why we were checking for these additional criteria (likely
inherited from some other driver); remove the needless checks to cleanup
the code and perhaps fix some bugs down the line.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Tomeu Vizoso <tomeu.visozo@collabora.com>
This commit is contained in:
Alyssa Rosenzweig 2019-03-07 03:24:45 +00:00
parent 1467deb543
commit d93c5c3148
1 changed files with 22 additions and 26 deletions

View File

@ -248,37 +248,33 @@ panfrost_resource_create(struct pipe_screen *screen,
assert(0);
}
if ((template->bind & PIPE_BIND_RENDER_TARGET) || (template->bind & PIPE_BIND_DEPTH_STENCIL)) {
if (template->bind & PIPE_BIND_DISPLAY_TARGET ||
template->bind & PIPE_BIND_SCANOUT ||
template->bind & PIPE_BIND_SHARED) {
struct pipe_resource scanout_templat = *template;
struct renderonly_scanout *scanout;
struct winsys_handle handle;
if (template->bind & PIPE_BIND_DISPLAY_TARGET ||
template->bind & PIPE_BIND_SCANOUT ||
template->bind & PIPE_BIND_SHARED) {
struct pipe_resource scanout_templat = *template;
struct renderonly_scanout *scanout;
struct winsys_handle handle;
/* TODO: align width0 and height0? */
/* TODO: align width0 and height0? */
scanout = renderonly_scanout_for_resource(&scanout_templat,
pscreen->ro, &handle);
if (!scanout)
return NULL;
scanout = renderonly_scanout_for_resource(&scanout_templat,
pscreen->ro, &handle);
if (!scanout)
return NULL;
assert(handle.type == WINSYS_HANDLE_TYPE_FD);
/* TODO: handle modifiers? */
so = pan_resource(screen->resource_from_handle(screen, template,
&handle,
PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE));
close(handle.handle);
if (!so)
return NULL;
assert(handle.type == WINSYS_HANDLE_TYPE_FD);
/* TODO: handle modifiers? */
so = pan_resource(screen->resource_from_handle(screen, template,
&handle,
PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE));
close(handle.handle);
if (!so)
return NULL;
so->scanout = scanout;
pscreen->display_target = so;
} else {
so->bo = panfrost_create_bo(pscreen, template);
}
so->scanout = scanout;
pscreen->display_target = so;
} else {
so->bo = panfrost_create_bo(pscreen, template);
so->bo = panfrost_create_bo(pscreen, template);
}
return (struct pipe_resource *)so;