Mike Blumenkrantz
ba30adce07
radv: add a gfx10 bug workaround for NOT_EOP
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532 >
2021-07-06 13:16:56 +00:00
Mike Blumenkrantz
d9132fcb50
radv: split indexed draw cases based on whether drawid is used
...
fewer conditionals in the draw loop = less overhead
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532 >
2021-07-06 13:16:56 +00:00
Mike Blumenkrantz
5aaf45f5e1
radv: determine if hardware can emit NOT_EOP before emitting
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532 >
2021-07-06 13:16:56 +00:00
Mike Blumenkrantz
d28329ed02
radv: emit drawid for multidraws
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532 >
2021-07-06 13:16:56 +00:00
Mike Blumenkrantz
00206b1664
radv: emit NOT_EOP for multi indexed draws
...
this is never emitted currently because drawCount is always 1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532 >
2021-07-06 13:16:56 +00:00
Mike Blumenkrantz
72e75092a9
radv: use multidraw iteration for direct draws
...
there's still no arrays of draw info being passed, but this takes care of
all the work for it
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532 >
2021-07-06 13:16:56 +00:00
Rhys Perry
307a4bf4ab
radv: use null vertex descriptor if num_records=0
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11642 >
2021-07-06 13:00:35 +00:00
Rhys Perry
a2ac660eb7
radv: adjust num_records when offset>stride
...
If an attribute's offset is larger than the stride, the compiler will
increase the vertex index and use offset%stride instead as the offset.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5007
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11642 >
2021-07-06 13:00:35 +00:00
Rhys Perry
e4fbb200fc
radv: don't ever convert num_records to bytes if it's zero
...
If num_records==0, this conversion doesn't work. We should just keep it at
zero.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5007
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11642 >
2021-07-06 13:00:35 +00:00
Bas Nieuwenhuizen
e2e9dd44f4
ac/surface: Handle non-retiled displayable DCC correctly for modifiers.
...
There is some hardware with num_render_backends == 1, but the number
of render backends in GB_ADDR_CFG > 1. Turns out this can be turned
off by making them rb unaligned which is valid with only 1 render
backend.
Fixes: 0833dd7d12 ("amd/common: Add support for modifiers.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10575 >
2021-07-05 22:34:13 +00:00
Bas Nieuwenhuizen
406c87b779
radv: Support address capture and replay.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10570 >
2021-07-05 17:27:51 +00:00
Bas Nieuwenhuizen
f9cc94af7b
radv/winsys: Add support for a fixed VA address for replay.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10570 >
2021-07-05 17:27:51 +00:00
Bas Nieuwenhuizen
8025b4120f
radv/winsys: Return vulkan errors for buffer creation.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10570 >
2021-07-05 17:27:51 +00:00
Samuel Pitoiset
585332caf8
ci: remove few CTS that are now skipped with RADV
...
Some expected list of failures were actually outdated.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11712 >
2021-07-05 12:07:45 +02:00
Samuel Pitoiset
32e4552ca5
ci: update list of expected failures against CTS 1.2.6.2 for RADV
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11712 >
2021-07-05 12:07:41 +02:00
Samuel Pitoiset
e58ab64223
radv: allow more fast clears for depth surfaces without TC-compat HTILE
...
With HTILE only, all values between 0.0 and 1.0 are fetchable.
This should allow more fast clears for depth surfaces where
TC-compat HTILE is disabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10035 >
2021-07-02 13:23:38 +02:00
Samuel Pitoiset
269795c838
radv: prevent fast clearing HTILE depth for unrestricted ranges
...
VK_EXT_depth_range_unrestricted removes the restriction that the
clear value must be between 0.0 and 1.0.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10035 >
2021-07-02 13:23:36 +02:00
Samuel Pitoiset
0cfeb93751
radv: add support for more HTILE clear codes
...
The HTILE clear code is now computed based on the floating point value.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10035 >
2021-07-02 13:23:32 +02:00
Samuel Pitoiset
764960e16d
radv: advertise VK_EXT_color_write_enable
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11530 >
2021-07-02 10:02:02 +00:00
Samuel Pitoiset
9a95aba377
radv: implement VK_EXT_color_write_enable
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11530 >
2021-07-02 10:02:02 +00:00
Samuel Pitoiset
28e1b02a6f
radv: disable DCC for DOOM 2016 and Wolfenstein II
...
Both games perform two image layout transitions with the same image
in the same pipeline barrier with UNDEFINED and this re-initializes
DCC to the uncompressed state. No ideal solution sadly. Note that
both games declare all images as CONCURRENT.
This fixes rendering issues on GFX10+ because DCC for stores is
supported and this implicitly enables DCC for concurrent.
Fixes: da166f648f ("radv: enable DCC for concurrent images on GFX10")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4927
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4607
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11656 >
2021-07-01 11:09:22 +00:00
Rhys Perry
ed123a03be
radv: enable VK_KHR_shader_subgroup_uniform_control_flow
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11626 >
2021-07-01 10:01:52 +00:00
Rhys Perry
a9c4a31d8d
aco: handle NIR loops without breaks
...
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/11626 >
2021-07-01 10:01:52 +00:00
Daniel Stone
0c09498fe9
Revert "CI: Disable LAVA devices for maintenance"
...
This actually came back a few hours ago.
This reverts commit b07dc014c44849af59f98afa3a1703c9d9d3cf27.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11669 >
2021-07-01 06:59:07 +00:00
Rhys Perry
c094765a01
aco: remove resource flags
...
After disabling SMEM stores, nir_opt_access() now does the same analysis
and we don't need this anymore. Doing it in isel is also too late if we
want to lower descriptor loads in NIR.
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/11652 >
2021-06-30 19:07:12 +01:00
Mike Blumenkrantz
c0397a42ce
radv: pre-calc vertex buffer descriptor size on pipeline object
...
util_bitcount has a nonzero cost, and calling it like this in a hotpath
generates unnecessary overhead
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11525 >
2021-06-30 13:42:42 +00:00
Daniel Stone
e4f762ac34
CI: Disable LAVA devices for maintenance
...
LAVA will be unavailable for probably most of the day today due to
scheduled maintenance; doing some spring cleaning to upgrade to a new
version, clean out the database, etc.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11649 >
2021-06-30 06:53:45 +00:00
Samuel Pitoiset
2019014df9
radv: fix fd leak in vkAcquireImageANDROID()
...
Copied from ANV.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4915
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11518 >
2021-06-30 08:14:03 +02:00
Pierre-Eric Pelloux-Prayer
c564841fae
ac/surface: don't print stencil info if tex has no stencil
...
color/zs are stored in a union so testing for zs.stencil_offset
isn't the correct way to test for stencil.
Fixes: 988f148db3 ("ac/surface: overlap color and Z/S fields using a union in gfx9_surf_layout")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11625 >
2021-06-29 23:38:21 +02:00
Pierre-Eric Pelloux-Prayer
b564ec7769
ac/llvm: call the callback in all return paths of ac_cull_triangle
...
Fixes: 12d2df15f1 ("ac/llvm: add a callback to ac_cull_triangle to generate code in inner-most block")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4959
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11625 >
2021-06-29 23:38:21 +02:00
Samuel Pitoiset
4a031a01ba
radv: fix RADV_FORCE_VRS for 2x1 and 1x2
...
The rates were inverted.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11578 >
2021-06-29 12:47:49 +02:00
Rhys Perry
ebeda07801
aco/tests: fix 32-bit build
...
"call of overloaded ‘Operand(long unsigned int)’ is ambiguous"
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11627 >
2021-06-29 09:55:32 +00:00
Ishi Tatsuyuki
4f959e368c
radv: ignore redundant variable descriptor counts (v2)
...
The Vulkan specification says: "If VkDescriptorSetAllocateInfo::pSetLayouts[i]
does not include a variable count descriptor binding, then
pDescriptorCounts[i] is ignored". The previous code triggered an assertion
in such cases, and this patch fixes it.
v2: removed the offending assertion that is now always satisfied and
reworded the commit message with a reference to Vulkan spec.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4992
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11576 >
2021-06-29 09:29:40 +00:00
Matt Turner
40b1668ebd
amd/ci: Use MESA_VK_IGNORE_CONFORMANCE_WARNING to reduce warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11563 >
2021-06-25 19:45:38 +00:00
Matt Turner
ed77bf3c4e
ci: Unify on MESA_VK_IGNORE_CONFORMANCE_WARNING
...
Move and rename warn_non_conformant_implementation() to common location
of src/vulkan/util/vk_util.c as vk_warn_non_conformant_implementation().
In freedreno/ci, move MESA_VK_IGNORE_CONFORMANCE_WARNING to common
location of .baremetal-deqp-test-freedreno-vk.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11563 >
2021-06-25 19:45:38 +00:00
Daniel Schürmann
b14bd285f8
aco/ra: handle copies of copies better
...
Instead of adding a second copy, just redirect
the existing copy.
No fossil-db changes.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11571 >
2021-06-24 16:53:10 +00:00
Daniel Schürmann
995e218993
aco/ra: handle copies of definition registers
...
Previously, it could happen that a parallelcopy of
a definition was inserted before the instruction.
Fixes Rage 2 with GFX7.
No fossil-db changes.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11571 >
2021-06-24 16:53:10 +00:00
Simon Zeni
2fe2eb1911
radv: Implement VK_EXT_acquire_drm_display
...
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11014 >
2021-06-24 15:48:38 +00:00
Marek Olšák
86355b5984
ac/gpu_info: adjust the condition for use_late_alloc
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11509 >
2021-06-23 22:37:32 -04:00
Daniel Schürmann
f953dc2ced
amd/ci: add hawaii-specific skip and fail lists
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10424 >
2021-06-23 15:17:22 +00:00
Simon Ser
17f0d7ef83
amd/addrlib: remove Meson debug message()
...
This message pops up in the Meson build logs, but has no context
and doesn't seem to be directed at end-users. Sounds like a leftover
from a debugging session.
Signed-off-by: Simon Ser <contact@emersion.fr >
Fixes: d0767fc045 ("amd/addrlib: use cpp.has_argument() to filter compiler arguments")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11524 >
2021-06-22 23:47:19 +00:00
Marek Olšák
d3fddf63ec
ac/llvm: don't set skip-uniform-regions to fix atomic.cmpswap
...
This fixes SSBO atomic cmpswap tests and transform feedback order piglit tests.
Fixes: 3bb65c0670 - ac: force enable -structurizecfg-skip-uniform-regions for LLVM 11
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3884
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11517 >
2021-06-22 22:13:07 +00:00
Samuel Pitoiset
8c968b8301
radv: advertise extendedDynamicState2LogicOp
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10880 >
2021-06-22 15:32:31 +00:00
Samuel Pitoiset
8efa897168
radv: implement dynamic logic op
...
This is part of VK_EXT_extended_dynamic_state2.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10880 >
2021-06-22 15:32:31 +00:00
Timur Kristóf
e6bf5cfe59
aco/gfx10: Emit barrier at the start of NGG VS and TES.
...
The Navi 1x NGG hardware can hang in certain conditions when
not every wave launched before s_sendmsg(GS_ALLOC_REQ).
As a workaround, to ensure this never happens, let's emit a
workgroup barrier at the beginning of NGG VS and TES.
Note that NGG GS already has a workgroup barrier so it doesn't
need this.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837 >
2021-06-22 14:32:27 +00:00
Timur Kristóf
f9447abb36
aco/gfx10: NGG zero output workaround for conservative rasterization.
...
Navi 1x GPUs have an issue: they can hang when the output vertex
and primitive counts are zero. The workaround is exporting a dummy
triangle.
This commit changes the dummy triangle's vertex so its positions
are all NaN. This should make sure the triangle is never rendered.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837 >
2021-06-22 14:32:27 +00:00
Timur Kristóf
25314996d0
radv/llvm: Emit s_barrier at the beginning of NGG non-GS shaders.
...
This is to fix a hang that can potentially happen when not every
wave had launched when a gs_alloc_req is executed.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837 >
2021-06-22 14:32:27 +00:00
Simon Ser
7aaa54feb5
radv: implement VK_EXT_physical_device_drm
...
This adds support for the Vulkan extension introduced in [1]. The
extension allows to get a VkPhysicalDevice's DRM node device IDs.
[1]: https://github.com/KhronosGroup/Vulkan-Docs/pull/1356
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8390 >
2021-06-22 13:18:18 +00:00
Charlie Turner
e9991d5ff1
radv: Provide a toggle to avoid warnings about unsupported devices.
...
In the CI, we have such devices, and this message is printed many
hundreds of times. This results in a useless spam which makes it
difficult to see real issues.
v2 from Martin:
- Reword the commit message a bit
- Add a SoB
Signed-off-by: Martin Peres <martin.peres@mupuf.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Andres Gomez <agomez@igalia.com >
Acked-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11491 >
2021-06-22 13:59:43 +03:00
Samuel Pitoiset
8f9368ddb7
ac/perfcounters: add a GPU block ID to every block definitions
...
The enumeration comes from AMDVLK.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11186 >
2021-06-22 06:38:55 +00:00