Commit Graph

194401 Commits

Author SHA1 Message Date
Mike Blumenkrantz
8f6fca89aa meson: delete dri3 build option
this existed for historical reasons, but realistically now it should
be possible to build mesa with dri3 always enabled. additionally,
this check was often used as a substitute for having drm functionality,
which is sort of similar but also not really a direct match

this simplifies a bunch of conditionals and prevents users from footgunnning
themselves into orbit

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30952>
2024-09-04 14:48:17 +00:00
Mike Blumenkrantz
56ac378454 dril: also create double-buffered configs in swrast fallback
Fixes: 06d417af80 ("dril: use the super fallback path for software fallback")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31013>
2024-09-04 14:02:52 +00:00
Mike Blumenkrantz
68a631947f tc: optimize out tracked winsys resolves
drivers using renderpass tracking can rely on having
pipe_framebuffer_state::resolve + tc_info::has_resolve to indicate
a winsys blit, which means they don't actually need the blit call

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30772>
2024-09-04 13:06:36 +00:00
Mike Blumenkrantz
3b198d5392 tc: break out blit enqueue to separate function
no functional changes

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30772>
2024-09-04 13:06:36 +00:00
Mike Blumenkrantz
5e319b0a3d zink: use tc renderpass optimizing to inline resolves with dynamic render
this also permits invalidating cubfs that use inlined resolves

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30772>
2024-09-04 13:06:36 +00:00
Mike Blumenkrantz
2c700bb842 zink: create a surface for resolve resources
this can be reused since the state tracker doesn't give a surface

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30772>
2024-09-04 13:06:36 +00:00
Mike Blumenkrantz
cd7ad7bd7e vk: rename DGC feature to DGC-NV
this is an NV extension, so it should have NV suffix

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31015>
2024-09-04 12:27:21 +00:00
Tapani Pälli
d5916cb3ca mesa: check for ARB_ES3_compatibility in format checks
Fixes regressions seen with following tests:

 dEQP-GL45-ES3.functional.negative_api.buffer.read_pixels
 dEQP-GL45-ES3.functional.negative_api.buffer.read_pixels_format_mismatch
 dEQP-GL45-ES31.functional.debug.negative_coverage.get_error.buffer.read_pixels
 dEQP-GL45-ES31.functional.debug.negative_coverage.get_error.buffer.readn_pixels
 dEQP-GL45-ES31.functional.debug.negative_coverage.get_error.buffer.read_pixels_format_mismatch

Fixes: e8226bda60 ("mesa/main: validate desktop gl format/types")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31008>
2024-09-04 11:54:22 +00:00
Lucas Stach
e6c2bf38b1 etnaviv: singlethread shader variant compiles when dumping shaders
When more than one instance of the shader compiler is running at
once, the output of ETNA_MESA_DEBUG=dump_shaders is almost useless
as output from multiple instances will get interleaved, making it
very hard to parse.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30604>
2024-09-04 09:13:33 +00:00
Lucas Stach
d29dfc180e etnaviv: allow shader machine code dumps in release builds
There is no reason to hide the shader machine code on release
builds when ETNA_MESA_DEBUG=dump_shaders is specified. This
debug option will dump lots of NIR already, so the machine
code is in good company.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30604>
2024-09-04 09:13:33 +00:00
Lucas Stach
447ac6d6c6 etnaviv: wire up missing gl_VertexID bits
While some bits for gl_VertexID were already present in the
compiler, it was still missing in lots of cases. Wire those
up to make gl_VertexID usable.

Fixes piglit spec@!opengl es 3.0@gl_vertexid.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30604>
2024-09-04 09:13:33 +00:00
Samuel Pitoiset
63112e79ac radv: use compute pipeline metadata for non-indirect DGC pipelines
The idea is to better abstract loading shader metadata parameters by
using the same layout for indirect/non-indirect compute pipelines.

Graphics support will added later.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30987>
2024-09-04 06:50:38 +00:00
Samuel Pitoiset
9a07b8fa1c radv: store the indirect compute pipeline VA to dgc_cmdbuf
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30987>
2024-09-04 06:50:38 +00:00
Samuel Pitoiset
81ec193e1b radv: specialize dispatch initiator for compute/task shaders with DGC
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30987>
2024-09-04 06:50:38 +00:00
Samuel Pitoiset
fbb1ed66e4 radv: stop storing DGC info as part of the VBO descriptors
This is no longer needed and it's possible to just load&store the
bindings that aren't updated by DGC.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30918>
2024-09-04 06:17:37 +00:00
Samuel Pitoiset
57aa34a30d radv: pass more VBO info as parameters to the DGC prepare shader
Instead of storing the stride/rsrc_word3 as part of the VBO descriptors,
pass them as parameters. This is cleaner and this will allow us
to simplify VBO in DGC.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30918>
2024-09-04 06:17:37 +00:00
Tapani Pälli
a5dbd62267 iris: use correct enum for aux state on depth fast clear
Fixes: 5e86087940 ("intel: Move depth clear value writes to drivers")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30845>
2024-09-04 04:08:09 +00:00
Robert Mader
90d91f739f egl: Stop requiring EXT_create_context_robustness for EGL 1.5
For the similar commit c738cfe8 a review comment was:
> The EGL 1.5 changelog says that it incorporates the 3D texture
> extension's methods, but does not seem to require that they succeed.

The same could be said for Reset Notification Strategy and Robust Buffer
Access as implementations seem to be explicitely allowed to not succeed.
The EGL 1.5 spec says:
> "An EGL_BAD_MATCH error is generated if an OpenGL or OpenGL ES
> context is requested with robust buffer access and with a
> specified reset notification behavior, and the implementation
> does not support that behavior."

As we do return these errors accordingly during context creation, stop
requiring drivers to implement successfull creation of robust contexts,
as indicated by the extension.

Signed-off-by: Robert Mader <robert.mader@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30764>
2024-09-04 02:36:54 +00:00
Faith Ekstrand
cb91ed8872 nvk/nvkmd: Reference count internal mappings
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31004>
2024-09-03 23:11:59 +00:00
Faith Ekstrand
134dfbe524 nvk/nvkmd: Split client and internal mappings
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31004>
2024-09-03 23:11:59 +00:00
Faith Ekstrand
a2c813a6d3 nvk/nvkmd: Don't inline nvkmd_mem_[un]map()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31004>
2024-09-03 23:11:59 +00:00
Faith Ekstrand
37bbb47e86 nvk/nvkmd: Plumb map_flags through to unmap/overmap
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31004>
2024-09-03 23:11:59 +00:00
Faith Ekstrand
6c782b8a12 nvk/nvkmd: Plumb map pointers through to back-end unmap funcs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31004>
2024-09-03 23:11:59 +00:00
Faith Ekstrand
b130c6dae4 nvk/nvkmd: Plumb map_out through to the back-end nvkmd_mem_ops::map
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31004>
2024-09-03 23:11:59 +00:00
Faith Ekstrand
3123bdbc66 nvk/nvkmd: Add an nvkmd_mem_init() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31004>
2024-09-03 23:11:59 +00:00
Jesse Natalie
44cc67e659 microsoft/compiler: Move nir_lower_undef_to_zero out of the optimization loop
Otherwise after https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7710
I'm getting fighting between this pass and nir_opt_if.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31003>
2024-09-03 21:53:24 +00:00
Rhys Perry
192ef947a9 aco: fix printing of d16 MIMG dmask
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30761>
2024-09-03 21:14:27 +00:00
Rhys Perry
999362f895 aco: have get_subdword_definition_info update DefInfo
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30761>
2024-09-03 21:14:27 +00:00
Rhys Perry
16ff51bb37 aco/ra: use DefInfo for get_reg_specified
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30761>
2024-09-03 21:14:27 +00:00
Rhys Perry
1e6741bf6b aco/ra: fix sub-dword get_reg_specified in some cases
For example, v6b MIMG can have sdw_def_info={4, 6}. This now has similar
behaviour as the DefInfo constructor.

fossil-db (navi31):
Totals from 5 (0.01% of 79395) affected shaders:
CodeSize: 29460 -> 29408 (-0.18%); split: -0.29%, +0.11%
Latency: 22133 -> 21934 (-0.90%); split: -2.51%, +1.61%
InvThroughput: 2953 -> 2963 (+0.34%); split: -0.03%, +0.37%
Copies: 410 -> 409 (-0.24%); split: -1.95%, +1.71%
VALU: 3242 -> 3241 (-0.03%); split: -0.25%, +0.22%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 56345b8c61 ("aco: allow reading/writing upper halves/bytes when possible")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30761>
2024-09-03 21:14:27 +00:00
Sil Vilerino
f2bb4e0743 d3d12: Video Encode H264 - Workaround for D3D12 validation bug requiring pRefPicMarkingOperationsCommands for IDR frames
Fixes: 0249f2e652 ("d3d12: Video Encode H264 - Support direct mmco operations")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31000>
2024-09-03 20:48:18 +00:00
Caio Oliveira
74be809237 compiler: Allow derivative_group to be used for all stages in shader_info
These will now also be used by stages that have workgroups.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30950>
2024-09-03 20:03:18 +00:00
Vignesh Raman
1eb98bc457 ci: move mtl-fw.json to .gitlab-ci directory
Placing mtl-fw.json in src/intel/ci/mtl-fw.json works for the
mesa build, but it fails to fetch in drm-ci. Move it to the
.gitlab-ci directory so it is included in the artifacts used
for building the kernel/rootfs in drm-ci.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30947>
2024-09-03 19:25:49 +00:00
Daniel Stone
31aa56ab4a ci/{lvp,venus}: Skip massive-alloc tests
Don't try to allocate gigantic amounts of memory on shared runners. It's
just not a good idea.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30993>
2024-09-03 18:41:50 +00:00
Daniel Stone
e833589acf ci/windows: Don't upload shader cache to artifacts
We don't need to keep this, and it only makes the upload slower.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30993>
2024-09-03 18:41:50 +00:00
Daniel Stone
d7680bb284 ci/dozen: Add a couple more skips
One takes almost exactly 60 seconds these days, so it sometimes fails.
The other takes 43 seconds, which is too close for comfort; allocating
as much memory as possible is also not a great thing to do on shared
runners.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30993>
2024-09-03 18:41:50 +00:00
Daniel Stone
2ff28dae94 ci/fdno: Add some flaky tests for a618
It looks like unvanquished is flaky on all freedreno, so just ignore it
for now. One of the SKQP tests equally seems to be pretty enthusiastic
about flipping its status.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30993>
2024-09-03 18:41:49 +00:00
Sil Vilerino
539698b589 d3d12: Video Encode H264 - Store L0/L1 active nums at time to encode them in the headers
Fixes: da2cbfe3bf ("d3d12: Video Encode H264 to use direct DPB from frontend")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30997>
2024-09-03 18:23:34 +00:00
Sil Vilerino
de4e25da46 d3d12: Video Encode HEVC - Store L0/L1 active nums at time to encode them in the headers
Fixes: e268ed0613 ("d3d12: Video Encode HEVC to use direct DPB from frontend")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30997>
2024-09-03 18:23:34 +00:00
Sil Vilerino
1b39a519ca d3d12: Remove usage of WindowFromDC when building without d3d12 graphics
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30996>
2024-09-03 17:21:05 +00:00
Sil Vilerino
3d6280c3c5 vl/null_sw_winsys: Add extern declaration for C++ usage
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30996>
2024-09-03 17:21:05 +00:00
Sil Vilerino
2548471ca1 vl/vl_win32_screen_create_from_d3d12_device: Allow winsys to be injected
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30996>
2024-09-03 17:21:05 +00:00
Sil Vilerino
fe98f32af3 d3d12: H264, HEVC, AV1 Store multiple rate control states for multiple temporal layers
Reviewed-By: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30945>
2024-09-03 16:31:03 +00:00
Sil Vilerino
9c0b36eef2 pipe: Add pipe_h264_enc_pic_control.temporal_id
Reviewed-By: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30945>
2024-09-03 16:31:02 +00:00
Sil Vilerino
895f528e0c d3d12: Rename d3d12_video_encoder_config_dirty_flag_sequence_info to d3d12_video_encoder_config_dirty_flag_sequence_header
Reviewed-By: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30945>
2024-09-03 16:31:02 +00:00
Rohit Athavale
1fb5131c2e d3d12: Fix typo in copyright comments
Signed-off-by: Rohit Athavale <rathavale@microsoft.com>
Reviewed-By: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30945>
2024-09-03 16:31:02 +00:00
Patrick Lerda
6ac3beeb85 iris: fix indirect draw refcnt imbalance
Indeed, the object ring_bo was not freed.

For instance, this issue is triggered with:
"piglit/bin/arb_shader_image_load_store-host-mem-barrier -auto -fbo"
while setting GALLIUM_REFCNT_LOG=refcnt.log.

Fixes: 5438b19104 ("iris: enable generated indirect draws")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30975>
2024-09-03 16:06:09 +00:00
Mike Blumenkrantz
06d417af80 dril: use the super fallback path for software fallback
just in case gbm init fails somehow, swrast should still be able to
return some kind of fbconfigs

Fixes: ef88af8467 ("dril: always take the egl init path")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30979>
2024-09-03 15:31:48 +00:00
David Rosca
93a749c449 frontends/va: Fix locking in vlVaQueryVideoProcPipelineCaps
The mutex needs to be locked before accessing the handle table.

Cc: mesa-stable
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30935>
2024-09-03 15:12:51 +00:00
David Rosca
fccf31c231 frontends/va: Fix locking in vlVaDeriveImage
The mutex needs to be locked before accessing the handle table.
After 64ca0fd2f2 ("frontends/va: Allocate surface buffers on demand")
the issue is now much more likely to happen and can be reproduced when
transcoding using ffmpeg.

Cc: mesa-stable
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30935>
2024-09-03 15:12:51 +00:00