Lionel Landwerlin
4bd864c487
anv: handle new VkBufferViewUsageCreateInfoKHR
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24387 >
2023-08-31 16:02:52 +03:00
Chris Spencer
280281f8f7
anv/android: Add support for AHARDWAREBUFFER_FORMAT_YV12
...
The default MediaCodec software video decoder returns frames in this
format.
Signed-off-by: Chris Spencer <spencercw@gmail.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24388 >
2023-08-23 09:56:03 +00:00
Chris Spencer
35fddccf3f
anv/android: Fix importing hardware buffers with planar formats
...
Currently, we try to fetch the color aspect of the format and convert that
to an ISL format, which is then used to convert the pixel stride to bytes.
This does not work with planar formats because they don't have a color
aspect, and the planes can be of different sizes anyway, so may not have
the same byte stride. Change to calculate the stride individually for each
plane.
Signed-off-by: Chris Spencer <spencercw@gmail.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24388 >
2023-08-23 09:56:03 +00:00
Sagar Ghuge
20db03d32f
anv,hasvk: drop unnecessary DEBUG_NO_CCS/NO_HIZ checks
...
Now isl_surf_supports_ccs helper handles DEBUG_NO_CCS check and
isl_surf_get_hiz_surf handles DEBUG_NO_HIZ, so we don't
need to check it everywhere.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24731 >
2023-08-17 23:49:34 +00:00
Faith Ekstrand
b9870275b1
anv: Disable CCS_E for ISL_FORMAT_YCRCB_*
...
We're about to start using YCRCB_NORMAL and YCRCB_SWAPUV for 8-bit
interleaved YCbCr and, while ISL claims CCS_E support, it's not well
tested and we don't think it's working yet for all of ANV's use-cases.
Disable it for now in ANV and only for YUV formats.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24619 >
2023-08-14 23:44:19 +00:00
Lionel Landwerlin
c87d5c67d9
anv: implement VK_EXT_pipeline_robustness
...
v2:
- Use vk_pipeline_robustness_state
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17545 >
2023-08-09 09:03:45 +03:00
Lionel Landwerlin
f5074adeb5
anv: enable INTEL_DEBUG=nofc
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24510 >
2023-08-07 12:02:57 +03:00
Felix DeGrood
6e7718dcea
anv: debug messaging for sparse texture usage
...
Enable sparse debug messages with INTEL_DEBUG=sparse
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24046 >
2023-08-03 19:57:19 +00:00
Faith Ekstrand
1d6d775ffe
anv: Use vk_buffer_view
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24409 >
2023-08-01 19:17:05 +00:00
Hyunjun Ko
e3ecba3266
anv: use ycbcr_info for P010 format
...
Since !24096 landed, we can just use ycbcr_info to get information
of an image of the P010 format.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24265 >
2023-07-21 06:15:30 +00:00
Nanley Chery
d9bdffa708
intel: Describe modifier compression with booleans
...
Replace the aux_usage field with two booleans: one for render
compression and one for media compression.
This more accurately describes how CCS_E is used on gfx12. On those
platforms, the FCV feature may be enabled or disabled, but ISL's
modifier table has been using the FCV aux-usage for every gfx12 render
compression modifier. Instead, set the newly-added render compression
boolean to true.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24120 >
2023-07-20 20:53:27 +00:00
Nanley Chery
569f80f2df
anv: Reduce accesses of isl_mod_info->aux_usage
...
This field will be replaced in an upcoming patch.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24120 >
2023-07-20 20:53:26 +00:00
Nanley Chery
f2dab434d8
anv: Handle explicit surface layout of DG2_RC_CCS
...
We're going to enable the DG2 modifier. Account for the reduced plane
count that exists with it.
Also add an assert to make it clearer that the aux in use is CCS.
Otherwise, it may not be obvious because of the generic compression
names being used here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24120 >
2023-07-20 20:53:26 +00:00
Lionel Landwerlin
0e728ea7b0
anv: avoid private buffer allocations in vkGetDeviceImageMemoryRequirementsKHR
...
The whole point of vkGetDeviceImageMemoryRequirementsKHR is to avoid
creating an image so we should completely avoid any allocation like
the private binding.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 4075dd16ab
("anv: implement vkGetDeviceImageMemoryRequirementsKHR")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23720 >
2023-06-19 18:35:30 +03:00
Yiwei Zhang
c8d8961f33
anv: avoid requiring ordered memory planes for explicit import
...
The spec does not have such requirement, but anv requires it for
validating the offset. However, for DRM_FORMAT_YVU420, chroma channels
can be swapped upon import to match B/R channel order of
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM.
This fixes some sw codec path in Instagram when interop with gpu.
v2: fix image memory requirement for re-ordered explicit import
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net > (v1)
Reviewed-by: Matt Tuner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23643 >
2023-06-15 17:53:10 +00:00
Nanley Chery
0c204277e7
intel: Rename the GFX12_CCS_E aux-usage to FCV_CCS_E
...
Rename the isl_aux_usage enum to clarify that it is optional on gfx125.
The new name comes from the Alchemist docs, where the feature is
referred to as "Fast Clear Optimization (FCV)".
The rename was done with this command:
git grep -l "GFX12_CCS_E" | xargs sed -ie "s/GFX12_CCS_E/FCV_CCS_E/g"
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23220 >
2023-06-07 23:39:39 +00:00
Mark Janes
d0669f3ede
intel/dev: switch defect identifiers to use lineage numbers
...
Update existing workarounds when necessary to match changed
identifiers.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23226 >
2023-05-30 22:13:41 +00:00
Lionel Landwerlin
25c1f325d0
anv: remove unused functions
...
I thought I removed those, it seems my rebase got screwed up :(
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 64f20cec28
("anv: prepare image/buffer views for non indirect descriptors")
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23317 >
2023-05-30 15:14:49 +00:00
Lionel Landwerlin
64f20cec28
anv: prepare image/buffer views for non indirect descriptors
...
When in direct descriptor mode, the descriptor pool buffers will hold
surface states directly. We won't allocate surface states in image &
buffer views.
Instead views will hold a packed RENDER_SURFACE_STATE ready to copied
into the descriptor buffers.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645 >
2023-05-30 06:36:38 +00:00
Rohan Garg
8a33a1390a
anv: limit non zero fast clear check to GFX12_CCS_E
...
TGL C0 and above can fast clear to non zero values
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22076 >
2023-05-29 16:48:47 +00:00
Rohan Garg
3debf2af0c
anv: set aux usage to GFX12_CCS_E if a platform needs WA 14010672564
...
Account for the aux usage in various places now that we set the aux
usage correctly.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22076 >
2023-05-29 16:48:47 +00:00
Hyunjun Ko
ad02e21ad2
anv/image: get width/height for each plane of a surface for video decoding.
...
This is especially for p010 format, which isn't supported for YCbCr
conversion yet.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202 >
2023-05-19 06:15:02 +00:00
Hyunjun Ko
91235092ab
anv/image: allow VK_IMAGE_CREATE_ALIAS_BIT with a private binding.
...
when the image is for video decoding.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202 >
2023-05-19 06:15:01 +00:00
Hyunjun Ko
23c338af5d
anv/image: allocate mv storage buffers for h265
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202 >
2023-05-19 06:15:01 +00:00
Hyunjun Ko
b4b31828e0
anv/image: Add a surface usage bit for video decoding
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22202 >
2023-05-19 06:15:01 +00:00
Lionel Landwerlin
1a89b1a301
anv: mark images compressed for untracked layout/access
...
Most of the compressed writes are tracked by the driver, for
instances :
- blorp writes
- render target writes
But we don't have any tracking for storage images (which have gained
compression support on DG2+). So inspect the layout transition and
when we see a layout/access that can do writes outside of our driver
tracking, update the image state tracking.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8946
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22988 >
2023-05-17 22:01:31 +00:00
Lionel Landwerlin
7f7b2fc53a
anv: put private binding BOs into execlists
...
Not doing so all the reads/writes go to the scratch page on i915.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: f9fa09ec92
("anv/image: Add ANV_IMAGE_MEMORY_BINDING_PRIVATE")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22957 >
2023-05-17 14:59:14 +00:00
Chia-I Wu
f81dce9bcc
vulkan: rename vk_image::ahardware_buffer_format
...
Rename it to ahb_format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:02 +00:00
Chia-I Wu
5561abcb2c
vulkan: make sure vk_image_view::format is never UNDEFINED
...
Remove redundant override in anv and hasvk as well.
Fixed
android.graphics.cts.BasicVulkanGpuTest#testBasicBufferImportAndRenderingExternalFormat
for radv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:02 +00:00
Chia-I Wu
df8ec99c81
vulkan: make sure vk_image::format is never UNDEFINED
...
vk_image::android_external_format is only used for sanity check and is
removed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:02 +00:00
Sviatoslav Peleshko
9899151361
anv: Handle UNDEFINED format in image format list
...
It's not invalid to have this value in the list, but the only case it
is actually valid as format in the creation of an image or image view
is with Android Hardware Buffers which have their format specified
externally.
So we can just ignore all entries with VK_FORMAT_UNDEFINED.
Cc: 22.2 <mesa-stable>
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17182 >
2023-04-27 01:04:44 +00:00
Iván Briano
2a67a1f0c2
anv: make anv_can_fast_clear_color_view more generally available
...
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175 >
2023-04-24 21:33:49 +00:00
Sagar Ghuge
ee03b30e45
anv: Move and make anv_can_hiz_clear_ds_view non-static
...
v2:
- Pass const image view param. (Nanley)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175 >
2023-04-24 21:33:49 +00:00
Lionel Landwerlin
3beaaa9ae8
anv: drop lowered storage images code
...
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/22302 >
2023-04-18 08:38:55 +00:00
Lionel Landwerlin
d4f498a583
isl: fix a number of errors on storage format support on Gfx9/12.5
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22302 >
2023-04-18 08:38:55 +00:00
Faith Ekstrand
4b0b75c27a
anv: Use the new vk_device_memory base struct
...
Reviewed-by: Lina Versace <lina@kiwitree.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22038 >
2023-03-31 14:57:03 +00:00
Faith Ekstrand
0a86df21d0
anv,hasvk: Set vk_image.ahardware_buffer_format
...
This effectively just modifies it for YCbCr images where the common code
doesn't have a useable format mapping.
Reviewed-by: Lina Versace <lina@kiwitree.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22038 >
2023-03-31 14:57:03 +00:00
Sai Teja Pottumuttu
11d32fb44f
anv: Fix stride mismatch in mesa and minigbm
...
It is observed that in display resolutions where width is not equal to
stride, vulkan rendering is being distorted. This is happening due to
stride calculation mismatch between minigbm and mesa.
This fix makes sure that the stride calculated in minigbm is passed to
anv and isl.
The issue was found while debugging the following android cts tests and
thus fixes them as well.
android.graphics.cts.VulkanPreTransformTest#testVulkanPreTransformNotSetToMatchCurrentTransform
android.graphics.cts.VulkanPreTransformTest#testVulkanPreTransformSetToMatchCurrentTransform
Signed-off-by: Sai Teja Pottumuttu <sai.teja.pottumuttu@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22163 >
2023-03-29 07:09:28 +00:00
Lionel Landwerlin
938f7a48b2
anv: VK_EXT_image_sliced_view_of_3d
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21376 >
2023-03-04 06:12:46 +00:00
Lionel Landwerlin
8441d565ec
anv: remove assert typed write support when using NULL surface
...
A number of apps hit this assert in debug mode.
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/21382 >
2023-02-25 09:20:01 +00:00
Dave Airlie
41caf3665c
anv/image: allocate some memory for mv storage after video images.
...
these images need motion vector storage allocated with them
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20782 >
2023-02-08 02:56:28 +00:00
Konstantin Seurer
9104dafb6f
vulkan,nir: Refactor ycbcr conversion state into a struct
...
This will be useful for RADV since it hashes the state.
v3dv changes:
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20731 >
2023-02-06 18:36:29 +00:00
Constantine Shablya
9b3b7e5091
anv: handle ATTACHMENT_OPTIMAL layout
...
Closes : #8216
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21066 >
2023-02-03 09:17:03 +00:00
Iván Briano
58ababdee6
anv: uncompressed views of compressed 3d images are now valid
...
There was a VUID-VkImageViewCreateInfo-image-04739 in the Vulkan 1.3
spec that said:
If image was created with the
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag and format is a
non-compressed format, viewType must not be VK_IMAGE_VIEW_TYPE_3D
That VUID has since been removed, and when a view of a 3D image is
created, with put the depth into the array_len, so it won't be always 1.
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20803 >
2023-01-20 08:41:59 +00:00
Jason Ekstrand
2ac771973d
anv: Use the YCbCr format info from common code
...
We still maintain our own table of formats but all of the conversion and
sampling info we pull from common code.
Acked-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19950 >
2023-01-16 14:10:21 +00:00
Jason Ekstrand
30a91d333d
anv: Use the common vk_ycbcr_conversion object
...
Acked-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19950 >
2023-01-16 14:10:21 +00:00
Rohan Garg
818eed3d2f
anv,hasvk: migrate to u_minify from util
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Rohan Garg
4504188508
anv,hasvk: migrate to align64 from util
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20104 >
2023-01-06 17:22:16 +00:00
Tapani Pälli
77244e30b6
anv: remove some gen8 specifics handled now in hasvk
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20342 >
2022-12-16 07:25:30 +02:00
Lionel Landwerlin
a921486e2a
anv: disable Wa_1806565034 when robustImageAccess is enabled
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5711
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7859
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20280 >
2022-12-13 18:05:19 +00:00