Matt Coster
3068f046bc
pvr: Check depth/stencil attachment is tile-aligned
...
The hardware requires depth/stencil attachments to be size-aligned to
the zls tile size (as defined by rogue_get_zls_tile_size_xy()).
In practice however, this is a tiny edge case. The restriction only
applies during some operations, and any attachment larger than the tile
size will be twiddled and over-allocated into alignment beforehand.
This commit also adds the mentioned rogue_get_zls_tile_size_xy()
function. These values differ from the regular tile_size_{x,y} feature
values in some cases. Instead of including them as features as well, we
compute them directly.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20160 >
2022-12-08 14:53:13 +00:00
Sarah Walker
2673d0f8b2
pvr: Query kernel for free list max size
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19976 >
2022-11-29 10:10:16 +00:00
Matt Coster
f9a234ef04
pvr: debug: Add "cs" debug option to dump control stream on job submit
...
With PVR_DEBUG=cs, the control stream will be dumped to stderr
immediately prior to every render or compute job submission.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18948 >
2022-11-25 16:42:55 +00:00
Matt Coster
947e183ff5
pvr: Implement new firmware stream interface
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-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/19530 >
2022-11-11 11:34:17 +00: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
0265a23172
pvr: Implement vkGetPhysicalDeviceImageFormatProperties2 API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18487 >
2022-09-13 11:47:37 +00:00
Karmjit Mahil
4eb0991a6f
pvr: Add clear program in pvr_device.
...
It gets used to flush fragment work for a graphics pipeline
barrier.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18124 >
2022-09-12 10:32:19 +01:00
Karmjit Mahil
1a250eeae3
pvr: Fix calculation in rogue_max_compute_shared_registers().
...
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/18224 >
2022-08-25 06:51:53 +00:00
Frank Binns
e3b7fad356
pvr: get free list min size from the runtime info
...
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/17850 >
2022-08-04 10:55:50 +00:00
Karmjit Mahil
b92c40d40a
pvr: Add IDF/WDF program for compute pipeline barrier.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17683 >
2022-07-29 11:37:05 +00:00
Sarah Walker
f286cab27b
pvr: Move BRN 44079, 48492 and 66011 code into pvrsrvkm specific directory
...
The new kernel mode driver will provide the relevant information directly to
userspace, so this code is only required for pvrsrvkm.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17595 >
2022-07-27 10:13:19 +00:00
Matt Coster
20350a73a7
pvr: Add helper macros for creating pvr_dev_addr_t instances
...
The two macros introduced here form a (hopefully) unobjectionable
subset of those added in !17203 .
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17488 >
2022-07-15 10:39:21 +01:00
Matt Coster
282f0a9330
pvr: Split pvr_dev_addr_t into a separate header
...
This type is useful beyond the scope of winsys.
It can now be used without being lumbered with a dependency on
pvr_winsys.h. Since pvr_winsys.h is used by pvr_private.h, this can be
a common cause for circular dependencies during development.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17488 >
2022-07-15 10:39:21 +01:00
Matt Coster
7c615b4103
pvr: csbgen: Add *_unpack() functions for all generated struct types
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Erik Faye-Lund
3b6ceea3e6
pvr: do not use fallthrough for unreachable code
...
unreachable() doesn't lead to executing the code that follows it,
neither in debug nor release builds. So falling through doesn't make any
sense.
This fixes a compile-error on clang.
Let's move the default-block to the end to make it clearer that there's
no intended fallthrough.
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15531 >
2022-03-24 11:25:45 +00:00
Frank Binns
8991e64641
pvr: Add a Vulkan driver for Imagination Technologies PowerVR Rogue GPUs
...
Co-authored-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Co-authored-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Co-authored-by: Simon Perretta <simon.perretta@imgtec.com >
Co-authored-by: Alexander Wasey <Alexander.Wasey@imgtec.com >
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Signed-off-by: Alexander Wasey <Alexander.Wasey@imgtec.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15243 >
2022-03-22 15:04:55 +00:00