[Mesa-dev] [PATCH] llvmpipe: Trivially advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT.

Roland Scheidegger sroland at vmware.com
Thu Feb 5 07:07:35 PST 2015


Am 05.02.2015 um 15:33 schrieb Jose Fonseca:
> Nothing special needs to be done.
> 
> Even though llvmpipe copies constant (ie uniform) buffers internally, the
> application is suppose to flush and sync, so all should work.
> 
> All bufferstorage piglit tests pass.
> ---
>  src/gallium/drivers/llvmpipe/lp_screen.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
> index 3b31656..507cfcf 100644
> --- a/src/gallium/drivers/llvmpipe/lp_screen.c
> +++ b/src/gallium/drivers/llvmpipe/lp_screen.c
> @@ -246,9 +246,10 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
>        return PIPE_ENDIAN_NATIVE;
>     case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
>        return 1;
> +   case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
> +      return 1;
>     case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS:
>     case PIPE_CAP_TEXTURE_GATHER_SM5:
> -   case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
>     case PIPE_CAP_TEXTURE_QUERY_LOD:
>     case PIPE_CAP_SAMPLE_SHADING:
>     case PIPE_CAP_TEXTURE_GATHER_OFFSETS:
> 

Looks good to me. I vaguely remember I didn't enable that because I
wasn't sure if it would really always work (things like using buffers as
render targets or as textures for instance). It's quite possible though
this isn't a problem (and the former isn't possible in GL in any case).

Roland



More information about the mesa-dev mailing list