On Thursday 30 January 2014, Marek Olšák wrote: > From: Marek Olšák <marek.ol...@amd.com> > > --- > src/gallium/drivers/freedreno/freedreno_screen.c | 1 + > src/gallium/drivers/i915/i915_screen.c | 1 + > src/gallium/drivers/ilo/ilo_screen.c | 1 + > src/gallium/drivers/llvmpipe/lp_screen.c | 1 + > src/gallium/drivers/nouveau/nv30/nv30_screen.c | 1 + > src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 + > src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1 + > src/gallium/drivers/softpipe/sp_screen.c | 1 + > src/gallium/drivers/svga/svga_screen.c | 1 + > 9 files changed, 9 insertions(+) > > diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c > b/src/gallium/drivers/freedreno/freedreno_screen.c > index c10efd8..250570d 100644 > --- a/src/gallium/drivers/freedreno/freedreno_screen.c > +++ b/src/gallium/drivers/freedreno/freedreno_screen.c > @@ -201,6 +201,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_QUERY_PIPELINE_STATISTICS: > case PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK: > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > > /* Stream output. */ > diff --git a/src/gallium/drivers/i915/i915_screen.c > b/src/gallium/drivers/i915/i915_screen.c > index c9f2c35..7920b4f 100644 > --- a/src/gallium/drivers/i915/i915_screen.c > +++ b/src/gallium/drivers/i915/i915_screen.c > @@ -225,6 +225,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap > cap) > case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY: > case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY: > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > > case PIPE_CAP_GLSL_FEATURE_LEVEL: > diff --git a/src/gallium/drivers/ilo/ilo_screen.c > b/src/gallium/drivers/ilo/ilo_screen.c > index 2c68fcd..c75195b 100644 > --- a/src/gallium/drivers/ilo/ilo_screen.c > +++ b/src/gallium/drivers/ilo/ilo_screen.c > @@ -430,6 +430,7 @@ ilo_get_param(struct pipe_screen *screen, enum pipe_cap > param) > case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: > return true; > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > > default: > diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c > b/src/gallium/drivers/llvmpipe/lp_screen.c > index 5643fbe..ed21401 100644 > --- a/src/gallium/drivers/llvmpipe/lp_screen.c > +++ b/src/gallium/drivers/llvmpipe/lp_screen.c > @@ -231,6 +231,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum > pipe_cap param) > case PIPE_CAP_ENDIANNESS: > return PIPE_ENDIAN_NATIVE; > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > } > /* should only get here on unhandled cases */ > diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c > b/src/gallium/drivers/nouveau/nv30/nv30_screen.c > index 787802d..3df6e64 100644 > --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c > +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c > @@ -124,6 +124,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE: > case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY: > case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY: > diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c > b/src/gallium/drivers/nouveau/nv50/nv50_screen.c > index 2b6ec3a..333f0b1 100644 > --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c > +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c > @@ -193,6 +193,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_ENDIANNESS: > return PIPE_ENDIAN_LITTLE; > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > default: > NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > index 752d72b..b60740f 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > @@ -171,6 +171,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_ENDIANNESS: > return PIPE_ENDIAN_LITTLE; > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > default: > NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); > diff --git a/src/gallium/drivers/softpipe/sp_screen.c > b/src/gallium/drivers/softpipe/sp_screen.c > index ed29cea..1f9fe32 100644 > --- a/src/gallium/drivers/softpipe/sp_screen.c > +++ b/src/gallium/drivers/softpipe/sp_screen.c > @@ -183,6 +183,7 @@ softpipe_get_param(struct pipe_screen *screen, enum > pipe_cap param) > case PIPE_CAP_ENDIANNESS: > return PIPE_ENDIAN_NATIVE; > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > } > /* should only get here on unhandled cases */ > diff --git a/src/gallium/drivers/svga/svga_screen.c > b/src/gallium/drivers/svga/svga_screen.c > index e039e8d..9e97567 100644 > --- a/src/gallium/drivers/svga/svga_screen.c > +++ b/src/gallium/drivers/svga/svga_screen.c > @@ -265,6 +265,7 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap > param) > case PIPE_CAP_QUERY_PIPELINE_STATISTICS: > case PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE: > case PIPE_CAP_TGSI_VS_LAYER: > + case PIPE_CAP_BUFFER_TRANSFER_PERSISTENT_COHERENT: > return 0; > case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY: > return 1;
Would softpipe and llvmpipe need anything other than a no-op memory_barrier() implementation to support this extension? At any rate: Reviewed-by: Fredrik Höglund <fred...@kde.org> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev