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
Konstantin Seurer
ff6a133b72
lavapipe: Implement exec graph pipelines
...
Just a collection of compute shaders that can enqueue each other.
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
b817b597c7
lavapipe: Add lvp_pipeline_type
...
A boolean is not enough to support exec graph pipelines.
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
2489f7d84f
spirv: Implement SPV_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
289df72d10
spirv: Update headers and grammer JSON
...
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
ccc52ae887
nir: Add shader enqueue data structures and handling
...
There are two new variable modes:
- nir_var_mem_node_payload
- nir_var_mem_node_payload_in
Also add a few more intrinsics and some shader info.
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
2953c93cca
vulkan Add enqueue entrypoint for CmdDispatchGraphAMDX
...
The generyted one doesn't copy deep enough.
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
083793a39d
vulkan: Allow beta extensions for physical device properties
...
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
a7141a6f8a
vulkan: Allow beta extensions for physical device features
...
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
32ad8baa05
bin: Update spirv sources
...
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
Julia Zhang
9557aa8822
radeonsi: modify algorithm of skipping holes of sparse bo
...
Modify current algorithm of skipping holes of sparse bo to cover the
following using situations:
1. The whole sparse buffer is uncommitted.
2. More than one page that in the tail of sparse buffer are uncommitted.
Signed-off-by: Julia Zhang <julia.zhang@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24535 >
2023-08-18 15:42:20 +00:00