summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2020-07-06 14:55:48 +1000
committerMarge Bot <eric+marge@anholt.net>2021-02-11 07:32:02 +0000
commit452a37e634e1e896a9bbf142477223a03454d944 (patch)
tree37b295cff5fe4b8e1f8408e6acc82b13d5931f73
parent14b2dc0013c73fbd47d232b2f3ff47d29f1f624c (diff)
llvmpipe: enable GL spir-v support
Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8972>
-rw-r--r--.gitlab-ci/piglit/llvmpipe-quick_gl.txt5
-rw-r--r--.gitlab-ci/piglit/llvmpipe-quick_shader.txt90
-rw-r--r--docs/features.txt4
-rw-r--r--src/gallium/drivers/llvmpipe/lp_screen.c1
4 files changed, 7 insertions, 93 deletions
diff --git a/.gitlab-ci/piglit/llvmpipe-quick_gl.txt b/.gitlab-ci/piglit/llvmpipe-quick_gl.txt
index 47e9d882d10..c80cd2a0d82 100644
--- a/.gitlab-ci/piglit/llvmpipe-quick_gl.txt
+++ b/.gitlab-ci/piglit/llvmpipe-quick_gl.txt
@@ -487,7 +487,6 @@ spec/arb_geometry_shader4/arb_geometry_shader4-program-parameter-vertices-out ma
spec/arb_geometry_shader4/arb_geometry_shader4-program-parameter-vertices-out tf 1: skip
spec/arb_geometry_shader4/arb_geometry_shader4-program-parameter-vertices-out tf max: skip
spec/arb_geometry_shader4/arb_geometry_shader4-vertices-in: skip
-spec/arb_gpu_shader5/arb_gpu_shader5-xfb-streams-without-invocations spirv: skip
spec/arb_gpu_shader_fp64/execution/arb_gpu_shader_fp64-dlist-uniforms: skip
spec/arb_internalformat_query/minmax: skip
spec/arb_internalformat_query/misc. api error checks: skip
@@ -1649,10 +1648,10 @@ wgl/wgl-sanity: skip
summary:
name: results
---- --------
- pass: 23145
+ pass: 23146
fail: 185
crash: 1
- skip: 1438
+ skip: 1437
timeout: 0
warn: 6
incomplete: 0
diff --git a/.gitlab-ci/piglit/llvmpipe-quick_shader.txt b/.gitlab-ci/piglit/llvmpipe-quick_shader.txt
index 7a829e8ba5f..48cdadad650 100644
--- a/.gitlab-ci/piglit/llvmpipe-quick_shader.txt
+++ b/.gitlab-ci/piglit/llvmpipe-quick_shader.txt
@@ -56,92 +56,6 @@ spec/arb_geometry_shader4/linker/no-vertex-shader-only-built-in-input-varyings-e
spec/arb_geometry_shader4/linker/no-vertex-shader-user-defined-input-varying: skip
spec/arb_geometry_shader4/linker/varying-mismatch: skip
spec/arb_geometry_shader4/linker/verticesin-const: skip
-spec/arb_gl_spirv/execution/ssbo/aoa: skip
-spec/arb_gl_spirv/execution/ssbo/aoa-2: skip
-spec/arb_gl_spirv/execution/ssbo/array: skip
-spec/arb_gl_spirv/execution/ssbo/array-indirect: skip
-spec/arb_gl_spirv/execution/ssbo/array-inside-ssbo: skip
-spec/arb_gl_spirv/execution/ssbo/array-of-arrays-inside-ssbo: skip
-spec/arb_gl_spirv/execution/ssbo/matrix/column-major: skip
-spec/arb_gl_spirv/execution/ssbo/matrix/column-vs-row: skip
-spec/arb_gl_spirv/execution/ssbo/matrix/complex: skip
-spec/arb_gl_spirv/execution/ssbo/matrix/indirect-column-major: skip
-spec/arb_gl_spirv/execution/ssbo/matrix/indirect-row-major: skip
-spec/arb_gl_spirv/execution/ssbo/matrix/row-major: skip
-spec/arb_gl_spirv/execution/ssbo/simple: skip
-spec/arb_gl_spirv/execution/ssbo/two-ssbo: skip
-spec/arb_gl_spirv/execution/ssbo/two-ssbo-different-layouts: skip
-spec/arb_gl_spirv/execution/ssbo/two-stages: skip
-spec/arb_gl_spirv/execution/ssbo/unsized-array: skip
-spec/arb_gl_spirv/execution/ssbo/unsized-array-length: skip
-spec/arb_gl_spirv/execution/ubo/aoa: skip
-spec/arb_gl_spirv/execution/ubo/aoa-2: skip
-spec/arb_gl_spirv/execution/ubo/array: skip
-spec/arb_gl_spirv/execution/ubo/array-complex: skip
-spec/arb_gl_spirv/execution/ubo/array-different-array-stride-ubo: skip
-spec/arb_gl_spirv/execution/ubo/array-indirect: skip
-spec/arb_gl_spirv/execution/ubo/array-inside-ubo: skip
-spec/arb_gl_spirv/execution/ubo/array-inside-ubo-copy: skip
-spec/arb_gl_spirv/execution/ubo/array-of-arrays-inside-ubo: skip
-spec/arb_gl_spirv/execution/ubo/explicit-offset: skip
-spec/arb_gl_spirv/execution/ubo/explicit-offset-nested-struct: skip
-spec/arb_gl_spirv/execution/ubo/location-0-crash: skip
-spec/arb_gl_spirv/execution/ubo/matrix/column-major: skip
-spec/arb_gl_spirv/execution/ubo/matrix/column-vs-row: skip
-spec/arb_gl_spirv/execution/ubo/matrix/complex: skip
-spec/arb_gl_spirv/execution/ubo/matrix/different-matrix-stride: skip
-spec/arb_gl_spirv/execution/ubo/matrix/indirect-column-major: skip
-spec/arb_gl_spirv/execution/ubo/matrix/indirect-row-major: skip
-spec/arb_gl_spirv/execution/ubo/matrix/row-major: skip
-spec/arb_gl_spirv/execution/ubo/simple: skip
-spec/arb_gl_spirv/execution/ubo/two-stages: skip
-spec/arb_gl_spirv/execution/ubo/two-ubos: skip
-spec/arb_gl_spirv/execution/uniform/array: skip
-spec/arb_gl_spirv/execution/uniform/arrays-of-arrays: skip
-spec/arb_gl_spirv/execution/uniform/atomic-uint-aoa-cs: skip
-spec/arb_gl_spirv/execution/uniform/atomic-uint-aoa-fs: skip
-spec/arb_gl_spirv/execution/uniform/atomic-uint-array-cs: skip
-spec/arb_gl_spirv/execution/uniform/atomic-uint-array-fs: skip
-spec/arb_gl_spirv/execution/uniform/atomic-uint-cs: skip
-spec/arb_gl_spirv/execution/uniform/atomic-uint-mixing-with-normal-uniforms: skip
-spec/arb_gl_spirv/execution/uniform/atomic-uint-several-slots: skip
-spec/arb_gl_spirv/execution/uniform/embedded-structs: skip
-spec/arb_gl_spirv/execution/uniform/index-matches-location: skip
-spec/arb_gl_spirv/execution/uniform/initializer: skip
-spec/arb_gl_spirv/execution/uniform/initializer-complex: skip
-spec/arb_gl_spirv/execution/uniform/initializer-dvec4: skip
-spec/arb_gl_spirv/execution/uniform/initializer-mat4x3: skip
-spec/arb_gl_spirv/execution/uniform/nonsequential-locations: skip
-spec/arb_gl_spirv/execution/uniform/sampler2d: skip
-spec/arb_gl_spirv/execution/uniform/sampler2d-binding: skip
-spec/arb_gl_spirv/execution/uniform/sampler2d-binding-array: skip
-spec/arb_gl_spirv/execution/uniform/sampler2d-nonconst-nested-array: skip
-spec/arb_gl_spirv/execution/uniform/sampler2d-struct: skip
-spec/arb_gl_spirv/execution/uniform/simple: skip
-spec/arb_gl_spirv/execution/uniform/simple-without-names: skip
-spec/arb_gl_spirv/execution/uniform/struct: skip
-spec/arb_gl_spirv/execution/uniform/struct-array: skip
-spec/arb_gl_spirv/execution/uniform/two-uniforms: skip
-spec/arb_gl_spirv/execution/va64-simple: skip
-spec/arb_gl_spirv/execution/vs-ps-simple: skip
-spec/arb_gl_spirv/execution/vs-ps-specializations: skip
-spec/arb_gl_spirv/execution/xfb/vs_aoa: skip
-spec/arb_gl_spirv/execution/xfb/vs_block: skip
-spec/arb_gl_spirv/execution/xfb/vs_block_array: skip
-spec/arb_gl_spirv/execution/xfb/vs_block_array_offset_per_member: skip
-spec/arb_gl_spirv/execution/xfb/vs_double: skip
-spec/arb_gl_spirv/execution/xfb/vs_lines: skip
-spec/arb_gl_spirv/execution/xfb/vs_simple: skip
-spec/arb_gl_spirv/execution/xfb/vs_simple_multiple_samples: skip
-spec/arb_gl_spirv/execution/xfb/vs_struct: skip
-spec/arb_gl_spirv/execution/xfb/vs_struct_array: skip
-spec/arb_gl_spirv/execution/xfb/vs_triangles: skip
-spec/arb_gl_spirv/execution/xfb/vs_two_block: skip
-spec/arb_gl_spirv/execution/xfb/vs_two_sets: skip
-spec/arb_gl_spirv/execution/xfb/vs_two_sets_ifc: skip
-spec/arb_gl_spirv/execution/xfb/vs_two_sets_struct: skip
-spec/arb_gl_spirv/linker/uniform/multisampler: skip
-spec/arb_gl_spirv/linker/uniform/multisampler-array: skip
spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dmat2-mat2: fail
spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dmat2x3-mat2x3: fail
spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dmat2x4-mat2x4: fail
@@ -598,10 +512,10 @@ spec/nv_viewport_swizzle/viewport_swizzle: skip
summary:
name: results
---- --------
- pass: 15820
+ pass: 15906
fail: 82
crash: 170
- skip: 345
+ skip: 259
timeout: 0
warn: 0
incomplete: 0
diff --git a/docs/features.txt b/docs/features.txt
index c8aee1e3bc0..1bda868097f 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -227,14 +227,14 @@ GL 4.5, GLSL 4.50 -- all DONE: nvc0, r600, radeonsi, llvmpipe
GL 4.6, GLSL 4.60 -- all DONE: radeonsi
- GL_ARB_gl_spirv DONE (i965/gen7+)
+ GL_ARB_gl_spirv DONE (i965/gen7+, llvmpipe)
GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, llvmpipe, virgl, zink)
GL_ARB_pipeline_statistics_query DONE (i965, nvc0, r600, llvmpipe, softpipe, swr)
GL_ARB_polygon_offset_clamp DONE (freedreno, i965, nv50, nvc0, r600, llvmpipe, swr, virgl)
GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, llvmpipe, softpipe, virgl, v3d, zink)
GL_ARB_shader_draw_parameters DONE (i965, llvmpipe, nvc0)
GL_ARB_shader_group_vote DONE (i965, nvc0, llvmpipe)
- GL_ARB_spirv_extensions DONE (i965/gen7+)
+ GL_ARB_spirv_extensions DONE (i965/gen7+, llvmpipe)
GL_ARB_texture_filter_anisotropic DONE (etnaviv/HALTI0, freedreno, i965, nv50, nvc0, r600, softpipe (*), llvmpipe (*), d3d12, virgl, zink)
GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+, nvc0, llvmpipe, softpipe, virgl)
GL_KHR_no_error DONE (all drivers)
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
index 0ba4b48c469..b2672c58367 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -337,6 +337,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_LOAD_CONSTBUF:
case PIPE_CAP_TEXTURE_MULTISAMPLE:
case PIPE_CAP_SAMPLE_SHADING:
+ case PIPE_CAP_GL_SPIRV:
case PIPE_CAP_POST_DEPTH_COVERAGE:
case PIPE_CAP_PACKED_UNIFORMS: {
struct llvmpipe_screen *lscreen = llvmpipe_screen(screen);