David Heidelberg
7508f4b4b6
pvr: drop unused variable
...
Fixes: 71fe789d35 ("pvr: Support ipf_creq_pf in pvr_isp_ctrl_stream()")
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22709 >
2023-04-27 12:45:52 +00:00
Karmjit Mahil
cfd525d097
pvr: Add PVR_DW_TO_BYTES()
...
We use dwords (32 bit) quite a bit around the code base. Previously
we used '* 4', '<< 2', or '* sizeof(uint32_t)' to go from dwords to
bytes. The conversion isn't always clear when other operations
happen in the same line, which can leave one wondering where the
multiplication came from.
PVR_DW_TO_BYTES() should make the code more obvious as well as
making the conversion more consistent.
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/22658 >
2023-04-25 12:55:43 +00:00
Frank Binns
2d6527c9f1
pvr: fix typo in pvr_rt_get_region_headers_stride_size()
...
This function was returning the size of a single region header as the stride
when it was supposed to be returning the total size of the region headers for a
single render target. This went unnoticed due to the fact this function had two
variables with basically identical names. To avoid any future confusion, rename
rgn_header_size to single_rgn_header_size throughout the code.
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22574 >
2023-04-20 13:17:01 +00:00
Karmjit Mahil
957009978e
pvr: Handle special built-in variable loading in vertex shader
...
For now always allocate space for the special built-in variables
that need filling in for the vertex shader. Ideally we should get
the compiler to analyze the shader and tell the driver if they are
used so that we don't reserve and fill them needlessly.
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/21590 >
2023-04-19 17:26:22 +00:00
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
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
Eric Engestrom
2f9520a5d0
pvr: fix buggy usage of unreachable()
...
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22529 >
2023-04-18 13:59:54 +00:00
Alyssa Rosenzweig
672a06a1b6
pvr: Use vk_features2_to_features
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22217 >
2023-04-07 18:16:40 -04:00
Jarred Davies
d1b5b2901f
pvr: Mark all normalized formats as supporting with_packed_usc_channel
...
Avoids assert seen in dEQP-VK.api.smoke.triangle
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22174 >
2023-03-29 13:00:37 +00:00
Luigi Santivetti
71fd9c2be0
pvr: fix segfault in dEQP-VK.ycbcr.query.*
...
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22061 >
2023-03-29 00:17:40 +00:00
Jarred Davies
bc6f95c53e
pvr: Add robustness buffer support
...
The robustness buffer is used when no vertex attribute can be loaded and
robustBufferAccess is enabled.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21579 >
2023-03-27 18:36:32 +00:00
Jarred Davies
5fdfcc9913
pvr: Rename pvr_xgl_pds.c to pvr_pipeline_pds.c
...
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21579 >
2023-03-27 18:36:32 +00:00
Jarred Davies
bb8d47b09b
pvr: Always mark robustBufferAccess as supported
...
As per the Vulkan spec, this is a required feature for graphics implementations.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21579 >
2023-03-27 18:36:32 +00:00
Jarred Davies
a7b34ad8f2
pvr: Don't allocate/upload 0 size coeff programs
...
Fixes assert seen in dEQP-Vk.api.smoke.triangle
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22051 >
2023-03-22 04:15:57 +00:00