50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
![]() |
/* Copyright © 2024 Intel Corporation
|
||
|
* SPDX-License-Identifier: MIT
|
||
|
*/
|
||
|
|
||
|
#include "anv_private.h"
|
||
|
|
||
|
VkResult anv_GetSamplerOpaqueCaptureDescriptorDataEXT(
|
||
|
VkDevice _device,
|
||
|
const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
|
||
|
void* pData)
|
||
|
{
|
||
|
ANV_FROM_HANDLE(anv_device, device, _device);
|
||
|
ANV_FROM_HANDLE(anv_sampler, sampler, pInfo->sampler);
|
||
|
|
||
|
if (sampler->custom_border_color.alloc_size != 0) {
|
||
|
*((uint32_t *)pData) =
|
||
|
anv_state_reserved_array_pool_state_index(
|
||
|
&device->custom_border_colors,
|
||
|
sampler->custom_border_color);
|
||
|
} else {
|
||
|
*((uint32_t *)pData) = 0;
|
||
|
}
|
||
|
|
||
|
return VK_SUCCESS;
|
||
|
}
|
||
|
|
||
|
void anv_DestroySampler(
|
||
|
VkDevice _device,
|
||
|
VkSampler _sampler,
|
||
|
const VkAllocationCallbacks* pAllocator)
|
||
|
{
|
||
|
ANV_FROM_HANDLE(anv_device, device, _device);
|
||
|
ANV_FROM_HANDLE(anv_sampler, sampler, _sampler);
|
||
|
|
||
|
if (!sampler)
|
||
|
return;
|
||
|
|
||
|
if (sampler->bindless_state.map) {
|
||
|
anv_state_pool_free(&device->dynamic_state_pool,
|
||
|
sampler->bindless_state);
|
||
|
}
|
||
|
|
||
|
if (sampler->custom_border_color.map) {
|
||
|
anv_state_reserved_array_pool_free(&device->custom_border_colors,
|
||
|
sampler->custom_border_color);
|
||
|
}
|
||
|
|
||
|
vk_sampler_destroy(&device->vk, pAllocator, &sampler->vk);
|
||
|
}
|