mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 07:20:10 +01:00
radv: allow ds<->color copies on compute/transfer queues
This should be supported just fine. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38043>
This commit is contained in:
parent
49128926d6
commit
0034f5a948
3 changed files with 13 additions and 1 deletions
|
|
@ -387,6 +387,16 @@ radv_physical_device_get_format_properties(struct radv_physical_device *pdev, Vk
|
|||
if (vk_format_has_depth(format) && vk_format_has_stencil(format))
|
||||
tiled &= ~VK_FORMAT_FEATURE_2_BLIT_DST_BIT;
|
||||
|
||||
if (radv_compute_queue_enabled(pdev)) {
|
||||
tiled |= VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR |
|
||||
VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR;
|
||||
}
|
||||
|
||||
if (radv_transfer_queue_enabled(pdev)) {
|
||||
tiled |= VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR |
|
||||
VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR;
|
||||
}
|
||||
|
||||
/* Don't support linear depth surfaces */
|
||||
linear = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ radv_taskmesh_enabled(const struct radv_physical_device *pdev)
|
|||
pdev->info.has_gang_submit;
|
||||
}
|
||||
|
||||
static bool
|
||||
bool
|
||||
radv_transfer_queue_enabled(const struct radv_physical_device *pdev)
|
||||
{
|
||||
const struct radv_instance *instance = radv_physical_device_instance(pdev);
|
||||
|
|
|
|||
|
|
@ -304,6 +304,8 @@ VkResult create_drm_physical_device(struct vk_instance *vk_instance, struct _drm
|
|||
|
||||
void radv_physical_device_destroy(struct vk_physical_device *vk_pdev);
|
||||
|
||||
bool radv_transfer_queue_enabled(const struct radv_physical_device *pdev);
|
||||
|
||||
bool radv_compute_queue_enabled(const struct radv_physical_device *pdev);
|
||||
|
||||
static inline uint32_t
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue