<div dir="ltr"><div>Reviewed-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>></div><div><br></div><div>Marek<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Aug 17, 2019 at 12:17 PM Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The compute paths in vl are a bit AMD-specific. For example, they (on<br>
nouveau), try to use a BGRX8 image format, which is not supported.<br>
Fixing all this is probably possible, but since the compute paths aren't<br>
in any way better, it's difficult to care.<br>
<br>
Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=111213" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=111213</a><br>
Fixes: 9364d66cb7 (gallium/auxiliary/vl: Add video compositor compute shader render)<br>
Signed-off-by: Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu" target="_blank">imirkin@alum.mit.edu</a>><br>
---<br>
 src/gallium/auxiliary/util/u_screen.c    | 2 +-<br>
 src/gallium/auxiliary/vl/vl_compositor.c | 2 +-<br>
 src/gallium/docs/source/screen.rst       | 4 ++--<br>
 src/gallium/drivers/radeonsi/si_get.c    | 2 +-<br>
 src/gallium/include/pipe/p_defines.h     | 2 +-<br>
 src/gallium/state_trackers/va/postproc.c | 2 +-<br>
 6 files changed, 7 insertions(+), 7 deletions(-)<br>
<br>
diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c<br>
index 0b4bb067d6d..88f4945e755 100644<br>
--- a/src/gallium/auxiliary/util/u_screen.c<br>
+++ b/src/gallium/auxiliary/util/u_screen.c<br>
@@ -331,7 +331,7 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,<br>
    case PIPE_CAP_TGSI_ATOMFADD:<br>
    case PIPE_CAP_TGSI_SKIP_SHRINK_IO_ARRAYS:<br>
    case PIPE_CAP_IMAGE_LOAD_FORMATTED:<br>
-   case PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA:<br>
+   case PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA:<br>
    case PIPE_CAP_FRAGMENT_SHADER_INTERLOCK:<br>
    case PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED:<br>
    case PIPE_CAP_ATOMIC_FLOAT_MINMAX:<br>
diff --git a/src/gallium/auxiliary/vl/vl_compositor.c b/src/gallium/auxiliary/vl/vl_compositor.c<br>
index 04808e80d84..a381af108b3 100644<br>
--- a/src/gallium/auxiliary/vl/vl_compositor.c<br>
+++ b/src/gallium/auxiliary/vl/vl_compositor.c<br>
@@ -764,7 +764,7 @@ vl_compositor_init(struct vl_compositor *c, struct pipe_context *pipe)<br>
<br>
    memset(c, 0, sizeof(*c));<br>
<br>
-   c->pipe_cs_composit_supported = pipe->screen->get_param(pipe->screen, PIPE_CAP_COMPUTE) &&<br>
+   c->pipe_cs_composit_supported = pipe->screen->get_param(pipe->screen, PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA) &&<br>
             pipe->screen->get_param(pipe->screen, PIPE_CAP_TGSI_TEX_TXF_LZ) &&<br>
             pipe->screen->get_param(pipe->screen, PIPE_CAP_TGSI_DIV);<br>
<br>
diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst<br>
index c033321ec66..d149a2f4c9f 100644<br>
--- a/src/gallium/docs/source/screen.rst<br>
+++ b/src/gallium/docs/source/screen.rst<br>
@@ -528,8 +528,8 @@ The integer capabilities:<br>
   execution. 0 = throttling is disabled.<br>
 * ``PIPE_CAP_DMABUF``: Whether Linux DMABUF handles are supported by<br>
   resource_from_handle and resource_get_handle.<br>
-* ``PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA``: Whether VDPAU, VAAPI, and<br>
-  OpenMAX should use a compute-based blit instead of pipe_context::blit.<br>
+* ``PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA``: Whether VDPAU, VAAPI, and<br>
+  OpenMAX should use a compute-based blit instead of pipe_context::blit and compute pipeline for compositing images.<br>
 * ``PIPE_CAP_FRAGMENT_SHADER_INTERLOCK``: True if fragment shader interlock<br>
   functionality is supported.<br>
 * ``PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED``: True if driver handles<br>
diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c<br>
index c9895edafb8..f85a53393aa 100644<br>
--- a/src/gallium/drivers/radeonsi/si_get.c<br>
+++ b/src/gallium/drivers/radeonsi/si_get.c<br>
@@ -156,7 +156,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param)<br>
        case PIPE_CAP_FBFETCH:<br>
        case PIPE_CAP_COMPUTE_GRID_INFO_LAST_BLOCK:<br>
        case PIPE_CAP_IMAGE_LOAD_FORMATTED:<br>
-       case PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA:<br>
+       case PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA:<br>
        case PIPE_CAP_TGSI_DIV:<br>
                return 1;<br>
<br>
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h<br>
index 0c79cac5cff..808c2b8cfaf 100644<br>
--- a/src/gallium/include/pipe/p_defines.h<br>
+++ b/src/gallium/include/pipe/p_defines.h<br>
@@ -885,7 +885,7 @@ enum pipe_cap<br>
    PIPE_CAP_IMAGE_LOAD_FORMATTED,<br>
    PIPE_CAP_MAX_FRAMES_IN_FLIGHT,<br>
    PIPE_CAP_DMABUF,<br>
-   PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA,<br>
+   PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA,<br>
    PIPE_CAP_FRAGMENT_SHADER_INTERLOCK,<br>
    PIPE_CAP_FBFETCH_COHERENT,<br>
    PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED,<br>
diff --git a/src/gallium/state_trackers/va/postproc.c b/src/gallium/state_trackers/va/postproc.c<br>
index fbc55b7714b..3431b1b48c7 100644<br>
--- a/src/gallium/state_trackers/va/postproc.c<br>
+++ b/src/gallium/state_trackers/va/postproc.c<br>
@@ -222,7 +222,7 @@ static VAStatus vlVaPostProcBlit(vlVaDriver *drv, vlVaContext *context,<br>
       blit.filter = PIPE_TEX_MIPFILTER_LINEAR;<br>
<br>
       if (drv->pipe->screen->get_param(drv->pipe->screen,<br>
-                                       PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA))<br>
+                                       PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA))<br>
          util_compute_blit(drv->pipe, &blit, &context->blit_cs);<br>
       else<br>
          drv->pipe->blit(drv->pipe, &blit);<br>
-- <br>
2.21.0<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a></blockquote></div>