Bas Nieuwenhuizen
11198951e6
util/perf: Add gpuvis integration.
...
Initial integration, still needs the init functions to be changed
across the codebase.
For the context usage https://github.com/mikesart/gpuvis/pull/82 is
needed to display it correctly in gpuvis.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22505 >
2023-08-19 23:09:45 +02:00
Marek Olšák
ff3db3e6cf
radeonsi: fix templated si_draw_rectangle callback for Navi14
...
Navi14 is the only gfx10 chip that doesn't enable NGG.
Fixes: cd7e20f513
("radeonsi: specialize si_draw_rectangle using a C++ template")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
1a2c12937d
radeonsi/gfx11: pass attribute ring addr via SGPR instead of memory for blits
...
This removes the scalar memory load from blit vertex shaders.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
bfdff13f91
radeonsi: don't pass gl_Layer to PS for blit shaders
...
This will be required by the next commit to prevent hangs. See the comment.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
59e49cc6ab
radeonsi: simplify/merge emit_shader_ngg functions
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
1c82067b60
radeonsi: improve the heuristic when to use Wave32 for compute shaders
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
7f25f30443
radeonsi: rename uses_subgroup_info to uses_tg_size
...
that's the name of the SGPR
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
e359254a19
radeonsi: allow setting any index in radeon_set_sh_reg_idx
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
905a00f10a
ac/surface: add radeon_surf::u::gfx9::uses_custom_pitch
...
so that we don't try to guess when the pitch is overridden
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
9eb00f612a
ac/surface: trivial non-functional changes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
40b426c8f9
ac: add a standalone IB parser program
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:56 +00:00
Marek Olšák
229833d118
ac: update gfx11 shadowed register tables
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:55 +00:00
Marek Olšák
176ef72ff5
ac: improve the IB parser
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:55 +00:00
Marek Olšák
05e7bf471c
ac: change offsets of DMA_DATA dwords to prevent reg offset conflicts
...
Use non-multiples of 4.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:55 +00:00
Marek Olšák
8e4ba537a1
ac: minor updates to packet documentation and definitions
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:55 +00:00
Marek Olšák
bc44121444
ac: document ac_shader_args::gs_vtx_offset
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:55 +00:00
Marek Olšák
a2bf30961f
ac: implement AMD_FORCE_FAMILY properly, remove SI_FORCE_FAMILY
...
This sets radeon_info for the forced family correctly.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:55 +00:00
Marek Olšák
5d19a0a19b
Revert "ac: don't call ac_query_pci_bus_info from ac_query_gpu_info"
...
This reverts commit a48642400b
.
Instead, add a new parameter require_pci_bus_info to control the behavior.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:55 +00:00
Marek Olšák
b02b43eef1
ac/gpu_info: add the /dev/dri/ filename into radeon_info
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24759 >
2023-08-19 19:36:55 +00:00
Marek Olšák
1ac379c4a0
nir/algebraic: collapse ALU opcodes sourcing NaN
...
Undef will be replaced by NaN whenever it leads to elimination of FP
instructions. This implements the elimination part.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24792 >
2023-08-19 14:18:52 -04:00
Marek Olšák
ee225e31c1
nir: fix constant evaluation of fddx/fddy sourcing Inf & NaN constant
...
A derivative of NaN is NaN.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24792 >
2023-08-19 14:18:52 -04:00
Timur Kristóf
8780f66c3a
nir/opt_dead_cf: Remove if branches with undef condition.
...
Treat them as if the undef were false.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24792 >
2023-08-19 14:18:52 -04:00
Alyssa Rosenzweig
558e36f641
nir/passthrough_gs: Fix array size
...
Triangle strips with adjacency have 6 vertices input, so we need an array big
enough for all 6 vertices to avoid overflow. Fixes passthrough GS generated for
KHR-GLES31.core.draw_indirect.basic-mode-*-triangle*adj*.
Fixes: ea14579f3d
("nir: handle primitives with adjacency")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24780 >
2023-08-19 17:13:49 +00:00
Alyssa Rosenzweig
fe4208ed4c
nir/passthrough_gs: Correctly set vertices_in
...
If the input primitive has adjacency, the output primitive will have fewer
vertices than the input. For example, if we input TRIANGLE_STRIPS_ADJACENCY, we
need to set vertices_in = 6 even though we'll output TRIANGLE_STRIPS with
vertices_out = 3. Respect that, in order to correctly handle adjacency inputs.
Fixes: ea14579f3d
("nir: handle primitives with adjacency")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24780 >
2023-08-19 17:13:49 +00:00
Alyssa Rosenzweig
04ba4059b7
nir/lower_helper_writes: Consider bindless images
...
These need to be handled like other image ops.
Fixes KHR-GLES31.core.shader_image_load_store.basic-allTargets-atomicFS on Asahi
with bindless image access forced.
Fixes: 586da7b329
("nir: Add nir_lower_helper_writes pass")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24778 >
2023-08-19 12:27:34 -04:00
M Henning
c07d3f00c4
nv/codegen: Use nir_lower_clip
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24653 >
2023-08-19 15:34:28 +00:00
Eric Engestrom
ab0f0d1563
zink: fix format in zink_make_{image,texture}_handle_resident()
...
`ds->db.format` is a `pipe_format`, while `buffer_infos[handle].format` is
a `VkFormat`; the conversion from one to the other was missing.
Fixes: 99ba529fee
("zink: implement descriptor buffer handling of bindless texture")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24790 >
2023-08-19 14:28:19 +00:00
Eric Engestrom
af28356de0
vc4: drop duplicate .lower_ldexp
...
It's set 3 lines above already.
Fixes: 2a33ea95d6
("glsl: Retire ldexp lowering in favor of the nir lowering flag.")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24786 >
2023-08-19 07:23:32 +00:00
Sylvain Munaut
caf15a3276
egl: Advertise EGL_MESA_gl_interop extension if support present
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com >
Acked-by: Antonio Gomes <antoniospg100@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24573 >
2023-08-19 01:08:30 +00:00
Sylvain Munaut
8ee8788208
glx: Advertise GLX_MESA_gl_interop extension if support present
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com >
Acked-by: Antonio Gomes <antoniospg100@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24573 >
2023-08-19 01:08:30 +00:00
Sylvain Munaut
c0d804685d
glx: Remove MESA_depth_float_bit from enum
...
This is not used anywhere. Been there from the beginning of this
file but with no related code in glxextensions.c
Signed-off-by: Sylvain Munaut <tnt@246tNt.com >
Acked-by: Antonio Gomes <antoniospg100@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24573 >
2023-08-19 01:08:30 +00:00
Sylvain Munaut
48e416ee2f
egl: Export the MESA GL Interop functions through eglGetProcAddress
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com >
Acked-by: Antonio Gomes <antoniospg100@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24573 >
2023-08-19 01:08:30 +00:00
Sylvain Munaut
1b8d81f3f8
glx: Export the MESA GL Interop functions through glXGetProcAddress
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com >
Acked-by: Antonio Gomes <antoniospg100@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24573 >
2023-08-19 01:08:30 +00:00
Sylvain Munaut
414c4583e8
glx: Add missing MesaGLInteropGLXFlushObjects
...
All the plumbing was added in 8d55fb54b1
but for some reason the top level access method was not ...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com >
Acked-by: Antonio Gomes <antoniospg100@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24573 >
2023-08-19 01:08:30 +00:00
Sylvain Munaut
798a7ef698
include: Fix the PFN declarations to be pointers as they should
...
Broken by b5f9820d90
back in 2016.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com >
Acked-by: Antonio Gomes <antoniospg100@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24573 >
2023-08-19 01:08:29 +00:00
Eric Engestrom
51a911cfa1
egl: bump extension string length
...
We've actually been over the 1000 char limit for a while, but we didn't
have a driver in CI that enabled enough extensions to notice it.
If all currently supported extensions are enabled, we need 1441 chars.
Let's bump the string to 2048 to have a little bit of margin.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24781 >
2023-08-18 23:37:36 +00:00
Alyssa Rosenzweig
c0cb358f1b
agx: Lower fquantize2f16
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24616 >
2023-08-18 22:20:02 +00:00
Alyssa Rosenzweig
a257e2daad
nir: Lower fquantize2f16
...
Passes dEQP-VK.spirv_assembly.*opquantize*.
Unlike the DXIL lowering, this should correctly handle NaNs. (I belive Dozen has
a bug here that is masked by running constant folding early and poor CTS
coverage.) It is also faster than the DXIL lowering for hardware that supports
f2f16 conversions natively. It is not as good as a backend implementation that
could flush-to-zero in hardware... but for a debug instruction it should be more
than good enough.
It might be slightly better to multiply with 0.0 to get the appropriate zero,
but NIR really likes optimizing that out ...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24616 >
2023-08-18 22:20:02 +00:00
David Heidelberg
05cb55abe8
gtest: backport ansi color fix
...
Fixes ubsan runs for Mesa3D.
Adds prevents from returning
nullptr by choosing default color.
Upstream PR: https://github.com/google/googletest/pull/4322
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9404
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24783 >
2023-08-18 21:33:14 +00:00
Eric Engestrom
798becf2da
ci/freedreno: reuse freedreno_gl_file_list instead of re-definining it
...
Fixes: 9d442b459a
("ci/freedreno: handle disabling farm properly for each FD/Collabora farm")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24779 >
2023-08-18 20:59:09 +00:00
Pavel Ondračka
9fa26f69cc
r300: add dEQP baseline for RV370 with forced swtcl
...
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24769 >
2023-08-18 20:18:32 +00:00
Pavel Ondračka
8657a09f9a
r300: don't abort on flow control when using draw for vs
...
It can handle it just fine. Around 250 dEQPs go from Skip to Pass.
Fixes: 1021e2b946
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24769 >
2023-08-18 20:18:32 +00:00
Mike Blumenkrantz
659b7eb279
r600: better tracking for vertex buffer emission
...
Fixes: 76725452
(gallium: move vertex stride to CSO)
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24754 >
2023-08-18 18:58:08 +00:00
Mike Blumenkrantz
63267bcb94
r600: store the mask of buffers used by a vertex state
...
Fixes: 76725452
(gallium: move vertex stride to CSO)
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24754 >
2023-08-18 18:58:08 +00:00
David Rosca
f638ba4669
radeonsi/vcn: Fix leaking fences in decode
...
Unref fence used in destroy.
Don't store the fence reference in picture->fence, instead
keep it in the driver. Because only the last fence will
now be valid, check the fence pointer in get_decoder_fence.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24677 >
2023-08-18 18:22:04 +00:00
Faith Ekstrand
1198816f50
nir: Use nir_shader_intrinsic_pass() a few places
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24760 >
2023-08-18 17:39:53 +00:00
Faith Ekstrand
831085afa3
nir: Fix metadata in nir_lower_is_helper_invocation
...
It does not preserve everything. It adds and removes instructions and
even adds a variable.
Fixes: f17b41ab4f
("nir: add lowering pass for helperInvocationEXT()")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24760 >
2023-08-18 17:39:53 +00:00
Alyssa Rosenzweig
d620d8d74f
nir: Add nir_shader_intrinsics_pass
...
Like instructions_pass but specialized to intrinsics. More ergnomic for this
extremely common case, and possibly a bit faster by avoiding the extra function
call on non-intrinsics.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24760 >
2023-08-18 17:39:53 +00:00
Konstantin Seurer
f6f302bbbc
lavapipe: Advertise AMDX_shader_enqueue
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24512 >
2023-08-18 16:57:22 +00:00
Konstantin Seurer
ce4af69d7e
lavapipe: Implement AMDX_shader_enqueue commands
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24512 >
2023-08-18 16:57:22 +00:00