I guess softpipe should be fine. I'm not sure about llvmpipe and its parallelism.
Marek On Thu, Jan 30, 2014 at 11:55 PM, Fredrik Höglund <fred...@kde.org> wrote: > 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