Emma Anholt
617e7596d1
zink: Add an assert for not seeing any more MSAA image-to-buffer copies.
...
Now that transfer_map gets MSAA handled by the helper, we shouldn't have
to worry about this any more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20523 >
2023-01-06 19:00:17 +00:00
Emma Anholt
f74bbcd8a0
zink: Have u_transfer_helper resolve MSAA surfaces when mapping.
...
This fixes all the dEQP winsys multisampling failures (like
dEQP-GLES3.functional.multisample.default_framebuffer.depth) I've found so
far.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20523 >
2023-01-06 19:00:17 +00:00
Emma Anholt
823e34f938
u_transfer_helper: Merge in-place and split z/s interleaved map handling.
...
The paths were mostly the same, except that in-place was missing the
appropriate layering for MSAA helper re-mapping. We can instead share
more code, making the differences between the interleave packing clear,
and have the MSAA resolve blit happen once before we do the split
mappings.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20523 >
2023-01-06 19:00:17 +00:00
Emma Anholt
4372069f5a
u_transfer_helper: Use common code for interleaved unmap.
...
The function was static and only used from this caller, and the only
difference was that the interleaved case didn't handle trans->ss (which
will always be unset for an interleaved mapping since interleaving splits
the underlying map of the MSAA resource into trans->trans and
trans->trans2).
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20523 >
2023-01-06 19:00:17 +00:00
Emma Anholt
b5b2194a3a
u_transfer_helpre: Drop !interleave handling from the interleave code.
...
It's only called when need_interleave_path(), and they're static functions
in this file since !17959 .
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20523 >
2023-01-06 19:00:17 +00:00
Emma Anholt
95c4241f47
docs/gallium: Explain that MSAA transfer_map must be supported.
...
It's called this way in various drivers, and is an established part of the
transfer_map interface.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20523 >
2023-01-06 19:00:17 +00:00
Emma Anholt
03a26ae3d9
ci: Fix VK driver setup for HWCI_START_*.
...
Review feedback requested a change that was incorrect, causing Xorg to
start to fail, but I forgot to retest the manual -full jobs that relied on
it.
Fixes: 99a6f2a186
("ci: Set the path to the VK drivers during HWCI_START_XORG/WESTON.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20523 >
2023-01-06 19:00:17 +00:00
Rohan Garg
85650297d2
anv,hasvk: move the null check into the function call and drop null check copies
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
0ae23b81a4
anv: Drop useless FIXME
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
00ffe8227f
anv,hasvk: drop unused function
...
align_i32 is not used anywhere
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
05dca17b57
anv,hasvk: migrate to ROUND_DOWN_TO from util
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
818eed3d2f
anv,hasvk: migrate to u_minify from util
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
9257b08f49
anv: migrate anv_minify to use u_minify
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
4504188508
anv,hasvk: migrate to align64 from util
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
a06f751ec8
anv,hasvk: migrate align32 to the right functions from util
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
1e9fb7c696
anv,hasvk: Use the inbuilt macro from src/util for clamping int64_t
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:15 +00:00
Rohan Garg
0030d6d224
anv: constify variables and use early returns
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:15 +00:00
David Heidelberg
5fb935b3a4
ci/linker: update mold to 1.9
...
Bump needed for s390x fix with `-gsplit-dwarf` and `--gdb-index`.
See the https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20435
for more details.
I also switched from make to cmake (make is unsupported now).
Additionally disabled build testing and enabled LTO build for Mold.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20546 >
2023-01-06 16:28:27 +00:00
Rhys Perry
9e55b3b790
aco/gfx11: update s_code_end padding
...
Match ac_rtld_open().
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Cc: 22.3 <mesa-stable>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20536 >
2023-01-06 16:09:51 +00:00
Eric Engestrom
aab4a260db
meson: add missing dependency
...
Now that renderonly.h includes util/simple_mtx.h, which itself includes
valgrind.h, dep_valgrind is required by any module that includes
renderonly.h.
In file included from ../src/gallium/auxiliary/renderonly/renderonly.h:33,
from ../src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c:39:
../src/util/simple_mtx.h:34:12: fatal error: valgrind.h: No such file or directory
34 | # include <valgrind.h>
| ^~~~~~~~~~~~
compilation terminated.
dep_valgrind is part of idep_mesautil, which should be used instead of
copying the list of deps for each util header included (which would
have to be updated every time a util header changes its own includes),
so let's add idep_mesautil everywhere that includes renderonly.h.
Fixes: ad4d7ca833
("kmsro: Fix renderonly_scanout BO aliasing")
Tested-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20530 >
2023-01-06 15:40:39 +00:00
Erico Nunes
cf64ca6a0c
ci: enable wayland platform in more debian builds
...
CI has recently gained coverage of wayland platform in EGL tests, but
some CI mesa builds such as arm builds currently don't enable the
wayland platform.
Enable it so test applications can properly initialize EGL with a
wayland platform.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20480 >
2023-01-06 15:00:57 +00:00
Martin Roukala (né Peres)
98747e5c82
radv/ci: run Zink testing on VanGogh
...
Running zink testing on RDNA2 hardware has been on our TODO list for
a while. While we don't have enough NAVI21 to test everything, we could
make use of the VanGogh APUs to do our Zink testing.
We will enable that job for pre-merge after a week or so of testing.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20006 >
2023-01-06 14:09:31 +00:00
Martin Roukala (né Peres)
c90f69a043
zink/ci: rename zink-radv-* to zink-radv-navi10-*
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20006 >
2023-01-06 14:09:31 +00:00
Martin Roukala (né Peres)
5b04a2138f
radv/ci: merge all the zink jobs into a single one
...
Since GL CTS, GLES CTS, and Piglit executions are very fast compared
to the machine setup time, it makes sense to combine them into one
boot.
The execution will run until the first test suite fails, or we are
done with the execution.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20006 >
2023-01-06 14:09:31 +00:00
David Heidelberg
22ab226396
ci/venus: disable for now
...
It flakes too much. Until it gets sorted out, we disable it.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20547 >
2023-01-06 14:09:49 +01:00
Corentin Noël
808a25c30a
venus: Avoid to copy the descriptor sets when it is not required
...
Allows to reduce the amount of allocations when the VkWriteDescriptorSet is
already sanitized.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20095 >
2023-01-06 11:20:00 +00:00
Samuel Pitoiset
5757dbe1ee
radv: fix returning VK_PIPELINE_COMPILE_REQUIRED from library
...
When VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED is set by
the application, the driver should return VK_COMPILE_REQUIRED but this
was broken for GPL (it returned VK_SUCCESS instead). Also, objects
shouldn't be destroyed when creating the library failed because it's
already handled in radv_graphics_lib_pipeline_create().
Cc: 22.3 mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7512
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20532 >
2023-01-06 10:10:18 +00:00
Michel Dänzer
888f5e5aa1
radeonsi: Fix amdgpu-color-export with prologues
...
Polygon stippling is handled in the prologue, amdgpu-color-export needs
to be set for that.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8010
Fixes: 1825ad134b
("radeonsi,radv/llvm: fix amdgpu-color/depth-export with epilogs")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20531 >
2023-01-06 08:56:31 +00:00
Samuel Pitoiset
988c871ca9
radv: stop dirtying INDEX_BUFFER for non-indexed draws
...
radv_emit_index_buffer() used to emit VGT_INDEX_TYPE but since I
implemented the DISABLE_INSTANCE_PACKING workaround, it's emitted
in radv_emit_draw_registers().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20522 >
2023-01-06 08:32:01 +00:00
Samuel Pitoiset
509ba67aeb
radv: flush push descriptors at bind time
...
This doesn't need to be flushed at draw time.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20522 >
2023-01-06 08:32:01 +00:00
Samuel Pitoiset
f288acb50f
radv: remove set but unused radv_cmd_state::index_{buffer,offset}
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20522 >
2023-01-06 08:32:01 +00:00
Samuel Pitoiset
ddb21e86a4
radv: remove unused pipeline parameter from radv_emit_binning_state()
...
It's no longer needed because everything is dynamic.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20522 >
2023-01-06 08:32:01 +00:00
Samuel Pitoiset
21e52a612d
radv: remove enabling out-of-order rasterization internally
...
This was added ~4 years ago for very little performance improvements
(likely < 1%) and this is only supported on GFX8 and GFX9.
Since, the number of dynamic states increased and this is likely
disabled most of the time, and given the maintainability cost, it looks
like it's time to remove it completely.
Applications can still enable it with VK_AMD_rasterization_order.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20514 >
2023-01-06 08:11:17 +00:00
Jason Ekstrand
39c6f6454c
isaspec: Give decode.c/h more descriptive names
...
Because these are being included across subdir boundaries, the name
"decode" is potentially pretty overloaded. Instead, prefix them with
"isaspec_". Also, since they're both weird includes now and not really
complete files in their own right, give them a descriptive suffix.
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20525 >
2023-01-05 18:21:02 +00:00
Jason Ekstrand
e8945a8ce6
isaspec: Stop depending on glue headers and out-of-folder C files
...
The way the isaspec decoder used to work was that it would generate a
header and a C file, each with ISA-specific stuff in it. Then that would
get built together with a stand-alone decode.c file which lives in the
isaspec folder, not the driver's folder. In order for decode.c to find
the ISA-specific headers, it would also generate a glue header which had
to be named isaspec-isa.h. This effectively meant that you can't have
multiple isaspec definitions in the same folder.
To solve this, we make do it the other way around and make the generated
header and C files include the stand-alone files. This is a bit awkward
because it means including a C file from another C file but it's better
for the build system.
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20525 >
2023-01-05 18:21:02 +00:00
Jason Ekstrand
4953a8db25
isaspec: Use argparse
...
This also cleans up some of our python script execution conventions and
handles mako errors better. Copied a bit from vk_entrypoints_gen.py.
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20525 >
2023-01-05 18:21:02 +00:00
Jason Ekstrand
e83ad77ef5
isaspec: Stop using s and xml from the global namespace
...
We really shouldn't rely on these being global variables. Pass them
along instead.
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20525 >
2023-01-05 18:21:02 +00:00
Alyssa Rosenzweig
05c17eae2b
asahi: Advertise MRT and fbfetch
...
These should both work now.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:23 -05:00
Alyssa Rosenzweig
fa96dfb2d7
agx: Lower discard to zs_emit when zs_emit used
...
It is invalid to use both sample_mask and zs_emit in the same shader. We'll need
to do something similar for sample mask writes.
Fixes Dolphin ubershaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:23 -05:00
Alyssa Rosenzweig
ebe40b15ea
agx: Fix discard with MRT
...
The exact semantics of sample_mask aren't quite clear to me yet, but executing
multiple sample_mask instructions seems to raise a fault :|
Fixes SuperTuxKart's advanced renderer.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:23 -05:00
Alyssa Rosenzweig
2b5519e865
agx: Introduce "no_varyings" instruction
...
Must be used at the end of a vertex shader that does NOT write any varyings, has
rasterizer discard enabled, and is run only for its side effects.
The encoding looks like st_var, but I don't know what this actually *does*. I
just know that the GPU faults if this is omitted.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:23 -05:00
Alyssa Rosenzweig
33e3418cfe
agx: Consider "stop" a control flow instruction
...
...and therefore it needs to be after a "logical end". This means that
"after_block_logical" will do the right thing for the last block.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00
Alyssa Rosenzweig
f6aa43cf42
agx: Optimize waits locally
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00
Alyssa Rosenzweig
a01680b979
agx: Remove logical_end later
...
So we can use after_block_logical in the wait insertion pass.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00
Alyssa Rosenzweig
73ac73308b
agx: Validate widths of vectors
...
Check the invariant that the widths of vectors in the IR are consistent, by
checking that write registers and read registers match up between the writers
and readers respectively.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00
Alyssa Rosenzweig
6685dba75e
agx: Add agx_read_registers helper
...
To be used for inserting waits post-RA.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00
Alyssa Rosenzweig
e6631ba5af
agx: Compact st_tile argument per mask
...
Otherwise the number of read registers won't match the vector we input, which
will trigger validation errors.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00
Alyssa Rosenzweig
545a3eb601
agx: Insert waits post-RA
...
This is the first step towards reducing stalling.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00
Alyssa Rosenzweig
463744e4f9
agx: Pack texture scoreboard slots
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00
Alyssa Rosenzweig
01f948ee13
agx: Pack wait instructions
...
For different scoreboard slots.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446 >
2023-01-05 11:49:22 -05:00