Mike Blumenkrantz
5e600afa33
lavapipe: remove some skips
...
these should all be fast enough now
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722 >
2022-07-25 16:38:25 +00:00
Mike Blumenkrantz
d23a9380dd
lavapipe: implement extreme uniform inlining
...
this adds a mangled variation on nir_inline_uniforms that enables inlining
from any uniform buffer in order to try inlining every possible load
if the shader is too small or the ssa_alloc delta from inlining is too small,
then inlining is disabled for that shader to avoid pointlessly churning
the same shaders for no gain
with certain types of shaders, the speedup is astronomical
before:
dEQP-VK.graphicsfuzz.cov-int-initialize-from-multiple-large-arrays (4750.76s)
after:
dEQP-VK.graphicsfuzz.cov-int-initialize-from-multiple-large-arrays (0.505s)
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722 >
2022-07-25 16:38:25 +00:00
David Heidelberg
1a244e1394
ci/freedreno: 3 pixel change in Raven restricted trace
...
Acked-by: Rob Clark <robdclark@chromium.org >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17732 >
2022-07-25 18:14:40 +02:00
Adam Jackson
2b3b7b692b
wsi/x11: Synchronously check for error from xcb_present_pixmap
...
Yes this is a round trip, but X_PresentPixmap is not itself a blocking
operation, it just instructs the server to do the next presentation at
some time. More importantly, if _we_ don't catch the presentation error,
xlib's error queue will, and the calling code is certainly not prepared
to handle errors from Present.
Forcing the round trip here is also a bit more correct semantically.
This is the end of the Vulkan client part of the present queue, and the
X_PresentPixmap request transfers the queue operation to the server, so
we should not return until we are sure the handoff has happened.
Fixes some flakiness with piglit@glx-visuals-* with zink+radv.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17685 >
2022-07-25 10:54:46 -04:00
Erik Faye-Lund
747913377f
zink: fix EXT_color_write_enable check
...
Checking for the extension isn't enough, we also need to check for the
feature-bit.
Fixes: 49a20e0981 ("zink: start a unified driver workarounds struct")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:42 +02:00
Erik Faye-Lund
32b9e639b7
zink: warn about missing image2DViewOf3D feature
...
While we're at it, let's store zink_screen in a temp varaible for reuse.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:37 +02:00
Boyuan Zhang
fef2004b11
radeonsi/vcn/enc: enable cabac entropy mode
...
Set cabac entropy mode if enabled.
v2: add extra check on radeon driver side, disable cabac if profile is
baseline or extended.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113 >
2022-07-25 13:17:18 +00:00
Boyuan Zhang
dea360dcf9
frontends/va: get entropy mode info for h264 encode
...
Get entropy mode and cabac init idc from VAAPI interface.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113 >
2022-07-25 13:17:18 +00:00
Boyuan Zhang
ea9e8e776a
vl: add cabac init idc for h264 encode
...
Add interface to store cabac init idc value.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113 >
2022-07-25 13:17:18 +00:00
Rajnesh Kanwal
e13a450bf2
pvr: Add support for input attachment descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
b562d29196
pvr: Add support for storage and uniform texel descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
08c867972f
pvr: Add support for image descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
ecfea72c73
pvr: Add support for combined image and sampler descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
290b9a953a
pvr: Add support for sampler descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
1bf883a8ae
pvr: Move binding related checks in common code.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
f044676dbb
pvr: Implement vkCreateBufferView and vkDestroyBufferView.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
8ef42c25a6
pvr: Use common vk_buffer implementation.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
405a407d42
pvr: Init and store default sampler in pvr_device.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Erik Faye-Lund
dbc8290656
llvmpipe: clean up bresenham implementation
...
This moves some common code into shared locations, limits the scope of
some variables, switches some booleans for bools, and cleans up some
whitespace.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17653 >
2022-07-25 12:39:47 +02:00
Erik Faye-Lund
8f99bab70c
llvmpipe: consolidate legacy_points and multisample state
...
This just makes the code a bit easier to follow.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17653 >
2022-07-25 12:39:47 +02:00
Erik Faye-Lund
a1846e3926
llvmpipe: merge all rasterizer-bind functions
...
This makes it more obivous when what state changes, and they are always
just called in order.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17653 >
2022-07-25 12:39:42 +02:00
Mike Blumenkrantz
4ff28bd5d8
lavapipe: accurately set image/ssbo access based on shader usage
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15286 >
2022-07-25 01:57:49 +00:00
Dave Airlie
878784dbec
crocus: fix leak in query code.
...
Fixes: f3630548f1 ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17731 >
2022-07-25 01:34:11 +00:00
Mike Blumenkrantz
ad09694cba
lavapipe: EXT_non_seamless_cube_map
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17711 >
2022-07-25 00:50:14 +00:00
Mike Blumenkrantz
a2f97bd88a
zink: avoid crashing when bindless texture updates aren't used
...
some apps trigger the texture update path far in advance of when the
texture will be used, so don't crash and wait to do the update
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17665 >
2022-07-25 00:11:54 +00:00
Mike Blumenkrantz
992cd1ae2b
zink: assert !rp_changed after renderpass has started
...
avoid weirdness
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17665 >
2022-07-25 00:11:54 +00:00
Mike Blumenkrantz
c24c5972a8
zink: only flag fbfetch as rp update if fbfetch wasn't already configured
...
otherwise this is probably just a swapchain acquire which needs to update
the descriptor during begin_renderpass
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17665 >
2022-07-25 00:11:54 +00:00
Gert Wollny
1468cd82de
r600/dri-tweak: Disable ARB_shader_image_load_store for "Tomb Raider 2013"
...
When "Depth of Field" is set to Ultra, a compute shader is emitted that
results in Hardware hangs when OpenGL > 4.3 is available.
If the option is enabled, the game will hang at the menu screen so that
it is no longer possible to simply change the option back. To avoid this
disable the extension for this game until the shader emission can be fixed.
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6857
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17728 >
2022-07-24 19:32:10 +00:00
Gert Wollny
a3dda55c0a
r600ß/sfn: Don't fall through with VS outputs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Gert Wollny
8166be0e83
r600: don't clone the nir shader, just use it
...
The nir shader passed in with the shader state has to be released by
the backe-end, so don't clone it, just use it.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Gert Wollny
97d4e98501
r600: Delete possible old NIR variant when translating from TGSI
...
With shader variants it may happen that we already translated a TGSI
shader for the current selector, so delete the old nir shader if we
already had one.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Gert Wollny
92feb77bbb
r600/sfn: lower the right shader variant
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Gert Wollny
99e4a23290
r600/sfn: make sure the memory pool is released after shader translation
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Constantine Shablya
85c3cea96f
anv: set image_read_without_format NIR option on Vulkan 1.3
...
VK_KHR_format_feature_flags2 is core and implicitly enabled in 1.3.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17442 >
2022-07-24 17:27:10 +00:00
Konstantin Seurer
2861d1ff8a
radv: Fix out of bounds access in RTPSO creation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17723 >
2022-07-24 14:59:44 +00:00
Hyunjun Ko
0c787d57e6
tu: increase maxPushConstantsSize to 256.
...
Now there are two paths for push constants.
When it's range is under 128b, we can use shared consts.
When it's over 128b, we can instead do loading data through
regular path, which is same as the previous way.
Now we can satisfy emulations like vkd3d that requires 256b for
its root signatures and we think it fairly maps to push constants
rather than inline uniform blocks that requires one indirection.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Hyunjun Ko
e1f2cabc5e
turnip: Change to use shared consts for PushConstants
...
Follow the way blob is doing for PushConstants though it supports only
128b, same as previous.
v1. Rename tu_push_constant_range.count into dwords to redue confusion.
( Danylo Piliaiev <dpiliaiev@igalia.com > )
v2. Enable shared constants only if necessary.
v3. Merge the two draw states TU_DRAW_STATE_SHADER_GEOM_CONST and
TU_DRAW_STATE_FS_CONST as shared constants are used.
Note that this leaves tu_push_constant_range in tu_shader so we could
use it again in the following patch.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Hyunjun Ko
ce8e8051af
turnip: clean up unused parameters for user consts.
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Hyunjun Ko
e6556b72fb
ir3: handle shared consts.
...
Adds a shared consts base offset and a size of it(dwords) to ir3_compiler
since they might be depending on gpu generations. (Danylo Piliaiev <dpiliaiev@igalia.com > )
Adds a flag to present whether shared consts are enabled to
ir3_shader_options and then it sets to ir3_const_state when creating
an ir3 variant. Although this state is not per-shader state, this is
necessary when figureing out real constlens.
v1. Define a hw quirk for geometry shared const files and use it when
calculating const length.
v2. Don't hardcode when calculating a safe const length.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Hyunjun Ko
b35c4bd050
ir3: change maximum size of const files.
...
According to the observation on a630/a650/a660, max_const_pipeline has
to be 512 when all geometry stages are present. Otherwise a gpu hang
happens. Acoordingly maximum safe size for each stage should be under
(max_const_pipeline / 5 (stages)).
Only when VS and FS stages are present, the limit is 640.
v1. Align max_const_safe to 4 vec4's.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Marek Olšák
3e94d498b3
gallium: add pipe_blit_info::dst_sample, update u_blitter to write that sample
...
A new radeonsi blit test will use it to upload different sample values
into MSAA textures.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17694 >
2022-07-23 18:21:31 +00:00
Pierre-Eric Pelloux-Prayer
af7c2ff842
radeonsi: check last_dirty_buf_counter and dirty_tex_counter
...
Check both counters in draw and compute, otherwise compute dispatches may
miss buffers invalidation.
This fixes the test case from https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/702
(both with and without GALLIUM_THREAD=0).
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17394 >
2022-07-23 18:03:22 +00:00
Mihai Preda
da9feae735
gallivm: push LLVM version guard into assert
...
The asserts that check the pointer element type can't be used on LLVM >= 15.
Instead of using precompiler #if, use boolean shortcut in assert.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650 >
2022-07-23 17:34:08 +00:00
Mihai Preda
f0fda08739
gallivm: add lp_build_struct_get() variants that take the LLVM type
...
This is needed for LLVM-15 opaque pointers.
The new variants taking the type are named with the suffix "2", using
the same naming pattern LLVM (e.g. LLVMBuildGEP2 vs. LLVMBuildGEP).
Reviewed-by: Brian Paul <brianp@vmware.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650 >
2022-07-23 17:34:08 +00:00
Mihai Preda
8c4aef2abb
gallivm: refactor a bit the cache access in view of LLVM opaque pointers
...
LLVM 15 requires transition to opaque pointers; factorize a bit the cache
memthods to help this transition.
Reviewed-by: Brian Paul <brianp@vmware.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650 >
2022-07-23 17:34:08 +00:00
Mihai Preda
b549394992
gallivm: fix a few llvm non-opaque pointers
...
As LLVM 15 transitions to opaque pointers, we need to update
the deprecated methods dealing with non-opaque pointers.
Reviewed-by: Brian Paul <brianp@vmware.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650 >
2022-07-23 17:34:08 +00:00
Jesse Natalie
bdf91b25d9
dzn: Retrieve validator version
...
For platforms where there's no validator available, leave the field zero-initialized
to let the DXIL backend choose whatever target validator version it wants.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
ef7635b1cb
d3d12: Retrieve validator version
...
For platforms where there's no validator available, leave the field zero-initialized
to let the DXIL backend choose whatever target validator version it wants.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
b8328c9664
microsoft/compiler: Blacklist DXIL validator 1.6 from 20348 SDK
...
This version claims to support validator version 1.6, but doesn't
actually have the 1.6 changes (PSV v2, PSV resource v1, barycentrics).
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
8fcd506178
microsoft/compiler: Add a getter for a validator version from DXIL.dll
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00