1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright © 2022 Collabora Ltd. and Red Hat Inc. 3*61046927SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 4*61046927SAndroid Build Coastguard Worker */ 5*61046927SAndroid Build Coastguard Worker #ifndef NVK_SAMPLER_H 6*61046927SAndroid Build Coastguard Worker #define NVK_SAMPLER_H 1 7*61046927SAndroid Build Coastguard Worker 8*61046927SAndroid Build Coastguard Worker #include "nvk_private.h" 9*61046927SAndroid Build Coastguard Worker #include "nvk_physical_device.h" 10*61046927SAndroid Build Coastguard Worker 11*61046927SAndroid Build Coastguard Worker #include "vk_sampler.h" 12*61046927SAndroid Build Coastguard Worker #include "vk_ycbcr_conversion.h" 13*61046927SAndroid Build Coastguard Worker 14*61046927SAndroid Build Coastguard Worker #include "vk_format.h" 15*61046927SAndroid Build Coastguard Worker 16*61046927SAndroid Build Coastguard Worker struct nvk_sampler { 17*61046927SAndroid Build Coastguard Worker struct vk_sampler vk; 18*61046927SAndroid Build Coastguard Worker 19*61046927SAndroid Build Coastguard Worker uint8_t plane_count; 20*61046927SAndroid Build Coastguard Worker 21*61046927SAndroid Build Coastguard Worker struct { 22*61046927SAndroid Build Coastguard Worker uint32_t desc_index; 23*61046927SAndroid Build Coastguard Worker } planes[2]; 24*61046927SAndroid Build Coastguard Worker }; 25*61046927SAndroid Build Coastguard Worker 26*61046927SAndroid Build Coastguard Worker VK_DEFINE_NONDISP_HANDLE_CASTS(nvk_sampler, vk.base, VkSampler, 27*61046927SAndroid Build Coastguard Worker VK_OBJECT_TYPE_SAMPLER) 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Worker struct nvk_sampler_capture { 30*61046927SAndroid Build Coastguard Worker struct { 31*61046927SAndroid Build Coastguard Worker uint32_t desc_index; 32*61046927SAndroid Build Coastguard Worker } planes[2]; 33*61046927SAndroid Build Coastguard Worker }; 34*61046927SAndroid Build Coastguard Worker 35*61046927SAndroid Build Coastguard Worker static void 36*61046927SAndroid Build Coastguard Worker nvk_sampler_fill_header(const struct nvk_physical_device *pdev, 37*61046927SAndroid Build Coastguard Worker const struct VkSamplerCreateInfo *info, 38*61046927SAndroid Build Coastguard Worker const struct vk_sampler *vk_sampler, 39*61046927SAndroid Build Coastguard Worker uint32_t *samp); 40*61046927SAndroid Build Coastguard Worker 41*61046927SAndroid Build Coastguard Worker #endif 42