Karmjit Mahil
c91fa697e9
pvr: Add handling for missing entries in pvr_setup_vertex_buffers()
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21589 >
2023-04-19 13:22:20 +00:00
Karmjit Mahil
f0659728e4
pvr: Fix typo in PDS function name
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21589 >
2023-04-19 13:22:20 +00:00
Daniel Schürmann
b288ec803c
radv/rt: fix total stack size computation
...
Fixes: 2649a1f272 ('radv/rt: introduce and set rt_pipeline->stack_size ')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22526 >
2023-04-19 12:26:53 +00:00
Simon Perretta
efc629389a
pvr: Use driver vertex input data in the compiler
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21588 >
2023-04-19 12:08:31 +00:00
Karmjit Mahil
361f58f0ee
pvr: Fix a comment in the PDS code
...
The comment was incorrectly showing which DDMAD param corresponed
to which DDMAD field.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21588 >
2023-04-19 12:08:31 +00:00
Karmjit Mahil
ddda8b88c6
pvr: Collect vertex input data and fill info struct.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21588 >
2023-04-19 12:08:31 +00:00
Karmjit Mahil
da0739b4e4
pvr: Finish pvr_perform_start_of_render_attachment_clear().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:07 +00:00
Karmjit Mahil
95820584d0
pvr: Add deferred RTA clears for cores without gs_rta_support.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:07 +00:00
Sarah Walker
060c3db4ef
pvr: Complete pvr_generate_custom_mapping()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:07 +00:00
Sarah Walker
9930cafbf2
pvr: Support multiple sources per pass in TQ job submission
...
This is required to implement a number of workarounds.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:07 +00:00
Sarah Walker
f7ff71aec9
pvr: Complete pvr_3d_validate_addr()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
71fe789d35
pvr: Support ipf_creq_pf in pvr_isp_ctrl_stream()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
86ad868142
pvr: Implement pvr_reroute_to_clip()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
35d2b51c11
pvr: Implement pvr_isp_scan_direction()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
8bcc40ed22
pvr: Complete pvr_double_stride()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
9cfe3b5283
pvr: Complete pvr_unwind_rects()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
8a0a357b65
pvr: Complete pvr_modify_command()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
240bac1e85
pvr: Implement pvr_pbe_setup_modify_defaults()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Matt Coster
0a8334e054
pvr: Complete pvr_isp_ctrl_stream()
...
This also adds pvr_pbe_src_format_ds(), the equivalent to
pvr_pbe_src_format_normal() for depth/stencil formats.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
5ac3c8d0df
pvr: Support single core transfer queue commands on multicore GPUs
...
Co-authored-by: Matt Coster <matt.coster@imgtec.com >
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Karmjit Mahil
c3e7060ba1
pvr: Implement simple internal format v2 transfer paths.
...
This commit fixes the triangle demo on the AM62 by implementing
the paths that were left unimplemented due to the Chromebook not
having the simple internal format v2 feature.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
838132c0a9
pvr: Implement vkCmdClearDepthStencilImage API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
c468cf29a8
pvr: Implement vkCmdResolveImage2KHR API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
de9c53e3bb
pvr: Implement vkCmdFillBuffer API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
ed243eca90
pvr: Implement vkCmdCopyImageToBuffer2 API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
29e120c092
pvr: Implement vkCmdClearColorImage API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
5827f0098c
pvr: Implement vkCmdBlitImage API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
4c31121329
pvr: Implement vkCmdCopyImage2KHR API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
dc260f6fc3
pvr: Implement vkCmdCopyBufferToImage API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Karmjit Mahil
96b6b69d8a
pvr: Implement vkCmdUpdateBuffer().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Rajnesh Kanwal
480bdff4b5
pvr: Add support to process transfer and blit cmds
...
Co-authored-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Co-authored-by: Matt Coster <matt.coster@imgtec.com >
Co-authored-by: Sarah Walker <sarah.walker@imgtec.com >
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Frank Binns
1cdd0ccb37
pvr: replace transfer EOT binary shaders with run-time compiled shaders
...
Take the opportunity to tweak the naming of pvr_transfer_ctx_setup_shaders and
pvr_transfer_ctx_fini_shaders to make them fit in with the rest of the naming in
the driver.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Simon Perretta
11dea16dee
pvr: Add support for generating transfer EOT programs
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Simon Perretta
f0b47cfd65
pvr: Add support for generating transfer fragment programs
...
Co-authored-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Co-authored-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Simon Perretta
eeac8336ef
pvr: Use movc for reading special registers
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Simon Perretta
e8cd78b319
pvr: Amend validation when checking multiple supported types
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Karmjit Mahil
4dc86e1148
pvr: Add missing includes in pvr_common.h
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Frank Binns
6b27b76432
pvr: use util_dynarray_begin() in more places
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Frank Binns
16a1752d34
pvr: add missing explicit check against VK_SUCCESS
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Viktoriia Palianytsia
c4e8b1cddb
iris,crocus: Add proper way of assigning num_levels value
...
Changes miptree_level_range_length function
to use correct macro and
num_levels value assignment.
Closes : mesa/mesa#8256
Signed-off-by: Viktoriia Palianytsia <v.palianytsia@globallogic.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22067 >
2023-04-19 10:25:55 +00:00
Timur Kristóf
acce5c3fe1
radv: Enable IB2 workaround on all indirect draws.
...
IB2 packets hang GFX6 when they contain any indirect draws,
not just the MULTI versions.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22533 >
2023-04-19 09:27:52 +00:00
Timur Kristóf
46a14390d8
radv: Remove IB2 workaround from mesh shader draws.
...
The GPUs which need the workaround do not support mesh shaders.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22533 >
2023-04-19 09:27:52 +00:00
Timur Kristóf
d16d9ef345
radv: Simplify IB2 workaround.
...
Move compute IB2 check to the winsys, because IB2 only works on
GFX queues and not any other queue types.
Then, simplify the workaround condition in the cmd buffer.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22533 >
2023-04-19 09:27:52 +00:00
Qiang Yu
fbe7aec446
aco: skip scratch buffer init when its arg is not used
...
radeonsi does not pass scratch buffer address by arg,
but dynamical relocation symbol when upload. Just skip
this part to enable radeonsi use aco, but it will fail
when spill.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22525 >
2023-04-19 08:39:46 +00:00
Qiang Yu
9cd3aa173a
aco: implement nir_bindless_image_atomic_inc/dec_wrap
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22525 >
2023-04-19 08:39:46 +00:00
Qiang Yu
b54f07870e
nir: add missing image atomic_inc/dec_wrap intrinsic
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22525 >
2023-04-19 08:39:46 +00:00
Qiang Yu
31bfad83ec
aco: support 32bit address in nir_load_smem_amd
...
radeonsi uses 32bit address.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22525 >
2023-04-19 08:39:46 +00:00
Qiang Yu
3ff9153a3b
ac,radv: move ps arg compation to common place
...
To be shared with radeonsi when aco is used.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22525 >
2023-04-19 08:39:46 +00:00
Ryan Neph
48062f91c7
virgl: add debug flag to force synchronous GL shader compilation
...
This does two things:
1. Flush the command buffer and associate a fence with each
glLinkProgram().
2. Force the application calling glLinkProgram() to wait on the
associated fence, matching the semantics of native drivers.
This important for some workloads and some environments. For example, on
ChromeOS devices supporting VM-based android (ARCVM), an app's HWUI thread
may be configured to use skiagl, while the app may create its own GLES
context for custom rendering. Virgl+virtio_gpu supports a single fencing
timeline, so all guest GL/GLES contexts are serialized by submission
order to the guest kernel.
If the app's submits multiple heavy shaders for compliation+linking
(glCompileShader + glLinkProgram()), these are batched into a single
virtgpu execbuffer (with one fence). Then rendering performed by the
HWUI thread is blocked until the unrelated heavy host-side work is
finished. To the user, the app appears completely frozen until finished.
With this change, the app is throttled in its calls to glLinkProgram(),
and the HWUI work can fill in the gaps between each while hitting most
display update deadlines. To the user, the UI may render at reduced
framerate, but remains mostly responsive to interaction.
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22341 >
2023-04-19 06:35:35 +00:00
Lionel Landwerlin
2e2491b76c
anv: enable shaderStorageImageReadWithoutFormat on Gfx12.5+
...
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/22552 >
2023-04-19 06:04:52 +00:00