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
Frank Binns
49ed1e55d8
pvr: fix clang-format issue
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22056 >
2023-03-22 03:58:19 +00:00
Jarred Davies
220356e083
pvr: Add initial support for VK_FORMAT_S8_UINT
...
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/21594 >
2023-03-20 14:47:34 +00:00
Jarred Davies
317a3fe49b
pvr: Select a single aspect format for the texture state of DS image views
...
This change also means the texture state words will be based off of the
image view's format instead of the image's format.
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/21594 >
2023-03-20 14:47:34 +00:00
Jarred Davies
26671b5d63
pvr: Add support for multiple emits from EOT program
...
Co-authored-by: Simon Perretta <simon.perretta@imgtec.com >
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596 >
2023-03-20 14:35:19 +00:00
Jarred Davies
4162c37d57
pvr: Generate dummy emit for renders without any emits
...
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596 >
2023-03-20 14:35:19 +00:00
Jarred Davies
de5258ae2b
pvr: Generate EOT program at runtime
...
Also removes hardcoded EOT program.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596 >
2023-03-20 14:35:19 +00:00
Jarred Davies
1115a29025
pvr: Fix segfaults when pDepthStencilAttachment is NULL
...
depth_stencil_attachment has been changed from a pointer to the attachment idx
to just the attachment idx, as this avoids the driver having to check for NULL
when comparing attachments indexes with depth_stencil_attachment.
Anyplace that relies on depth_stencil_attachment being a valid index must
already check that depth_stencil_attachment is not VK_ATTACHMENT_UNUSED, so
this change avoids having to check both the pointer and the index for the same
information.
Noticed when running 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/21690 >
2023-03-14 19:27:27 +00:00
Karmjit Mahil
9905322df9
pvr: Advertise STORAGE_IMAGE_BIT for B10G11R11_UFLOAT_PACK32
...
For optimalTilingFeatures we should be advertising
STORAGE_IMAGE_BIT for B10G11R11_UFLOAT_PACK32 too.
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/21649 >
2023-03-02 16:33:53 +00:00
Karmjit Mahil
225ae96357
pvr: Don't advertise currently unsupported features
...
This commit removes the advertising of features that are currently
unsupported by the driver and aren't strictly necessary for
Vulkan 1.0.
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/21649 >
2023-03-02 16:33:53 +00:00
Karmjit Mahil
1dfd535124
pvr: Setup SPM background object
...
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/21575 >
2023-03-01 17:10:53 +00:00
Jarred Davies
67904a36a6
pvr: Don't update fragment signal sync when fragment stage is disabled
...
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21577 >
2023-02-28 21:39:49 +00:00
Jarred Davies
4af1cf89ab
pvr: Clear wait syncs after job submission
...
Avoids the fw having to process redundant waits.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21577 >
2023-02-28 21:39:49 +00:00
Jarred Davies
18fb8d3b55
pvr: Enable threaded submit when supported
...
Adds a winsys feature flag to enable threaded submit.
Currently pvrsrvkm can't support threaded submit as pvrsrvkm syncs don't
support VK_SYNC_FEATURE_WAIT_PENDING.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21577 >
2023-02-28 21:39:49 +00:00
Jarred Davies
5be2e44095
pvr: Add support for VK_KHR_timeline_semaphore
...
pvrsrvkm will run with VK_DEVICE_TIMELINE_MODE_EMULATED and
powervr will run with VK_DEVICE_TIMELINE_MODE_ASSISTED.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21577 >
2023-02-28 21:39:49 +00:00
Jarred Davies
80f864cd23
pvr: Use common queue submit implementation
...
A simplification of the synchronization code is also undertaken as part
of this commit to account for the implicit guarantee the FW gives the driver
that jobs submitted to the same context will be run in submission order.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21577 >
2023-02-28 21:39:49 +00:00
Frank Binns
b1c19498c6
pvr: replace nop binary shader with run-time compiled shader
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21536 >
2023-02-28 12:25:18 +00:00
Frank Binns
12f0daddfc
pvr: initialise size for placeholder "zeroed" shaders
...
Fixes an assert() in pvr_gpu_upload_usc().
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/21537 >
2023-02-28 10:59:13 +00:00
Mike Blumenkrantz
7c8a5f6e37
vulkan/wsi: switch to using an options struct for last param
...
this makes adding values easier since the drivers won't need to be updated
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21447 >
2023-02-27 13:21:21 +00:00
Frank Binns
964323fe97
pvr: remove duplicate define
...
The same define appears a few lines above.
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/21495 >
2023-02-25 22:58:25 +00:00
Frank Binns
cbfa4d52ed
pvr: stop restricting the compiler to the Sascha Willems triangle demo
...
Do this by removing the compatibility table and only using hard coded shaders
when present. The hard coded shaders, along with the hard coding framework
itself, can be dropped once the compiler is capable of compiling the hard coded
shaders. In the meantime we don't want to risk regressing things that we know
work because we temporarily can't test them.
This restriction is being dropped now as the new compiler framework has been
merged and we want to make use of it so it can be developed further.
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/21495 >
2023-02-25 22:58:25 +00:00
Karmjit Mahil
9e2572903b
pvr: Remove component_alignment
...
We don't support output register subdivision so no need to keep
track of how many bytes have been allocated within the output regs.
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/21386 >
2023-02-24 14:36:36 +00:00
Karmjit Mahil
0244719a12
pvr: Remove unused msaa_mode 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/21386 >
2023-02-24 14:36:36 +00:00
Karmjit Mahil
ca04882117
pvr: Setup SPM EOT state
...
On entering SPM we need to store the tile data for the current
render into the scratch buffer so we need to setup an EOT program
to do so.
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/21386 >
2023-02-24 14:36:36 +00:00
Karmjit Mahil
f59c6eef16
pvr: Move PBE START_POS into csb enum helpers header
...
This commit adds 'pvr_pbestate_source_pos()' and moves
`enum pvr_pbe_source_start_pos` into pvr_csb_enum_helpers.h .
The enum will be needed in other files in the commits following.
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/21386 >
2023-02-24 14:36:36 +00:00
Karmjit Mahil
806f146eea
pvr: Add support for blend constants.
...
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/21388 >
2023-02-24 13:59:01 +00:00
Simon Perretta
b4ab54976b
pvr: Add encodings for index registers
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
6122dd5488
pvr: Amend definitions for ST and IDF
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
66500c28d2
pvr: Add late op lowering pass and conditional execution
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
8719f7cb8d
pvr: Add support for MOVC
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
c38c119617
pvr: Add basic support for manual instruction grouping
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
b642e77cdd
pvr: Add support for TST
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
de64dfe940
pvr: Add branch support
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
b1064e91f1
pvr: Add support for ST
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
c4b7128d84
pvr: Add support for IDF
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
73d07bbb52
pvr: Add support for generating NOP program
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
4ddcda8369
pvr: Add support for generating per-job EOT program
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
88e42e18d9
pvr: Fix descriptor set address calculation
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
5287edd6d2
pvr: Register allocation improvements
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
eb65c4be88
pvr: Add support for WOP
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
432fea181d
pvr: Add support for emitpix
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
bdbd69edb8
pvr: Add support for validating modifier combos
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
8ef839374e
pvr: Add support for sample instructions
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
1c11f1afbd
pvr: Add support for fitr.pixel
...
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/21474 >
2023-02-24 11:29:48 +00:00
Simon Perretta
0ce53b002f
pvr: Amend subarray ownership code
...
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/21474 >
2023-02-24 11:29:48 +00:00