Tapani Pälli
5ae2b4882a
blorp: implement Wa_16014912113 callback for drivers
...
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/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
1693d0b857
anv: implement Wa_16014912113
...
When URB state for DS changes, we need to emit URB setup for VS with
256 handles and 0 for rest, commit this using a HDC flush before
setting real values.
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/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
263f693760
iris: implement Wa_16014912113
...
When URB state for DS changes, we need to emit URB setup for VS with
256 handles and 0 for rest, commit this using a HDC flush before
setting real values.
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/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
bdc7d32e93
blorp/crocus: refactor blorp_emit_urb_config
...
Patch changes blorp_emit_urb_config to use intel_urb_config so that we
can use it later to communicate blorp urb configuration for drivers.
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/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
829e4fe877
intel/common: provide a helper for urb setup comparison
...
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/26920 >
2024-02-05 13:50:58 +00:00
Tapani Pälli
a1b885b482
intel: refactor urb configuration, add intel_urb_config
...
Patch adds a structure holding urb configuration. This makes it nicer
to pass it around as example for blorp. We need to be able to sometimes
compare with last urb configuration to be able to implement some
workaround.
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/26920 >
2024-02-05 13:50:58 +00:00
Christian Duerr
49c1b404e5
panfrost: Fix dual-source blending
...
If dual blending is enabled, only 1 output is supported. Multiple
outputs confuse the write combining pass in this case, leading to
incorrect output and/or an assert failure in emit_fragment_store.
The fix is straightforward, just skip the speculative emitting of
multiple outputs in the case where dual source blending is enabled.
This also adds an extra sanity check in `pan_nir_lower_zs_store` to
check for only one blend store being present.
Fixes: c65a9be421
("panfrost: Preprocess shaders at CSO create time")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9487
Co-Authored-By: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26474 >
2024-02-05 13:25:56 +00:00
Sergi Blanch Torne
084f81fd52
Revert "ci: disable Collabora's farm due to maintance"
...
This reverts commit 3a2e5c1b77
.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27360 >
2024-02-05 12:48:30 +00:00
Job Noorman
29fa1d7f25
ir3: set reconvergence for scan_clusters.macro
...
The introduction of block::reconvergence_point happened at the same time
as scan_clusters.macro so we forgot to set it correctly.
Fixes: 60413e11c2
("ir3: optimize subgroup operations using brcst.active")
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27463 >
2024-02-05 12:28:10 +00:00
Georg Lehmann
cc7400e49c
anv: report rotate subgroup feature bits
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27444 >
2024-02-05 11:20:28 +00:00
Georg Lehmann
2ad3b83d23
radv: report rotate subgroup feature bits
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27444 >
2024-02-05 11:20:28 +00:00
Rhys Perry
48461c0d9e
aco: enable VOPD scheduler
...
fossil-db (navi31, wave32):
Totals from 75237 (94.95% of 79242) affected shaders:
Instrs: 40383337 -> 36522907 (-9.56%); split: -9.56%, +0.00%
CodeSize: 209282312 -> 209883000 (+0.29%); split: -0.18%, +0.46%
Latency: 256898944 -> 257834204 (+0.36%); split: -0.23%, +0.60%
InvThroughput: 59105835 -> 52725948 (-10.79%); split: -10.90%, +0.11%
VClause: 759487 -> 758151 (-0.18%); split: -0.18%, +0.01%
SClause: 1264895 -> 1263230 (-0.13%); split: -0.14%, +0.01%
VALU: 22886416 -> 18837085 (-17.69%)
VOPD: 0 -> 4049331 (+inf%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:15 +00:00
Rhys Perry
75a76ec3fd
aco: implement VOPD scheduler
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:15 +00:00
Rhys Perry
1fb79b4aa2
aco: refactor schedule_ilp main loop
...
Besides switching to "ctx.active_mask" as the condition, this is basically
the same.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:14 +00:00
Rhys Perry
c66d42b9ed
aco: add VOPD statistic
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:14 +00:00
Rhys Perry
6547e17e60
aco: add VOPD format
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23367 >
2024-02-05 10:51:14 +00:00
Max R
54c52932d4
virgl: Pass cmd_buf to flush_frontbuffer
...
Required by gdi virgl winsys.
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:23 +00:00
Max R
15c21eafc2
virgl: Allow importing resources without known templ
...
On windows when external resources are imported
there is no information about them. And in such cases
resource_from_hanlde templ argument is equal NULL.
To support such case on virgl, virgl winsys can now
fill in template for resource, that will be used if
templ=NULL. Additionally helper functions were
added to convert virgl encoded enums to pipe.
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:23 +00:00
Max R
8b7fa26b39
virgl: Implement PIPE_QUERY_GPU_FINISHED
...
Implemented using fences, similarly to zink.
Requierd by d3d10umd frontend.
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:23 +00:00
Max R
6427dd9056
virgl: Fix crash when no VE bound
...
While OpenGL requires that VE must be bound,
other mesa frontends, f.e. d3d10umd, can emit draw
without any VE bound. Which led to vctx->vertex_elements
to be null, which lead to null derefence. Add check
for ve not being null to avoid that.
Supported by virglrenderer@b8ac10db
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:23 +00:00
Max R
468c750c53
virgl: Fix compilation on MSVC
...
* Cast to uint8_t* before doing pointer arithmetics
* Add zero to initializer list to initialize zeroed structs
* Don't include linux sepcific headers on WIN32
* Don't use build_id when it isn't available
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27308 >
2024-02-05 08:41:22 +00:00
Dave Airlie
47c725b53e
radv: don't submit 0 length on UVD either.
...
The kernel checks for UVD msgs and if there aren't any gets upset,
so don't submit 0 length on UVD rings either to avoid that.
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27186 >
2024-02-05 08:14:26 +00:00
Dave Airlie
df9bc11589
radv/uvd: uvd kernel checks for full dpb allocation.
...
The CTS image allocation sometimes doesn't try to allocate a complete
DPB, but the amdgpu kernel module checks for this, so always make
the DPB max sized on uvd instances.
Fixes part of video decode on Fiji/Polaris
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27186 >
2024-02-05 08:14:26 +00:00
Dave Airlie
bba36df84d
radv: init decoder ip block earlier.
...
This makes the queue decisions later correct.
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27186 >
2024-02-05 08:14:26 +00:00
Dave Airlie
6065671a7f
radv: fix correct padding on uvd
...
Fixes: 8a29291dbe
("radv/video: add h264 support for uvd")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27186 >
2024-02-05 08:14:26 +00:00
Sergi Blanch Torne
3a2e5c1b77
ci: disable Collabora's farm due to maintance
...
Planned downtime in the farm:
* Start: 2024-02-05 08:00 UTC
* End: 2024-02-05 14:00 UTC
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27359 >
2024-02-05 08:11:50 +00:00
Samuel Pitoiset
c6286e39ec
radv/sqtt: fix describing queue submits for RGP
...
The submit_sub_index field is used by RGP to determine the number of
submits. Previously, it was incorrectly reporting the same number of
submits than command buffers.
Fixes: 88cbe32048
("radv: add support for RGP queue events")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27439 >
2024-02-05 07:32:48 +00:00
Gert Wollny
8368a97294
r600: handle indirect access to kcache 14 and 15
...
r600 can't handle indirect access to kcache 14 and 15, so
if the shader has more than 14 UBOs and there is indirect UBO
access load the values from kcache 14 (and 15) directly and do
a bcsel based on the buffer id to return the right value.
v2: - replace superfluous check with an assert (Triang3l)
- change the lowering pass to work on load_ubo
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10112
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27372 >
2024-02-03 19:27:54 +00:00
Emmanuel Vadot
464e8aaff4
util: Allow kcmp on FreeBSD
...
FreeBSD now have kcmp(2) syscall, use it.
Signed-off-by: Emmanuel Vadot <manu@FreeBSD.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27184 >
2024-02-03 17:19:31 +00:00
Sergi Blanch Torne
3a00d80c67
Revert "ci: disable Collabora's farm due to maintance"
...
This reverts commit fcce9cc835
.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27427 >
2024-02-03 17:16:30 +01:00
Sergi Blanch Torne
fcce9cc835
ci: disable Collabora's farm due to maintance
...
Planned downtime in the farm as follows:
* Start: 2024-02-03 13:00 UCT
* End: 2024-02-03 17:00 UTC
Signed-o-f-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27426 >
2024-02-03 12:50:48 +00:00
Konstantin Seurer
b10ee44308
radv/rra: Implement ahit/isec counters
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 12:59:47 +01:00
Konstantin Seurer
82a5cc788b
docs: Document RADV_RRA_TRACE_HISTORY_SIZE
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 12:59:47 +01:00
Konstantin Seurer
767f628079
radv/rra: Dump basic ray history tokens
...
This only dumps the begin tokens. Tokens are written to a buffer
containing a 12 byte header at the beginning.
We use an intermediate format for the ray history tokens because the RRA
format is very inefficient.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 12:59:47 +01:00
Konstantin Seurer
26939f016d
radv/rra: Refactor error handling
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 11:29:58 +01:00
Konstantin Seurer
46dddb57f9
radv/rra: Remove useless variable
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 11:29:58 +01:00
Konstantin Seurer
dc813288c3
radv/rra: Use memcpy for chunk descriptions
...
The identifier is not null terminated. "HistoryTokensRaw" does not fit
otherwise.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 11:29:58 +01:00
Konstantin Seurer
71c363acc3
radv/rra: Rename rra_chunk_type to rra_chunk_version
...
Found by inspecting RRA source.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25548 >
2024-02-03 11:29:58 +01:00
Yiwei Zhang
d32d010c24
venus: update tracepoints to align with later optimizations
...
We can remove redundant TPs no longer needed while updating and adding
some trivial ones helpful for next things.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27450 >
2024-02-03 00:35:39 +00:00
Eric Engestrom
a81189c796
ci: build nvk in debian-vulkan job
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27442 >
2024-02-02 23:36:59 +00:00
Eric Engestrom
2d21a1bf79
nouveau/tests: fix null dereference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27442 >
2024-02-02 23:36:59 +00:00
Gurchetan Singh
0525dac7f8
vk_image.c: #ifndef _WIN32 --> DETECT_OS_LINUX + DETECT_OS_BSD
...
DRM modifiers are a BSD/Linux phenomenon.
We can also remove a bunch of these checks too. No Linux specific
symbol or header is **actually** used, and the DRM modifier is
just represented as uint64_t. But kept the style of the file
as is.
Reviewed-by: Serdar Kocdemir <kocdemir@google.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27425 >
2024-02-02 23:11:21 +00:00
Gert Wollny
1fa171650a
zink: remove invalid scope in bo allocation loop
...
The braces resulted in the never demoting the heap type
which resulted in an infinite loop if this become a necessity.
Fixes: eb394f5316
zink: redesign the allocation try loop to test all heaps
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27446 >
2024-02-02 22:43:02 +00:00
Marek Olšák
e98bbcad17
nir: add vertex divergence into nir_divergence_analysis
...
This is a prerequisite for the new nir_opt_varyings pass.
It reuses the same divergent field in nir_def and nir_loop.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:52 -05:00
Marek Olšák
5ffa4d879c
nir: add a lower_mediump_io callback into options
...
This will be called by the GLSL linker before nir_opt_varyings.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:51 -05:00
Marek Olšák
ecf0fe09f0
nir: replace lower_io_variables with a GLSL NIR flag
...
This stops using it in nir_lower_io_passes because all callers call it
only when it's true.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:49 -05:00
Marek Olšák
c4acab77a8
nir: remove and replace underused option pack_varying_options
...
This will also be used by nir_opt_varyings.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:47 -05:00
Marek Olšák
c844b5dc85
nir: relax validation failure for generic TCS outputs with no_varying
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:45 -05:00
Marek Olšák
d84a616d4d
nir: remove INTERP_MODE_COLOR
...
It's only used by radeonsi and doesn't have to be public.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918 >
2024-02-02 16:45:35 -05:00
Rob Clark
1d5dbde522
freedreno/drm: Fix teardown crash harder
...
We need to unref the device *after* submit cleanup, so that
fd_submit_sp_destory() can still reference the device.
Fixes: d558cb664a
("freedreno/drm: Submit should hold ref to device")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27445 >
2024-02-02 20:28:58 +00:00