gallium: add PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA
authorMarek Olšák <marek.olsak@amd.com>
Thu, 18 Apr 2019 21:01:52 +0000 (17:01 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 24 Apr 2019 19:47:41 +0000 (15:47 -0400)
src/gallium/auxiliary/util/u_screen.c
src/gallium/docs/source/screen.rst
src/gallium/drivers/radeonsi/si_get.c
src/gallium/include/pipe/p_defines.h

index 384e0ac5db66fb2f52df195eaf630cfac96ac18e..27f51e0898e2c7c0c62d3d31af170db7410ec3a9 100644 (file)
@@ -325,6 +325,7 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
    case PIPE_CAP_TGSI_ATOMFADD:
    case PIPE_CAP_TGSI_SKIP_SHRINK_IO_ARRAYS:
    case PIPE_CAP_IMAGE_LOAD_FORMATTED:
+   case PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA:
       return 0;
 
    case PIPE_CAP_MAX_GS_INVOCATIONS:
index f2fa7856ad23f3f4a9baa27f0da58cb64178f4f6..57554d0681d5a1a66c8c45706f1819ef658bb368 100644 (file)
@@ -521,6 +521,8 @@ The integer capabilities:
   execution. 0 = throttling is disabled.
 * ``PIPE_CAP_DMABUF``: Whether Linux DMABUF handles are supported by
   resource_from_handle and resource_get_handle.
+* ``PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA``: Whether VDPAU, VAAPI, and
+  OpenMAX should use a compute-based blit instead of pipe_context::blit.
 
 .. _pipe_capf:
 
index eddb383c2707f7344b1972da74dc306b4b1dbde1..bbaf6fee09c561d706714a8a2017b44911012f9c 100644 (file)
@@ -155,6 +155,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
        case PIPE_CAP_TGSI_FS_FBFETCH:
        case PIPE_CAP_COMPUTE_GRID_INFO_LAST_BLOCK:
        case PIPE_CAP_IMAGE_LOAD_FORMATTED:
+       case PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA:
                return 1;
 
        case PIPE_CAP_RESOURCE_FROM_USER_MEMORY:
index 27118dbe4e897454f0df8c42678279d307269b95..672a2ea7378d1ac0cf143f53af1be94c02342fdc 100644 (file)
@@ -882,6 +882,7 @@ enum pipe_cap
    PIPE_CAP_IMAGE_LOAD_FORMATTED,
    PIPE_CAP_MAX_FRAMES_IN_FLIGHT,
    PIPE_CAP_DMABUF,
+   PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA,
 };
 
 /**