#include "common.h" #include "declarations.h" VKAPI_ATTR VkResult VKAPI_CALL RPIFUNC(vkCreateSampler)( VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) { PROFILESTART(RPIFUNC(vkCreateSampler)); assert(device); assert(pCreateInfo); assert(pSampler); _sampler* s = ALLOCATE(sizeof(_sampler), 1, VK_SYSTEM_ALLOCATION_SCOPE_OBJECT); if(!s) { PROFILEEND(RPIFUNC(vkCreateSampler)); return VK_ERROR_OUT_OF_HOST_MEMORY; } s->minFilter = pCreateInfo->minFilter; s->magFilter = pCreateInfo->magFilter; s->mipmapMode = pCreateInfo->mipmapMode; s->addressModeU = pCreateInfo->addressModeU; s->addressModeV = pCreateInfo->addressModeV; s->addressModeW = pCreateInfo->addressModeW; s->mipLodBias = pCreateInfo->mipLodBias; s->anisotropyEnable = pCreateInfo->anisotropyEnable; s->maxAnisotropy = pCreateInfo->maxAnisotropy; s->compareEnable = pCreateInfo->compareEnable; s->compareOp = pCreateInfo->compareOp; s->minLod = pCreateInfo->minLod; s->maxLod = pCreateInfo->maxLod; s->borderColor = pCreateInfo->borderColor; s->unnormalizedCoordinates = pCreateInfo->unnormalizedCoordinates; s->disableAutoLod = s->mipLodBias > 0.0f; *pSampler = s; PROFILEEND(RPIFUNC(vkCreateSampler)); return VK_SUCCESS; } VKAPI_ATTR void VKAPI_CALL RPIFUNC(vkDestroySampler)( VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) { PROFILESTART(RPIFUNC(vkDestroySampler)); assert(device); FREE(sampler); PROFILEEND(RPIFUNC(vkDestroySampler)); } VKAPI_ATTR VkResult VKAPI_CALL RPIFUNC(vkCreateSamplerYcbcrConversion)( VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) { PROFILESTART(RPIFUNC(vkCreateSamplerYcbcrConversion)); //TODO PROFILEEND(RPIFUNC(vkCreateSamplerYcbcrConversion)); return VK_SUCCESS; } VKAPI_ATTR void VKAPI_CALL RPIFUNC(vkDestroySamplerYcbcrConversion)( VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) { PROFILESTART(RPIFUNC(vkDestroySamplerYcbcrConversion)); //TODO PROFILEEND(RPIFUNC(vkDestroySamplerYcbcrConversion)); }