mirror of
https://github.com/Yours3lf/rpi-vk-driver.git
synced 2024-11-28 10:24:15 +01:00
87 lines
2.5 KiB
C
87 lines
2.5 KiB
C
#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));
|
|
}
|