vkCreateSampler
To create a sampler object, call:
VkResult vkCreateSampler(
VkDevice device,
const VkSamplerCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSampler* pSampler);
pub fn create_sampler(
device: vk::Device,
p_create_info: *const vk::SamplerCreateInfo,
p_allocator: *const vk::AllocationCallbacks,
p_sampler: *mut vk::Sampler,
) -> vk::Result;
deviceis the logical device that creates the sampler.pCreateInfois a pointer to a VkSamplerCreateInfo structure specifying the state of the sampler object.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.pSampleris a pointer to a VkSampler handle in which the resulting sampler object is returned.
Valid Usage
VUID-vkCreateSampler-device-09668
device must support at least one queue family with one of the
VK_QUEUE_COMPUTE_BIT or VK_QUEUE_GRAPHICS_BIT capabilities
VUID-vkCreateSampler-maxSamplerAllocationCount-04110
There must be less than
VkPhysicalDeviceLimits::maxSamplerAllocationCount
VkSampler objects currently created on the device
VUID-vkCreateSampler-maxSamplerAllocationCount-11412
If there are any pipelines
or shaders with embedded samplers currently created on the device, there must be less than (maxSamplerAllocationCount - (minSamplerHeapReservedRangeWithEmbedded / samplerDescriptorSize)) VkSampler objects currently created on the device
Valid Usage (Implicit)
VUID-vkCreateSampler-device-parameter
device must be a valid VkDevice handle
VUID-vkCreateSampler-pCreateInfo-parameter
pCreateInfo must be a valid pointer to a valid VkSamplerCreateInfo structure
VUID-vkCreateSampler-pAllocator-parameter
If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateSampler-pSampler-parameter
pSampler must be a valid pointer to a VkSampler handle