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
661440717a
pvr: Fix cdm shared reg usage reported to fw.
...
For context switching we need to keep track of the max shared regs
used and report that to the fw.
Reported-by: Rajnesh Kanwal rajnesh.kanwal@imgtec.com
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:06 +00:00
Karmjit Mahil
e1a0432dd2
pvr: Add compute pipeline barrier handling.
...
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:06 +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
Karmjit Mahil
6d672e0336
pvr: Add initial vkCmdPipelineBarrier skeleton.
...
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
Karmjit Mahil
c70924b20e
pvr: Add static consts to hard coding infra.
...
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/17681 >
2022-07-29 11:21:08 +01:00
Karmjit Mahil
a278f7d21e
pvr: Add static consts support in descriptor pds program.
...
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/17681 >
2022-07-29 11:21:04 +01:00
Karmjit Mahil
a4830eec53
pvr: Rename uniform pds program to descriptor pds program.
...
The program will handle more than just DMAing uniforms so renaming
it. E.g. it will handle push constants and compile time static
constants.
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/17681 >
2022-07-29 11:20:53 +01: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
Rajnesh Kanwal
e13a450bf2
pvr: Add support for input attachment descriptor.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
b562d29196
pvr: Add support for storage and uniform texel descriptor.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
08c867972f
pvr: Add support for image descriptor.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
ecfea72c73
pvr: Add support for combined image and sampler descriptor.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
290b9a953a
pvr: Add support for sampler descriptor.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
1bf883a8ae
pvr: Move binding related checks in common code.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
f044676dbb
pvr: Implement vkCreateBufferView and vkDestroyBufferView.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
8ef42c25a6
pvr: Use common vk_buffer implementation.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
405a407d42
pvr: Init and store default sampler in pvr_device.
...
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/17719 >
2022-07-25 11:57:48 +01:00
Konstantin Seurer
7c79399597
pvr: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Jason Ekstrand
b510ee0d22
Use vk_foreach_struct_const where needed
...
We're about to make it so that the compiler warns/errors if you use the
wrong iterator macro. Fix up a bunch of places where someone used the
wrong one before we break anything.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17630 >
2022-07-19 19:55:17 +00:00
Konstantin Seurer
fc26fbde3d
vulkan: Common vk_format_get_component_bits
...
RADV and PowerVR use the same implementation.
Turnip does use a slightly modified version but the helper only has one
use -> just inline it and get rid of turnip's vk_format.h.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17515 >
2022-07-18 22:14:06 +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
Karmjit Mahil
f2e2e66e42
pvr: Update pvrsrv build version for fixed size fw.
...
It's still 1.17 but the version is changed due to the fixed size
fw struct update.
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/17491 >
2022-07-15 00:52:14 +00:00
Matt Coster
6165701b2e
pvr: Implicitly assert that the correct sub-command type is present
...
Now that we have separate C types for the different sub-command types,
we can require a pointer to that type to be passed into functions
which expect the current sub-command to be of a specific type.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17458 >
2022-07-13 12:30:10 +01:00
Matt Coster
b9d6ed445d
pvr: Split out unioned structs from struct pvr_sub_cmd
...
This is a simple optimization to make type-specific uses of struct
pvr_sub_cmd slightly less verbose.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17458 >
2022-07-13 12:28:05 +01:00
Rajnesh Kanwal
1df16b5f22
pvr: Implement vkCmdDraw 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/17487 >
2022-07-13 10:35:10 +00:00
Eric Engestrom
9554462f4d
pvr: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Matt Coster
27c57b8650
pvr: Make pvr_cmd_pack() macro clearly internal
...
Add a double-underscore prefix to mark this macro as internal-only. It
should not be used directly, and only exists as a helper for the
pvr_csb_*() macros.
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/17359 >
2022-07-11 11:57:23 +00:00
Matt Coster
4084162ccb
pvr: Remove pvr_cmd_struct() macro
...
Motivated by comments on !17252 ; this macro adds nothing of value over
just using PVRX() directly.
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/17359 >
2022-07-11 11:57:23 +00:00
Matt Coster
3cc207bc03
pvr: Add a const qualifier to inline pvr_csb_*() helpers
...
These do not modify the input struct pvr_csb at all, so the function
signature should reflect this.
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/17360 >
2022-07-11 10:57:46 +00:00
Karmjit Mahil
bb93ecacd7
pvr: Rename loop iterator variable.
...
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/17206 >
2022-06-24 09:15:53 +00:00
Karmjit Mahil
6e6e1e8406
pvr: Fix off by 1 error in buffer_id for ubo pds program.
...
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/17206 >
2022-06-24 09:15:53 +00:00
Karmjit Mahil
4240c83960
pvr: Handle vdm degen_cull_enable.
...
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/17206 >
2022-06-24 09:15:53 +00:00
Karmjit Mahil
7858c32550
pvr: Fix physical device limits.
...
This commit changes to the physical device limits which were
missed during the 1.17 transition.
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/17206 >
2022-06-24 09:15:53 +00:00
Sarah Walker
ee491967c3
pvr: Update for firmware 1.17@6256262
...
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/17139 >
2022-06-21 15:09:10 +00:00
Karmjit Mahil
fad7e858f2
pvr: Extend hard coding infra to allow per stage per device coding.
...
This commit extends the graphics hard coding infrastructure to
allow the independent hard coding of stages, i.e. hard code fragment
stage and vertex stage separately instead of having to hard code
everything.
It also extends the infrastructure to allow per device hard coding.
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/17106 >
2022-06-20 16:59:01 +00:00
Karmjit Mahil
c6933cc9de
pvr: Enable 33.15.11.3 (AXE-1-16M).
...
This commit adds 33.15.11.3 in the supported BVNCs and addresses
differences in the descriptor limits between devices so that the
physical device limit is accurate.
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/17106 >
2022-06-20 16:59:01 +00:00
Frank Binns
62cc9bba06
pvr: Add TI AM62 as a supported device.
...
The AM62 platform contains an IMG AXE-1-16M GPU.
Co-Authored-By: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
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/17106 >
2022-06-20 16:59:01 +00:00
Karmjit Mahil
7c25c6f04e
pvr: Add graphics pipeline hard coding infrastructure.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16999 >
2022-06-20 08:13:11 +00:00
Karmjit Mahil
e47350a245
pvr: Remove unused output_selects from vertex shader state.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16999 >
2022-06-20 08:13:11 +00:00
Karmjit Mahil
66f4c9abc9
pvr: Change compute hard coding infrastructure.
...
This commit changes the way in which the hard coding is done in
the compute pipeline to allow easier hard coding for demos other
than the simple-compute demo.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16999 >
2022-06-20 08:13:11 +00:00
Jason Ekstrand
12920b227f
pvr: Use the common AcquireNextImage implementation
...
The only reason for the wrapper was so that we could dummy signal the
semaphore and fence. Now that the WSI code always dos this for us, we
can drop our wrapper.
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Matt Coster
0fbcaa4b3a
pvr: debug: Implement PVR_DEBUG variable
...
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/16907 >
2022-06-08 10:51:37 +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
Karmjit Mahil
721fb18a38
pvr: Fix incorrect samples to cr_isp_aa_mode conversion.
...
This commit fixes the use of 'case 3' where 'case 4' should have
been.
Reported-by: Matt Coster <matt.coster@imgtec.com >
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/16883 >
2022-06-08 08:35:44 +00:00
Karmjit Mahil
61db3154b4
pvr: Write immutable descriptor words in vkAllocateDescriptorSets().
...
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/16883 >
2022-06-08 08:35:44 +00:00
Karmjit Mahil
81077a4c7d
pvr: Add csb enum helper funciton header.
...
A new header is introduced which groups all vk, uint, rogue types
to csb enum type conversions.
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/16883 >
2022-06-08 08:35:44 +00:00
Rajnesh Kanwal
4dd5f03edc
pvr: Remove clang-format off comment from vk_format.h
...
This enables clang formatting for vk_format.h. This was disabled
as we were using tabs for indentation and vk_format.h uses three
spaces for indentation.
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/16897 >
2022-06-07 14:55:11 +01:00
Rajnesh Kanwal
9acb8ba3db
pvr: Move transfer logic to pvr_job_transfer.[ch]
...
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/16897 >
2022-06-07 14:55:11 +01:00