[Mesa-dev] [PATCH] virgl: Expose GL_ARB_copy_image if host supports it

Gurchetan Singh gurchetansingh at chromium.org
Fri Jul 20 16:17:22 UTC 2018


Reviewed-by: Gurchetan Singh <gurchetansingh at chromium.org>
On Tue, Jul 3, 2018 at 4:32 AM Gert Wollny <gert.wollny at collabora.com> wrote:
>
> Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
> ---
> Note that I used (1 << 3) instead of (1 << 2) because Dave's experimental patch
> already uses the latter for computer shader caps.
> The host side patch starting to implement this can be found here:
>   https://patchwork.freedesktop.org/series/45064/
>
> Thanks for reviewing,
> Gert
>
>  src/gallium/drivers/virgl/virgl_hw.h     | 1 +
>  src/gallium/drivers/virgl/virgl_screen.c | 3 ++-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/virgl/virgl_hw.h b/src/gallium/drivers/virgl/virgl_hw.h
> index d338051d9b..4c23cb18b5 100644
> --- a/src/gallium/drivers/virgl/virgl_hw.h
> +++ b/src/gallium/drivers/virgl/virgl_hw.h
> @@ -201,6 +201,7 @@ enum virgl_formats {
>  #define VIRGL_CAP_NONE 0
>  #define VIRGL_CAP_TGSI_INVARIANT       (1 << 0)
>  #define VIRGL_CAP_TEXTURE_VIEW         (1 << 1)
> +#define VIRGL_CAP_COPY_IMAGE           (1 << 3)
>
>  #define VIRGL_BIND_DEPTH_STENCIL (1 << 0)
>  #define VIRGL_BIND_RENDER_TARGET (1 << 1)
> diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
> index 8bd6673c3c..2a340b004f 100644
> --- a/src/gallium/drivers/virgl/virgl_screen.c
> +++ b/src/gallium/drivers/virgl/virgl_screen.c
> @@ -219,6 +219,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
>        return vscreen->caps.caps.v2.max_shader_patch_varyings;
>     case PIPE_CAP_SAMPLER_VIEW_TARGET:
>        return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TEXTURE_VIEW;
> +   case PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS:
> +      return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COPY_IMAGE;
>     case PIPE_CAP_TEXTURE_GATHER_SM5:
>     case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
>     case PIPE_CAP_FAKE_SW_MSAA:
> @@ -246,7 +248,6 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
>     case PIPE_CAP_GENERATE_MIPMAP:
>     case PIPE_CAP_SURFACE_REINTERPRET_BLOCKS:
>     case PIPE_CAP_QUERY_BUFFER_OBJECT:
> -   case PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS:
>     case PIPE_CAP_STRING_MARKER:
>     case PIPE_CAP_QUERY_MEMORY_INFO:
>     case PIPE_CAP_PCI_GROUP:
> --
> 2.17.1
>


More information about the mesa-dev mailing list