Module: Mesa Branch: main Commit: 8ee7309e577775500a2120dc7e846211ae7da9b3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ee7309e577775500a2120dc7e846211ae7da9b3
Author: Pavel Asyutchenko <[email protected]> Date: Sat Sep 11 20:08:20 2021 +0300 llvmpipe: enable PIPE_CAP_FBFETCH_COHERENT llvmpipe's fragment shaders are always run sequentially and in API order for a single tile, so it's impossible to have out of order render target writes requiring fetch barriers. Issues fixed in previous commits were actually breaking most piglit/deqp tests for coherent extension variant. Signed-off-by: Pavel Asyutchenko <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13252> --- .../drivers/llvmpipe/ci/llvmpipe-glslparser.txt | 7 ------- .../drivers/llvmpipe/ci/llvmpipe-quick_shader.txt | 23 ---------------------- src/gallium/drivers/llvmpipe/lp_screen.c | 1 - 3 files changed, 31 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/ci/llvmpipe-glslparser.txt b/src/gallium/drivers/llvmpipe/ci/llvmpipe-glslparser.txt index 795b0cfcb05..0bfb04e6a3b 100644 --- a/src/gallium/drivers/llvmpipe/ci/llvmpipe-glslparser.txt +++ b/src/gallium/drivers/llvmpipe/ci/llvmpipe-glslparser.txt @@ -2073,13 +2073,6 @@ spec/ext_separate_shader_objects/preprocessor/disabled-undefined-es.geom: skip spec/ext_separate_shader_objects/preprocessor/disabled-undefined-es.tesc: skip spec/ext_separate_shader_objects/preprocessor/disabled-undefined-es.tese: skip spec/ext_separate_shader_objects/preprocessor/disabled-undefined-es.vert: skip -spec/ext_shader_framebuffer_fetch/compiler/gles2/negative-gl_lastfragdata-write.frag: skip -spec/ext_shader_framebuffer_fetch/compiler/gles2/negative-inout-fragment-output.frag: skip -spec/ext_shader_framebuffer_fetch/compiler/gles2/negative-output-layout.frag: skip -spec/ext_shader_framebuffer_fetch/compiler/gles3/negative-gl_lastfragdata.frag: skip -spec/ext_shader_framebuffer_fetch/compiler/gles3/negative-inout-gl_fragdepth.frag: skip -spec/ext_shader_framebuffer_fetch/compiler/gles3/negative-inout-vertex-output.vert: skip -spec/ext_shader_framebuffer_fetch/compiler/gles3/negative-output-layout.frag: skip spec/ext_shader_io_blocks/preprocessor/disabled-defined-es.comp: skip spec/ext_shader_io_blocks/preprocessor/disabled-defined-es.frag: skip spec/ext_shader_io_blocks/preprocessor/disabled-defined-es.geom: skip diff --git a/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_shader.txt b/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_shader.txt index 92549497749..da9821b0d32 100644 --- a/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_shader.txt +++ b/src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_shader.txt @@ -110,35 +110,12 @@ spec/arb_shader_storage_buffer_object/execution/ssbo-atomiccompswap-int: fail spec/arb_tessellation_shader/execution/gs-primitiveid-instanced: fail spec/ext_demote_to_helper_invocation/execution/demote: skip spec/ext_demote_to_helper_invocation/execution/demote_with_derivatives: skip -spec/ext_shader_framebuffer_fetch/execution/gl/1d: skip -spec/ext_shader_framebuffer_fetch/execution/gl/layered-1darray: skip -spec/ext_shader_framebuffer_fetch/execution/gl/layered-2darray: skip -spec/ext_shader_framebuffer_fetch/execution/gl/layered-cubemap: skip -spec/ext_shader_framebuffer_fetch/execution/gles2/mrt: skip -spec/ext_shader_framebuffer_fetch/execution/gles2/nonuniform-ss: skip -spec/ext_shader_framebuffer_fetch/execution/gles2/nonuniform-ss-redecl-highp: skip -spec/ext_shader_framebuffer_fetch/execution/gles2/nonuniform-ss-redecl-lowp: skip -spec/ext_shader_framebuffer_fetch/execution/gles2/simple-ss: skip spec/ext_shader_framebuffer_fetch/execution/gles3/discard-ms8: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/discard-ss: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/integer-ms2: skip spec/ext_shader_framebuffer_fetch/execution/gles3/integer-ms8: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/integer-ss: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/mrt: skip spec/ext_shader_framebuffer_fetch/execution/gles3/nonuniform-ms16: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/nonuniform-ms2: skip spec/ext_shader_framebuffer_fetch/execution/gles3/nonuniform-ms8: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/nonuniform-ss: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/overwrite: skip spec/ext_shader_framebuffer_fetch/execution/gles3/simple-ms16: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/simple-ms2: skip spec/ext_shader_framebuffer_fetch/execution/gles3/simple-ms8: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/simple-ss: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/single-slice-2darray: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/single-slice-2darray-mipmap: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/single-slice-3d: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/single-slice-cubemap: skip -spec/ext_shader_framebuffer_fetch/execution/gles3/texture: skip spec/ext_shader_framebuffer_fetch_non_coherent/execution/gles3/discard-ms8: skip spec/ext_shader_framebuffer_fetch_non_coherent/execution/gles3/integer-ms8: skip spec/ext_shader_framebuffer_fetch_non_coherent/execution/gles3/nonuniform-ms16: skip diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 9624bd1952a..1604e22f14d 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -315,7 +315,6 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_FBFETCH: return 8; case PIPE_CAP_FBFETCH_COHERENT: - return 0; case PIPE_CAP_MULTI_DRAW_INDIRECT: case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS: return 1;
