Georg Lehmann
f5f73db846
aco: Support 16bit sources for texture ops.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979 >
2022-07-26 16:54:08 +00:00
Georg Lehmann
c1cf0688c9
aco: Add G16 opcodes.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979 >
2022-07-26 16:54:08 +00:00
Connor Abbott
19a2353446
tu: Fix resolving d32s8 into s8 on fast path
...
The code assumed that if the source was d32s8 then the destination would
also be d32s8, in particular that depth_base_addr/stencil_base_addr
would also be filled out. Move the destination and source handling into
two different ifs with different conditions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17684 >
2022-07-26 15:00:01 +00:00
Connor Abbott
d426ee6a99
tu: Support resolving D24S8 -> S8
...
This was missed when we added support for VK_KHR_depth_stencil_resolve.
There is a similar feature where the stencil aspect of a D24S8 can be
copied "tightly" in CopyImageToBuffer, but it used the texture swizzle
and so required the 3d path. To get it to work with the 2D path, which
is required for resolves, we have to instead use the A8_UNORM format,
which works for texture sampling even for tiled images. We also have to
reuse the pre-existing image views because subpass resolves work on
image views rather than images, whereas before the fixup was applied
while creating the image view. This means threading through the
corresponding "opposite" format through setup, src, and dst functions,
doing the fixup there (through some shared helpers), and then getting
every user to specify the right format. As a bonus, we no longer need to
force the 3d path for the CopyImageToBuffer and CopyBufferToImage
special cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17684 >
2022-07-26 15:00:01 +00:00
Erik Faye-Lund
e8b22afae9
llvmpipe: remove unused function
...
Fixes: a1846e3926
("llvmpipe: merge all rasterizer-bind functions")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17735 >
2022-07-26 08:12:17 +00:00
Chia-I Wu
ba461f897b
ir3: fix tess param allocation
...
primitive_param takes up 2 vec4's. Remove an align that I don't
understand.
The align upset
Test case 'dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_vec4'..
deqp-vk: ../src/freedreno/ir3/ir3_nir.c:1039:
void ir3_setup_const_state(nir_shader *, struct ir3_shader_variant *, struct ir3_const_state *):
Assertion `constoff <= ir3_max_const(v)' failed.
with an older version (android11-tests-dev branch) of deqp-vk. This is
because ir3_nir_opt_preamble uses the function for the worst case but
the function fails to replace the align by the worst case.
No regression with dEQP-VK.*tess*.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
e3ba8a2f07
ir3: increment constoff right after it is assigned
...
Minor improvement to readability. No real change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
4ae2966616
ir3: remove unused patch_vertices_in
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
74c96af71d
ir3: fix output_loc size
...
It was off-by-one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
9c106f3ee7
ir3: copy req_local_mem for MESA_SHADER_KERNEL
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
76ea28b9d0
ir3: update ir3_const_state comment
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Jason Ekstrand
23220c86d9
lavapipe: Use the vk_graphics_pipeline_state
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17669 >
2022-07-26 00:45:26 +00:00
Jason Ekstrand
33092faef1
lavapipe: Use shader_info::uses_sample_shading
...
This is more accurate because it's computed directly in spirv_to_nir and
takes even unused SampleID and SamplePos builtings into account.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17669 >
2022-07-26 00:45:26 +00:00
Mike Blumenkrantz
27c97dc0d1
lavapipe: advertise VK_EXT_multisampled_render_to_single_sampled
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
f2d5ff1c3a
lavapipe: VK_EXT_multisampled_render_to_single_sampled
...
this works by doing a replicate at renderpass start and an in-place
resolve on renderpass end
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
d2990b6599
vulkan: hook up VK_EXT_multisampled_render_to_single_sampled
...
this adds support for the extension to common renderpass
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
f1ae6523b1
llvmpipe: add a shortcut for blitter resolves
...
if this is only going to do a sample0 resolve, the functionality is
equivalent to just copying the first sample, and in llvmpipe terms,
this just means doing a direct copy at offset=0
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
6064d838e7
lavapipe: fix stencil clears
...
this uses the value from the stencil attachment
Fixes: 8068c68b1f
("lavapipe: Delete render passes")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
f2f517b315
llvmpipe: allow resource_copy_region to perform replicate operations
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
8563a95bd7
llvmpipe: remove weird clamping for format support with sample counts
...
this breaks u_blitter
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
725cdfb0ad
lavapipe: set image access on pipeline bind, not descriptor bind
...
this is where the access originates, so set it here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739 >
2022-07-25 22:08:53 +00:00
Mike Blumenkrantz
a18708e5ce
lavapipe: use 64bit masks for shader access
...
ensure that all descriptors are tracked for this
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739 >
2022-07-25 22:08:53 +00:00
Mike Blumenkrantz
2fd930f95b
lavapipe: use correct offset calculation for flagging ssbo/image write access
...
var->data.binding has no relation to the actual index of the resource,
which must be separately calculated based on the layout
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739 >
2022-07-25 22:08:53 +00:00
Mike Blumenkrantz
825e5f6482
lavapipe: make binding/layout helper functions static inline
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739 >
2022-07-25 22:08:53 +00:00
Adam Jackson
295a8b4464
mesa: Remove Purgeable fields from texture/buffer/renderbuffer objects
...
These are unused since !17425 .
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17745 >
2022-07-25 16:28:40 -04:00
Erik Faye-Lund
ba2146f93f
gallium/hud: do not use texture-rect for font
...
RECT textures used to be required to be supported by drivers. But since
the state-tracker learned how to lower these to 2D textures, some
drivers no longer support them.
While we have lowering in place for this, lowering it involves some
needless overhead. So let's just use a 2D texture instead of a RECT
texture.
Because having two versions and switching between them is more
complicated than it needs to be, let's just always use a 2D texture.
Similarly, let's just always multiply the reciprocal here, so we don't
have to test for PIPE_CAP_TGSI_DIV first.
Cc: mesa-stable
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17707 >
2022-07-25 18:12:05 +00:00
Mike Blumenkrantz
7ef76dec73
lavapipe: move vertex input dynamic states into vertex input block
...
these states were erroneously assigned to the pre-rasterization stage
for pipeline libraries when they instead belong to the vertex input stage
cc: mesa-stable
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17738 >
2022-07-25 17:26:43 +00:00
Mike Blumenkrantz
fbb4b90d7d
zink: add a ci flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722 >
2022-07-25 16:38:25 +00:00
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
Erik Faye-Lund
1318a58538
docs/zink: document required VK_EXT_border_color_swizzle
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:34 +02:00
Erik Faye-Lund
d9064d3c30
docs/zink: document required VK_KHR_swapchain_mutable_format
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:31 +02:00
Erik Faye-Lund
28cbb40a98
docs/zink: correct name of extension
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:27 +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