Commit graph

172933 commits

Author SHA1 Message Date
Konstantin Seurer
49b400423c Revert "radv: Enable ray tracing pipelines by default"
This partially reverts commit 374bd4e1be.

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23677>
2023-06-16 16:13:34 +00:00
Friedrich Vock
b49afd6ce2 radv: Add the BOs of all shaders in a RT pipeline
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23681>
2023-06-16 14:47:03 +00:00
Georg Lehmann
99e44cc527 aco/opcodes: delete wrong comment copy pasted from NIR
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21882>
2023-06-16 13:45:38 +00:00
Georg Lehmann
fe3993447d aco: remove v_cvt_pkrtz_f16_f32_e64 when it's actually VOP2
More consistent with how we handle all the opcodes which were moved to VOP3.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21882>
2023-06-16 13:45:38 +00:00
Georg Lehmann
49bdc3a1c2 aco/opcodes: move v_cndmask_b32 back to the VOP2 list
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21882>
2023-06-16 13:45:38 +00:00
Tony Wasserka
89c86af39e aco/spill: Use arena allocator for spills
Gives a marginal speedup.

Co-authored-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12000>
2023-06-16 12:46:01 +00:00
Tony Wasserka
73835f4b09 aco/spill: Use arena allocator for next use distances
Speedup of aco::spill(): ~50%

Co-authored-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12000>
2023-06-16 12:46:01 +00:00
Karol Herbst
b3aae9c556 nouveau: eliminate busy waiting on fences
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19543>
2023-06-16 11:42:18 +00:00
Tapani Pälli
8f2680871d anv: convert most pc in genX_cmd_buffer to use pc helper
Some are left, batch_set_preemption does not have devinfo pointer
and IndirectStatePointersDisable does not have corresponding ANV bit.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
9f3b51255a anv: change most pipe controls in gfx8_cmd_buffer to use pc helper
One using a flag (PSDSyncEnable) that has no corresponding ANV bit.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
b3589a8899 anv: change pipe control in indirect draw gen to use pc helper
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
6a7dcd3e12 anv: change pipe controls in genX_gpu_memcpy to use pc helper
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
e70cf3ea98 anv: change pipe control in genX_pipeline to use pc helper
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
c232269db4 anv: change pipe controls in genX_state to use pc helper
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
6dc95685f3 anv: convert genX_query pipe controls to use pc helper
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
d8c76f8844 anv: implement invalidate part of emit_apply_pipe_flushes with helper
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
9f6f69e0f9 anv: implement flush part of emit_apply_pipe_flushes with helper
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tapani Pälli
c3658f5a5d anv: wrap pipe control emission to a set of helper functions
This makes it possible to have HW specific rules and WA's implemented
in a central place. Also all pipe controls will get anv_debug_dump_pc.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23583>
2023-06-16 08:04:20 +00:00
Tim Pambor
1ad79cb84f virgl: Fix stack overflow in virgl_bind_sampler_states
Triggered on hosts with more than 32 samplers.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9207
Fixes: 63c4c559 ("virgl: obtain supported number of shader sampler views from host")
Signed-off-by: Tim Pambor <tp@osasysteme.de>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23678>
2023-06-16 07:34:41 +00:00
Samuel Pitoiset
0e726c63ff radv: add dgc_emit_index_buffer()
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584>
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
a842f37dff radv: add dgc_emit_draw_indexed() helper
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584>
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
0551c54dff radv: add dgc_emit_draw() helper
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584>
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
bb24e17d44 radv: add dgc_emit_vertex_buffer() helper
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584>
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
be05e0e7a4 radv: add dgc_emit_push_constant() helper
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584>
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
cc3a9b90a9 radv: add dgc_emit_state() helper
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV.
The scissor workaround for GFX9 is only needed if the state is emitted,
so move it there as well.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584>
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
1d0c18ba3b radv: remove unused radv_dgc_token struct
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584>
2023-06-16 06:19:13 +00:00
Dave Airlie
562e890f2c ac/radeonsi: add av1 defaults header file from radeonsi
This just moves this header file so radv can use it.

Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23640>
2023-06-16 05:53:44 +00:00
Mike Blumenkrantz
b7f37265ac lavapipe: correctly update shader object per-stage push constant sizes
Fixes: 8b3022c918 ("lavapipe: implement EXT_shader_object")

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23663>
2023-06-16 03:09:41 +00:00
Mike Blumenkrantz
6e4971b510 lavapipe: fix shader binary binding with mesh shaders
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23663>
2023-06-16 03:09:41 +00:00
Mike Blumenkrantz
cb03191e82 lavapipe: more fixes for sample shading
this fixes the case where a draw without sample shading precedes
a draw with sample shading without changes to the sample mask

Fixes: cc9e958053 ("lavapipe: fix DS3 min sample setting")

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23663>
2023-06-16 03:09:41 +00:00
Mike Blumenkrantz
9aff38c7ca aux/trace: add methods for mesh shaders
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23663>
2023-06-16 03:09:41 +00:00
Karol Herbst
8f9514fc63 clc: static assert that clc_optional_features has no padding
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23685>
2023-06-15 23:31:27 +00:00
Matt Turner
ce467c6b33 meson: Remove reference to removed SWR driver
Fixes: e2de00876a ("gallium/swr: Remove common code and build options")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23679>
2023-06-15 22:55:51 +00:00
Dylan Baker
bea9111749 bin/pick-ui: use asyncio.new_event_loop
Instead of .get_event_loop, which is deprecated when there isn't a
running loop (like in our case).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23472>
2023-06-15 22:37:31 +00:00
Dylan Baker
0630a599fc bin/pick: Add support for adding notes on patches
This is pretty useful for keeping track of why a patch isn't landed, or
who I'm waiting on feedback from.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23472>
2023-06-15 22:37:31 +00:00
Dylan Baker
41394187aa bin/pick: use lineboxes to make the UI clearer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23472>
2023-06-15 22:37:31 +00:00
Dylan Baker
dd760f8846 bin/pick: fix issue where None for nomination_type could fail
We have an assumption it's never None, so use a special value in the
Enum instead.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23472>
2023-06-15 22:37:31 +00:00
Karol Herbst
3f48d84296 rusticl/spirv: Key optional clc features when caching.
Sadly I can't use serde yet, so I have to do this nonsense.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23532>
2023-06-15 19:30:36 +00:00
Karol Herbst
23cbe6b0d5 clc: add commment to clc_optional_features to ensure no padding exists
Hopefully this is good enough.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23532>
2023-06-15 19:30:36 +00:00
Erik Faye-Lund
0d5673d635 docs: upgrade bootstrap to 5.3.0
The release version of Bootstrap 5.3.0 is out, let's upgrade from the
alpha-version we were using.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23423>
2023-06-15 19:18:39 +00:00
Karol Herbst
c9a00d6676 nv50/ir: resolve -Woverloaded-virtual=1 warnings
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23656>
2023-06-15 18:48:10 +00:00
Karol Herbst
6c73c6cec6 nv50/ir: use override
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23656>
2023-06-15 18:48:10 +00:00
Mike Blumenkrantz
a734dba415 zink: more anv ci flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23683>
2023-06-15 18:21:49 +00:00
Yiwei Zhang
c8d8961f33 anv: avoid requiring ordered memory planes for explicit import
The spec does not have such requirement, but anv requires it for
validating the offset. However, for DRM_FORMAT_YVU420, chroma channels
can be swapped upon import to match B/R channel order of
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM.

This fixes some sw codec path in Instagram when interop with gpu.

v2: fix image memory requirement for re-ordered explicit import

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net> (v1)
Reviewed-by: Matt Tuner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23643>
2023-06-15 17:53:10 +00:00
Alyssa Rosenzweig
0a6d919c53 asahi: Use bitfield_extract for texture lowering
This makes descriptor crawls a lot easier to read, which is good because more
are coming.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23351>
2023-06-15 13:08:44 -04:00
Alyssa Rosenzweig
1636037b66 agx: Implement bitfieldExtract natively
We have a bfeil instruction which mostly maps to the GLSL thing, so use it with
the appropriate lowering.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23351>
2023-06-15 13:08:44 -04:00
Alyssa Rosenzweig
fc3bf53a65 nir/builder: Add ubitfield_extract_imm helper
We have a ubfe_imm helper that creates ubfe ops. Not all drivers support ubfe,
however, as it requires SM5 semantics. A few drivers support oly
ubitfield_extract. They should still get the convenience of an _imm helper, so
add a symmetric helper.

It might be nice to unify these helpers into a single helper that asserts its
inputs do not overflow (such that the two ops become equivalent) and emits
either ubfe or ubitfield_extract depending on the underlying driver. That is
left for future work as it's unclear exactly what naming/semantics we want.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23351>
2023-06-15 13:08:41 -04:00
SoroushIMG
7f8e172ecf pvr: add missing frag to geom dependency for jobs targetting same render target
Seen as a firmware assert when using a debug build of the firmware
and tested against:

dEQP-VK.pipeline.monolithic.render_to_image.core.1d_array.huge.width_layers.r8g8b8a8_unorm_d16_unorm

Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com>
Acked-by: James Glanville <james.glanville@imgtec.com>
Reported-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23651>
2023-06-15 16:35:21 +00:00
Caio Oliveira
44ed3e7341 microsoft/clc: Add unreachable() to fix 'may be unitialized' warning
In function ‘lower_load_kernel_input’,
      inlined from ‘clc_nir_lower_kernel_input_loads’ at ../src/microsoft/clc/clc_nir.c:205:28:
  ../src/microsoft/clc/clc_nir.c:169:7: warning: ‘base_type’ may be used uninitialized [-Wmaybe-uninitialized]
    169 |       glsl_vector_type(base_type, nir_dest_num_components(intr->dest));
        |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../src/microsoft/clc/clc_nir.c: In function ‘clc_nir_lower_kernel_input_loads’:
  ../src/microsoft/clc/clc_nir.c:151:24: note: ‘base_type’ was declared here
    151 |    enum glsl_base_type base_type;
        |                        ^~~~~~~~~

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23666>
2023-06-15 16:17:13 +00:00
Pavel Ondračka
6007dcbb33 r300: remove unused opcodes from r300_tgsi_to_rc
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Filip Gawin <filip.gawin@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23642>
2023-06-15 15:59:26 +00:00