Michel Dänzer
86c6634897
intel/vk/grl: Do not use no_override_init_args for C++
...
It's only valid for C code.
Avoids
cc1plus: error: command-line option '-Wno-override-init' is valid for C/ObjC but not for C++ [-Werror]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21781 >
2023-03-17 16:08:33 +00:00
Anuj Phogat
b4b43aa912
anv: implement TES distribution mode WA 22012785325
...
Set TEDMODE_RR_STRICT when TEEnable is set.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21899 >
2023-03-16 14:42:53 +00:00
Constantine Shablya
d53aba56db
anv: use vk_get_physical_device_features
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21754 >
2023-03-16 08:23:29 +00:00
Mark Janes
a2e5e7daa0
intel: use generated helpers for Wa_1409433168/Wa_16011107343
...
HSD 1306463417 is a hardware defect. The originating software
workaround for the issue is Wa_1409433168. Convert all references to
the software workaround number, and use generated helpers instead of
GFX comparisons.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21914 >
2023-03-15 23:31:08 +00:00
José Roberto de Souza
eec5ddd0ed
anv: Handle external objects allocation in Xe
...
External(imported or exported) objects needs to have vm_id set to 0.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21885 >
2023-03-15 18:17:11 +00:00
José Roberto de Souza
b2d82c25fb
anv: Properly alloc buffers that will be promoted to framebuffer in Xe KMD
...
Xe KMD does a special caching handling for buffers that will be
scanout to display, so that is why it needs a flag set during
allocation.
Checking if VK_STRUCTURE_TYPE_WSI_MEMORY_ALLOCATE_INFO_MESA
is available in AllocateMemory() and marking the buffer as scanout.
All WSI code paths but one sets
VK_STRUCTURE_TYPE_WSI_MEMORY_ALLOCATE_INFO_MESA.
The only one that doesn't requires that WSI is initialize with
wsi_device_options.sw_device = true to be executed, what is not the
case for ANV.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21885 >
2023-03-15 18:17:11 +00:00
José Roberto de Souza
a311c031f6
anv: Implement Xe version of anv_physical_device_get_parameters()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21885 >
2023-03-15 18:17:11 +00:00
Rohan Garg
becc1c5615
anv: break out of the loop when the first color attachment is found
...
Fixes: 2bd304bc ("anv: Skip the RT flush when doing depth-only rendering")
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/21903 >
2023-03-15 10:52:50 +00:00
Mohamed Ahmed
5ada09412f
anv: remove GetBufferMemoryRequirements2()
...
Signed-off-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21898 >
2023-03-15 00:30:35 +00:00
Dave Airlie
4e0d4aab48
anv: fix image height for field pictures.
...
Fixes: 98c58a16ef ("anv: add initial video decode support for h264.)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21807 >
2023-03-14 13:34:53 +00:00
Lionel Landwerlin
adcdc38f3b
anv: more formats for acceleration structure vertices
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21821 >
2023-03-14 09:34:27 +00:00
Dave Airlie
cb24faf1a6
anv/video: disable picture id reampping.
...
This isn't needed at the hw level with vulkan
Fixes: 98c58a16ef ("anv: add initial video decode support for h264.")
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21433 >
2023-03-14 07:32:00 +00:00
Dave Airlie
f85b2cbe33
anv/video: fix chroma qp to be a integer value.
...
This is just a cleanup to the genxml
Fixes: 98c58a16ef ("anv: add initial video decode support for h264.")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21433 >
2023-03-14 07:32:00 +00:00
Lionel Landwerlin
d8013976c7
anv: export EXT_pipeline_library_group_handles only with RT
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21870 >
2023-03-14 02:08:01 +00:00
José Roberto de Souza
43e21702f6
anv: Integrate gem vm bind and unbind kmd backend functions
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
José Roberto de Souza
37fa2fa30e
anv: Add gem VM bind and unbind to backend
...
Not using it yet, that will be done in the next patch.
Xe only supports submission using VM.
For i915 the backend functions are just a noop.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
José Roberto de Souza
324d22d684
anv: Implement gem close and mmap for Xe backend
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
José Roberto de Souza
149e945ad4
anv: Implement Xe functions to create and destroy VM
...
Also using the vm_id to create gem buffers.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
José Roberto de Souza
d5f767edf9
anv: Implement gem_create for Xe backend
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
Mark Janes
4978db6b9e
intel: use generated workaround helpers for Wa_1409600907
...
Wa_1409600907 was enabled for gen12+. It should not be applied for
platforms after gen12.0. Use generated helpers to ensure application
to all relevant platforms.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21743 >
2023-03-09 22:56:51 +00:00
Emma Anholt
8b75b72613
anv+hasvk: Use driconf to disable 16-bit for zink.
...
The HW can technically execute 16-bit operations, but the restrictions on
16-bit ALU ops are so great that it ends up not being a win for
GLES-on-Vulkan to lower mediump to 16-bit operations, at least with the
current state of the Intel compiler. This brings zink-on-anv in line with
iris and angle-on-anv for mediump behavior (ANGLE uses RelaxedPrecision,
which we ignore).
Perf on some angle traces on my brya (ADL) and i9-9900K (CFL):
ADL zink pubg_mobile_battle_royale: +13.4574% +/- 5.2046% (n=5)
CFL zink pubg_mobile_battle_royale: +29.5332% +/- 0.646585% (n=6)
ADL zink aztec_ruins_high: +5.78027% +/- 4.80645% (n=4)
CFL zink aztec_ruins_high: -1.10641% +/- 0.140562% (n=12)
ADL zink trex_200: +5.86956% +/- 2.09633% (n=10)
CFL zink trex_200: +9.72136% +/- 0.749261% (n=10)
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21775 >
2023-03-09 02:27:01 +00:00
Lionel Landwerlin
11bc2bde83
anv: force MEDIA_INTERFACE_DESCRIPTOR_LOAD reemit after 3D->GPGPU switch
...
Seems to fix a hang in the following titles :
- Age of Empire 4
- Monster Hunter Rise
where the HW is hung on a PIPE_CONTROL after a GPGPU_WALKER but no
MEDIA_INTERFACE_DESCRIPTOR_LOAD was emitted since the switch from 3D
to GPGPU.
This would happen in the following case :
vkCmdBindPipeline(COMPUTE, cs_pipeline);
vkCmdDispatch(...);
vkCmdBindPipeline(GRAPHICS, gfx_pipeline);
vkCmdDraw(...);
vkCmdDispatch(...);
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17247 >
2023-03-08 23:09:36 +00:00
Lionel Landwerlin
10057d19f2
anv: report max register pressure in pipeline properties
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21756 >
2023-03-08 13:37:07 +00:00
Lionel Landwerlin
8dd960e056
anv/iris: report counter symbols with debug option
...
v2: rename to INTEL_DEBUG=perf-symbol-names
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17672 >
2023-03-08 12:45:43 +00:00
Lionel Landwerlin
e8793f2a86
anv: enable VK_EXT_pipeline_library_group_handles
...
A noop for us.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20929 >
2023-03-08 08:59:52 +00:00
Tapani Pälli
889c3ee6b8
anv: fix sends_count_expectation assert on simd32
...
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/21758 >
2023-03-07 14:37:31 +00:00
Eric Engestrom
2b1e9b0fd6
anv: add linker script to fix android symbols
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631 >
2023-03-04 07:41:10 +00:00
Lionel Landwerlin
938f7a48b2
anv: VK_EXT_image_sliced_view_of_3d
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21376 >
2023-03-04 06:12:46 +00:00
Jordan Justen
b02600cde1
intel/vk/grl: genX-ify grl_cl_kernel_name()
...
I don't see any code calling this, but with multiple gens, the symbol
name would conflict.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21670 >
2023-03-03 21:37:19 +00:00
Jordan Justen
d68c9e0dcf
intel/vk/grl: genX-ify genX_grl_uuid.cpp
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21670 >
2023-03-03 21:37:19 +00:00
Jordan Justen
14007a525b
intel/vk/grl: Allow grl/grl_cl_kernel.h to be included by C++ files
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21670 >
2023-03-03 21:37:19 +00:00
Jordan Justen
4a7ddc4841
intel/vk/grl: Allow genX_grl.h to be included by C++ files
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21670 >
2023-03-03 21:37:19 +00:00
Jordan Justen
3251db1270
intel/vk/grl: Don't include anv_private.h in genX_grl.h
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21670 >
2023-03-03 21:37:19 +00:00
Lionel Landwerlin
1d9cf8f381
anv: add gfx9 generated draw support
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
3ac7d5f258
anv: remove unused item_count parameter
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
ec66054426
anv: use a list of generated shaders
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
b32303c369
anv: move common shader code into header
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
ac71719d4a
anv: pack more data into generated draws input
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
200cec935d
anv: use 64bit int support in generation shaders
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
a2026bf5f9
anv: rename generated draws for Gfx11
...
We'll need different shaders for Gfx9
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
caf2389bc5
anv: use a single generation shader for indirect draws
...
The indirect draw count shader can be used as a more generic case of
the indirect draw one. We'll never enter the last condition of the
shader (writing the MI_BATCH_BUFFER_START) with non count variants of
draws.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
897a92f576
anv: remove MI_NOOPs at the end of the generation batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
aa18d52728
anv: make sure mi_memcpy lands before push constant loads
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: e2dc32d755 ("anv: move functions around to plan for generated draws")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
e68615aeaa
anv: fix indirect draws VF cache tracking of index buffer
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: e2dc32d755 ("anv: move functions around to plan for generated draws")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
1454b789b1
anv: fix 3DSTATE_PS emission in generation shaders
...
We have to use the helper and also were missing the vector mask
programming.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
8f16ca8741
anv: remove commented code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
f5dc88910f
anv: remove pre hasvk split assert
...
With softpin we should not always expect a BO in addresses.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
ae398284c9
anv: limit push constant dirtyness with generation shaders
...
We only use the fragment shader push constants.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
2ea106e758
anv: correctly program 3DSTATE_SF in generation shaders
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00
Lionel Landwerlin
e698040061
anv: remove BTI related flush in generation shaders
...
Earlier versions of the generation shaders were using the binding
table. We since switch to A64 messages. So the flush can be removed.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497 >
2023-03-03 11:30:54 +00:00