[virglrenderer-devel] [PATCH 4/5] add a cap for TGSI precise modifiers

Gert Wollny gert.wollny at collabora.com
Thu Jul 12 12:35:11 UTC 2018


Am Donnerstag, den 12.07.2018, 09:55 +0200 schrieb Erik Faye-Lund:
> This way, mesa can know that the TGSI-parser groks the _PRECISE
> modifier, and it doesn't need to cull them any more.
> 
> Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
> ---
>  src/virgl_hw.h       | 1 +
>  src/vrend_renderer.c | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/virgl_hw.h b/src/virgl_hw.h
> index 44c7108..bbd4d38 100644
> --- a/src/virgl_hw.h
> +++ b/src/virgl_hw.h
> @@ -215,6 +215,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_TGSI_PRECISE         (1 << 2)
We should agree on the numbers here, Dave's experimental tree uses
(1<<2) already for compute shaders, and I added (1<<3) for copy_image,
so (1 << 4) would be the next one. 


>  
>  struct virgl_caps_bool_set1 {
>          unsigned indep_blend_enable:1;
> diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
> index cc99087..388f08d 100644
> --- a/src/vrend_renderer.c
> +++ b/src/vrend_renderer.c
> @@ -7550,7 +7550,7 @@ void vrend_renderer_fill_caps(uint32_t set,
> uint32_t version,
>  
>     caps->v1.max_samples = vrend_renderer_query_multisample_caps(max,
> &caps->v2);
>  
> -   caps->v2.capability_bits |= VIRGL_CAP_TGSI_INVARIANT;
> +   caps->v2.capability_bits |= VIRGL_CAP_TGSI_INVARIANT |
> VIRGL_CAP_TGSI_PRECISE;
>  
>     if (gl_ver >= 43 ||
> epoxy_has_gl_extension("GL_ARB_texture_view"))
>        caps->v2.capability_bits |= VIRGL_CAP_TEXTURE_VIEW;


More information about the virglrenderer-devel mailing list