Commit graph

160304 commits

Author SHA1 Message Date
Lionel Landwerlin
f9dbb65e7f anv: add missing wokraround for texture cache invalidate
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18743>
2022-09-22 23:45:16 +00:00
Connor Abbott
8cb1deded6 ir3/analyze_ubo_ranges: Account for reserved consts
We weren't accounting for the reserved consts when calculating how much
we can upload. This led to assertion failures later if we pushed too
much.

Fixes: d3b7681df2 ("tu: ir3: Emit push constants directly")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18757>
2022-09-22 22:16:22 +00:00
Connor Abbott
750ecb0aa9 tu: Set textures_used for input attachments correctly
We were accidentally multiplying by 2 twice. Noticed by inspection.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18757>
2022-09-22 22:16:22 +00:00
Connor Abbott
f483419c23 tu: Fix maxPerStageDescriptorUpdateAfterBindInputAttachments
We need this to be the same as maxPerStageDescriptorInputAttachments.

Fixes: d9fcf5de55 ("turnip: Enable nonuniform descriptor indexing")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18757>
2022-09-22 22:16:21 +00:00
Sil Vilerino
0fd23e8696 d3d12: Fix texture array DPB encode path
Mark D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_USED_AS_REFERENCE_PICTURE when applicable

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18763>
2022-09-22 22:03:44 +00:00
Sil Vilerino
8711b53d59 d3d12: Add debug verbosity for output reconstructed picture
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18763>
2022-09-22 22:03:44 +00:00
Sil Vilerino
93e0309b13 d3d12: Fix out of bounds index check for texture array DPB
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18763>
2022-09-22 22:03:44 +00:00
Sil Vilerino
dc523fabef d3d12: Relax slice caps requirements for video encode
The check in d3d12_has_video_encode_support was returning no encode support unless
the driver supported D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME
when it should also return support when the driver reports only full frame support
(ie. D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME)

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18763>
2022-09-22 22:03:44 +00:00
Mike Blumenkrantz
f8b4d40a1e zink: delete some descriptor caching cruft
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
b889b48466 zink: delete more sw conditional render handling
I forgot to delete this when I deleted the draw path handling

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
fc52f82c09 zink: remove batch usage from sampler states
this was useless

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
f6bbd7875a zink: remove batch tracking/usage from view types
instead of incurring all the overhead of tracking lifetimes for these,
it makes more sense to just let them delete whenever and then store
the vk object onto its parent image/buffer to be deleted when that gets
freed, as the parent object's lifetime will always be >= the view's lifetime

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
9f9dd4f2ac zink: split out bind_sampler_states hook for drivers without EXT_non_seamless_cube_map
this incurs some overhead and is seldom used, so avoid having it in the codepath
at all if it won't be used

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
7172fb56d9 zink bump batch state limit a bit
this should yield better throughput

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
83c76b8efb zink: rework batch tracking for resources
this uses a revised version of radeonsi's buffer list array to track
resources for lifetime/usage management, massively improving performance
by avoiding hash table lookups

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
1896111d25 zink: defer more semaphore destruction
these have noticeable overhead, so handle them in the submit thread

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
babf9474c4 zink: rework flush_frontbuffer to always flush
previously this would no-op unacquired swapchains and then try to
execute a copy from the last-presented swapchain image to the current
image to avoid presenting garbage data

instead, just present garbage like the app requested

fixes #7165

Tested-By: Matti Hamalainen <ccr@tnsp.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18730>
2022-09-22 21:14:03 +00:00
Mike Blumenkrantz
758c559bc4 zink: check format compatibility up front when creating framebuffer surface
this avoids an assert in create_ivci while enforcing correct behavior

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18446>
2022-09-22 20:42:04 +00:00
Adam Jackson
4c5dee6c22 egl: Rewrite eglSetBlobCacheFuncsANDROID to use the standard macros
As the deleted comment hints, you just need the macro to expand to

    return /* void */;

for things to work.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
2022-09-22 20:13:58 +00:00
Adam Jackson
eb39198fe2 egl: Factor out the eglTerminate write-lock pattern
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
2022-09-22 20:13:58 +00:00
Adam Jackson
b2ee2de1fb egl: Untangle some spaghetti around _eglLookupDisplay
Only eglapi needs any of this.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
2022-09-22 20:13:58 +00:00
Adam Jackson
1f94f28e8c egl: Promote _eglLock/UnlockDisplay to internal API
This reads a bit more cleanly than egl_lock/egl_unlock I think.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
2022-09-22 20:13:58 +00:00
Adam Jackson
5e407ec524 egl: Fix a bunch of maybe-uninitialized warnings
Fedora's gcc 12 is apparently not smart enough to deduce that these are
always initialized, so set some clear default values.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
2022-09-22 20:13:57 +00:00
Yonggang Luo
51af3f30c6 Update 22.2.0.rst
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
2022-09-22 20:08:20 +00:00
Dylan Baker
7f6ec0f0e3 docs: Add calendar entries for 22.2 release.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
2022-09-22 20:08:20 +00:00
Dylan Baker
b91cf1df5a docs: update calendar and link releases notes for 22.2.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
2022-09-22 20:08:20 +00:00
Dylan Baker
149a7f272c docs: Add sha256 sum for 22.2.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
2022-09-22 20:08:20 +00:00
Dylan Baker
fe61d5cfe1 docs: add release notes for 22.2.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
2022-09-22 20:08:20 +00:00
Yiwei Zhang
373bc6f1d5 venus: ensure to clear VkPipelineCreationFeedback::flags if needed
Fixes: d0cb99e96a ("venus: Enable VK_EXT_pipeline_creation_feedback")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18741>
2022-09-22 19:54:26 +00:00
Emma Anholt
5e39b52e6a turnip: Fix busy-waiting on syncobjs with OS_TIMEOUT_INFINITE.
I noticed that glmark2's glFinish()es in its offscreen rendering tests
under zink were spinning.  When we passed -1 as the timeout for
drmSyncobjWait(), the kernel would immediately return ETIME.

Fixes: 0a82a26a18 ("turnip: Porting to common implementation for timeline semaphore")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18739>
2022-09-22 19:24:00 +00:00
Leo Liu
e2c0eac5bf frontends/va: fix build error for vaSyncBuffer with older VA
return VA_STATUS_ERROR_TIMEDOUT;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~
      |              VA_STATUS_ERROR_UNKNOWN
../src/gallium/frontends/va/buffer.c:434:14: note: each undeclared identifier is reported only once for each function it appears in
../src/gallium/frontends/va/buffer.c:436:22: error: ‘VA_TIMEOUT_INFINITE’ undeclared (first use in this function); did you mean ‘PIPE_TIMEOUT_INFINITE’?
  436 |    if (timeout_ns != VA_TIMEOUT_INFINITE)
      |                      ^~~~~~~~~~~~~~~~~~~
      |                      PIPE_TIMEOUT_INFINITE

Fixes: 229c6f79a ("frontends/va: Implement vaSyncBuffer")

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18760>
2022-09-22 19:13:31 +00:00
Rob Clark
8300554ba1 freedreno: Handle xfb invalidation
So using the same buffer for CPU writes and GPU writes might be kinda
unusual.  But I noticed we were missing handling for the case while
debugging something unrelated.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18732>
2022-09-22 18:24:42 +00:00
Yonggang Luo
3449b2187e lavapipe/meson: rename module_dir to icd_lib_path and swap two lines for consistence
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18747>
2022-09-22 17:54:24 +00:00
Yonggang Luo
c8e14d5d47 dzn: rename module_dir to icd_lib_path for consistence
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18747>
2022-09-22 17:54:24 +00:00
Yonggang Luo
a144f3f80c radv: Getting radeon_icd to be generated properly on win32
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18747>
2022-09-22 17:54:24 +00:00
Tapani Pälli
d68e74955c mesa/st: fix a set_sampler_views call parameter order
Fixes: e7b9561959 ("gallium: implement compute pbo download")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18745>
2022-09-22 17:25:30 +00:00
Rajnesh Kanwal
672a1a9021 pvr: Implement vkCmdNextSubpass API.
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/18707>
2022-09-22 16:54:18 +01:00
Rajnesh Kanwal
154ffdbd45 pvr: Pass load-op struct instead of idx to support subpass load-ops.
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/18707>
2022-09-22 16:54:15 +01:00
Rajnesh Kanwal
f1d61d8161 pvr: Add support to create subpass load ops.
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/18707>
2022-09-22 16:54:10 +01:00
Rajnesh Kanwal
0756a28f2d pvr: Add attachment resolve support.
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/18707>
2022-09-22 16:54:07 +01:00
Rajnesh Kanwal
ce5a34aadb pvr: Add const to structs that are not supposed to be modified.
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/18707>
2022-09-22 16:54:04 +01:00
Rajnesh Kanwal
2fc20cff4c pvr: Rename userpass_spawn to isp_userpass.
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/18707>
2022-09-22 16:54:01 +01:00
Rajnesh Kanwal
f19697de5a pvr: Add missing output register write in pvr_CreateRenderPass2.
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/18707>
2022-09-22 16:53:58 +01:00
Rajnesh Kanwal
7eff950215 pvr: Use ~0 for masks instead of ~0U.
This makes code future proof in case someone changes the type
and also avoids half masks (0x00000000FFFFFFFF) in case of
64bit variables.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reported-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
2022-09-22 16:53:54 +01:00
Rajnesh Kanwal
10b6a0d567 pvr: Add support for generating render pass hw setup data.
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/18707>
2022-09-22 16:53:52 +01:00
Rajnesh Kanwal
b57cd62698 pvr: Replace pvr_renderpass_surface_initop with VkAttachmentLoadOp.
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/18707>
2022-09-22 16:53:48 +01:00
Rajnesh Kanwal
9f9a1ab118 pvr: General reformatting and renaming some fields.
Mainly renaming driver_id and similar fields to index to
better represent what they contain.

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/18707>
2022-09-22 16:53:44 +01:00
Eric Engestrom
88eeece662 docs: update calendar and link releases notes for 22.1.7
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752>
2022-09-22 13:11:08 +00:00
Eric Engestrom
40bfaa7354 docs: add release notes for 22.1.7
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752>
2022-09-22 13:11:08 +00:00
Eric Engestrom
c3df3baf8b docs: update calendar and link releases notes for 22.1.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752>
2022-09-22 13:11:08 +00:00