/* 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); }