Commit Graph

742 Commits

Author SHA1 Message Date
Juston Li
4e85c325ff venus: implement VK_EXT_vertex_input_dynamic_state
requires a fixup to ignore static pVertexInputState if dynamic state
is used.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25193>
2023-09-13 00:00:39 +00:00
Karol Herbst
29f730b793 docs/features: cl_khr_3d_image_writes needs driver support
And asahi doesn't support it.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25174>
2023-09-12 10:03:27 +00:00
Rob Clark
c4c76b72e1 freedreno/a6xx: ARB_shader_viewport_layer_array
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24999>
2023-09-11 19:45:19 +00:00
Rob Clark
c1a188ad4f freedreno/a6xx: EXT_depth_bounds_test
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24999>
2023-09-11 19:45:19 +00:00
Rob Clark
babe8a10d9 freedreno/a6xx: ARB_texture_filter_minmax
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24999>
2023-09-11 19:45:19 +00:00
Rob Clark
286b7723f0 freedreno/a6xx: ARB_sample_locations
Note, gl_SamplePosition (rgetpos), and therefore interpolateAtSample(),
doesn't work with sample location_enable=true.  For vulkan, "If the
current pipeline uses custom sample locations the value of any variable
decorated with the SamplePosition built-in decoration is undefined."
But ARB_sample_positions doesn't mention this.  Possibly the vk text
should be backported to the gl extension.  (If the app is specifying the
sample locations, it shouldn't need gl_SamplePosition.)

The upshot of this is 2 out of 3 tests that piglit arb_sample_locations
test tests fail, even though sample locations itself is working.
Possibly the test should be updated.  Or we could use driconf to hide
ARB_gpu_shader5 and ARB_sample_shading from this test.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24999>
2023-09-11 19:45:19 +00:00
Rob Clark
fd00e99444 freedreno/a6xx: ARB_post_depth_coverage
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24999>
2023-09-11 19:45:19 +00:00
Vlad Schiller
c4506b5af5 pvr: Implement VK_KHR_format_feature_flags2
This commit will implement and set VK_KHR_format_feature_flags2
instead of the old ones.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24929>
2023-09-05 13:15:30 +00:00
Vlad Schiller
05179931af pvr: Implement VK_EXT_tooling_info
This commit will enable the EXT_tooling_info extension,
which was already implemented in the common code.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24928>
2023-09-01 10:10:42 +00:00
Lina Versace
6d3a7c1773 docs: Add row for VK_KHR_maintenance5
Reviewed-By: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24980>
2023-09-01 01:36:55 +00:00
Alyssa Rosenzweig
6aa1cf6e7a asahi: Advertise OpenGL ES 3.1!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24847>
2023-08-23 15:06:55 +00:00
norablackcat
f744c114d1 rusticl: add cl_khr_expect_assume
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Tested-by: Andrey Alekseenko <al42and@gmail.com>
Tested-by: Yifeng Li <tomli@tomli.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23115>
2023-08-22 17:28:05 +00:00
Matt Coster
abc0b3a0dd pvr: Add VK_KHR_copy_commands2
We already expose the *2() functions and allow the common vulkan code
to provide the vulkan 1.0 equivalents, so we might as well expose this
extension.

Coverage in dEQP is dEQP-VK.api.copy_and_blit.copy_commands2.*, which
are mostly identical to dEQP-VK.api.copy_and_blit.core.* without
additional extensions.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24489>
2023-08-10 15:38:38 +00:00
Matt Coster
ffc93ba7a3 pvr: Add VK_KHR_get_surface_capabilities2
Common vulkan wsi code already exposes the *2() functions (as well as
the vulkan 1.0 equivalents), so we might as well expose this extension.

Coverage in dEQP is dEQP-VK.wsi.*.surface.query_capabilities2, which
are all currently unsupported as we do not expose any platform surface
extensions.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24489>
2023-08-10 15:38:38 +00:00
Matt Coster
4088831124 pvr: Add VK_KHR_get_memory_requirements2
We already expose the *2() functions and allow the common vulkan code
to provide the vulkan 1.0 equivalents, so we might as well expose this
extension.

The runtime also provides common implementations for the *2() functions
based on VK_KHR_maintenance4, but those functions require the
requirements to be evaluated without creating a resource; that would
need significantly more refactoring work to achieve.

Coverage in dEQP is dEQP-VK.memory.requirements.extended.*, which all
pass or are unsupported.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24489>
2023-08-10 15:38:38 +00:00
Matt Coster
1823afa94a pvr: Add VK_KHR_get_display_properties2
Common vulkan wsi code already exposes the *2() functions (as well as
the vulkan 1.0 equivalents), so we might as well expose this extension.

Coverage in dEQP is dEQP-VK.wsi.display.get_display_*2, which all pass
or are unsupported.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24489>
2023-08-10 15:38:37 +00:00
Matt Coster
64a3320f22 docs: Fixup imagination/pvr extension support
VK_KHR_timeline_semaphore support was missed by mistake.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24489>
2023-08-10 15:38:37 +00:00
Eric Engestrom
5862568663 docs/v3dv: mark direct display extensions as implemented
Fixes: bf5cfb6486 ("v3dv: Enable (leased) direct display extensions.")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24584>
2023-08-10 11:39:10 +00:00
Dave Airlie
81cae3d8d2 nvk: enable KHR_shader_clock.
This should all be wired up.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24595>
2023-08-10 03:39:49 +00:00
Thomas H.P. Andersen
95feb95c95 nvk: advertise VK_EXT_tooling_info
Use the implementation in common code to report no tools in use.

Passes:
dEQP-VK.api.tooling_info.validate_getter
dEQP-VK.api.tooling_info.validate_tools_properties

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24594>
2023-08-10 02:30:45 +00:00
Eric Engestrom
e1ff7893ba docs/radv: mark VK_INTEL_shader_integer_functions2 as implemented
Fixes: aa9d2d8893 ("radv: Enable VK_INTEL_shader_integer_functions2.")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24582>
2023-08-09 14:38:22 +01:00
Eric Engestrom
0e9e033cde docs/radv: mark VK_EXT_tooling_info as implemented
Fixes: 10d1073aa6 ("radv: advertise VK_EXT_tooling_info")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24582>
2023-08-09 14:38:22 +01:00
Lionel Landwerlin
c87d5c67d9 anv: implement VK_EXT_pipeline_robustness
v2:
 - Use vk_pipeline_robustness_state

Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17545>
2023-08-09 09:03:45 +03:00
Thomas H.P. Andersen
8c25cd307a nvk: EXT_conditional_rendering
This reads the buffer value, combines it with the inverted setting
and sets SET_RENDER_ENABLE depending on this.

This works for draw and clear calls, but not for dispatch.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24520>
2023-08-09 04:11:50 +00:00
georgeouzou
870636cc1f nvk: Support VK_EXT_line_rasterization
- bresenham and smooth lines

These two need to override multisample rasterization to get correct
results on CTS tests.

- stippled lines

The stipple factor needs to be remapped from [1, 256] to [0, 255].

-rectangular and strict lines

Rectangular lines need multisample rasterization rules to get correctly
rasterized even for one sample. That way we get strict lines too for
VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT.

As per the DX rasterization rules:

Rasterization rules for primitives are, in general, unchanged by multisample antialiasing, except:
- For a triangle, a coverage test is performed for each sample location (not for a pixel center).
  If more than one sample location is covered, a pixel shader runs once with attributes interpolated at the pixel center.
  The result is stored (replicated) for each covered sample location in the pixel that passes the depth/stencil test.
- A line is treated as a rectangle made up of two triangles, with a line width of 1.4.
- For a point, a coverage test is performed for each sample location (not for a pixel center).

For single sample rasterization we get the same results for the
triangles and points, but for lines we get the rectangular form instead.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24517>
2023-08-08 20:45:31 +00:00
Bas Nieuwenhuizen
5325582968 radv: Expose VK_EXT_external_memory_acquire_unmodified.
No-op, since we generally don't do anything to revalidate images.

In general on external/foreign queues we prepare on "export" that
it might be used on more queues, but we do pretty much nothing on
"import".

Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9348
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24524>
2023-08-08 12:26:06 +00:00
Dave Airlie
18214bf9ea docs: add two nvk exts to features.txt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24523>
2023-08-06 21:55:36 +00:00
Faith Ekstrand
dadf9d59e6 nvk: Add support for variable pointers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Mohamed Ahmed
2b85ccacf0 nouveau/nvk: Enable VK_KHR_sampler_ycbcr
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
34ea8dfbdd docs: Add NVK to features.txt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Karol Herbst
fa8634388b llvmpipe: enable system SVM
The API bits are already implemented in clover and rusticl and by
definition a CPU driver implements SVM.

This should allow anybody to work on proper SyCL/CHIP-SPV support for
rusticl running llvmpipe.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24092>
2023-07-20 23:00:24 +00:00
Christian Gmeiner
df91080389 docs: update etnaviv extensions
I went through the list and updated the extensions that are supported
and passing (most) of the piglit's and deqp's.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24032>
2023-07-10 19:15:05 +00:00
Italo Nicola
a1eabeff66 gallium: remove PIPE_CAP_CLEAR_TEXTURE
ARB_clear_texture is now implemented in common code.

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23735>
2023-07-10 15:23:06 +00:00
Karol Herbst
d681cdf4a6 rusticl: support subgroups
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>
2023-07-07 12:27:35 +00:00
Lionel Landwerlin
5ebbb937af docs/features: add hasvk entries
Automatically generated using
https://github.com/djdeath/mesa-jhbuild/blob/master/update_features.py

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23986>
2023-07-06 20:26:27 +00:00
Lionel Landwerlin
1bed67dc3a docs/features: add more missing extensions
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23986>
2023-07-06 20:26:27 +00:00
QwertyChouskie
a57dc77482 docs/features.txt(fix): mark VK_EXT_pipeline_robustness as supported on radv
This was implemented in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23912

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24013>
2023-07-06 05:53:32 +00:00
Christian Gmeiner
dadb7244bb etnaviv: support OES_texture_half_float_linear
Passes all related piglit and deqp tests.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23972>
2023-07-04 06:15:49 +00:00
Christian Gmeiner
3f726f4ca5 docs: mark OES_texture_half_float done on etnaviv
Supported by GPUs with HALF_FLOAT feature bit.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23972>
2023-07-04 06:15:49 +00:00
Lionel Landwerlin
3774c3232c docs/features: update anv entries
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23967>
2023-07-03 13:11:03 +00:00
Romain Failliot
ea9f8c26bc docs(fix): remove last ref to i965 in features.txt
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23849>
2023-07-01 13:41:05 -04:00
Mike Blumenkrantz
dd3f756204 docs: update lavapipe extensions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23948>
2023-06-30 14:56:03 +00:00
Karol Herbst
48737626c8 docs/cl: timer sync is implemented
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23944>
2023-06-30 12:02:41 +02:00
Karol Herbst
2df3515625 docs/cl: move vec3 support under OpenCL C 1.1
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23944>
2023-06-30 12:02:40 +02:00
Karol Herbst
9784b52579 docs/cl: remove cl_khr_byte_addressable_store from extension list.
It's a CL core 1.1 feature.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23944>
2023-06-30 12:02:39 +02:00
Vitaliy Triang3l Kuzmin
f9e6d35f65 radv: Enable VK_EXT_fragment_shader_interlock
ACO only currently - not available in LLVM.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22250>
2023-06-26 15:58:04 +00:00
Asahi Lina
87bbaf680a asahi: Disable PIPE_CAP_SURFACE_SAMPLE_COUNT
This never worked, disable it.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23832>
2023-06-23 17:37:41 +00:00
Asahi Lina
af895692b3 asahi: Revert "Advertise ARB_texture_barrier"
This reverts commit 9e67d3f237.

We do not, in fact, implement texture barriers. Texture barriers are
supposed to allow non-overlapping rendering feedback loops. We cannot
support that at non-tile boundaries when texture compression is enabled
without some kind of downgrade path or other special handling.

Fixes Emacs corruption on X/Glamor.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23832>
2023-06-23 17:37:41 +00:00
Karol Herbst
29b4c1a09f rusticl: experimental support for cl_khr_fp16
Hidden behind `RUSTICL_ENABLE=fp16` for now as the OpenCL CTS doesn't have
enough fp16 tests at the moment. There has been a lot of work on it though,
so hopefully we can enable and verify it soon.

Additionally libclc also misses a bunch of fp16 functionality, so most of
the tests would also just crash.

However this flag is useful for development as it already wires up most of
the code needed.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23788>
2023-06-22 10:45:48 +00:00
Samuel Pitoiset
1359e806f2 radv: advertise VK_EXT_depth_bias_control
Pass new CTS on RDNA2.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23696>
2023-06-20 12:46:28 +00:00