diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-01-30 16:25:49 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-01-30 16:25:49 -0500 |
| commit | f6fca8225d98f79ee245596e1ff4b1b2309cdb12 (patch) | |
| tree | 2acfb82b8869e59df159d3ad927e8f82d50c8820 /src/window.cpp | |
| parent | a13b4a8296a8623cb50a4ec5d23a1e39b3e019c0 (diff) | |
pke: consolidate duplicated vulkan sampler
Diffstat (limited to 'src/window.cpp')
| -rw-r--r-- | src/window.cpp | 34 |
1 files changed, 5 insertions, 29 deletions
diff --git a/src/window.cpp b/src/window.cpp index 923ff99..1c9b070 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -692,7 +692,7 @@ void InitVulkan() { } } - // generic present sampler + // generic sampler VkSamplerCreateInfo samplerCreateInfo; samplerCreateInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; samplerCreateInfo.pNext = nullptr; @@ -704,10 +704,10 @@ void InitVulkan() { samplerCreateInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; samplerCreateInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; samplerCreateInfo.mipLodBias = 0.0f; - samplerCreateInfo.anisotropyEnable = VK_FALSE; + samplerCreateInfo.anisotropyEnable = VK_TRUE; samplerCreateInfo.maxAnisotropy = 1.0f; - samplerCreateInfo.compareEnable = VK_FALSE; - samplerCreateInfo.compareOp = {}; + samplerCreateInfo.compareEnable = VK_TRUE; + samplerCreateInfo.compareOp = VK_COMPARE_OP_LESS; samplerCreateInfo.minLod = 0.0f; samplerCreateInfo.maxLod = 1.0f; samplerCreateInfo.borderColor = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE; @@ -1650,28 +1650,6 @@ void CreateGraphicsPipelines() { .pPushConstantRanges = nullptr, }; vkCreatePipelineLayout(vkDevice, &vkPipelineLayoutCreateInfo, vkAllocator, pkePipelines.pipe_layouts.arr); - - VkSamplerCreateInfo vkSamplerCreateInfo; - vkSamplerCreateInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; - vkSamplerCreateInfo.pNext = nullptr; - vkSamplerCreateInfo.flags = 0; - vkSamplerCreateInfo.magFilter = VK_FILTER_NEAREST; - vkSamplerCreateInfo.minFilter = VK_FILTER_NEAREST; - vkSamplerCreateInfo.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR; - vkSamplerCreateInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT; - vkSamplerCreateInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT; - vkSamplerCreateInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_REPEAT; - vkSamplerCreateInfo.mipLodBias = 0.0f; - vkSamplerCreateInfo.anisotropyEnable = VK_TRUE; - vkSamplerCreateInfo.maxAnisotropy = vkPhysicalDeviceProperties.limits.maxSamplerAnisotropy; - vkSamplerCreateInfo.compareEnable = VK_FALSE; - vkSamplerCreateInfo.compareOp = VK_COMPARE_OP_ALWAYS; - vkSamplerCreateInfo.minLod = 0.0f; - // TODO MipMap - vkSamplerCreateInfo.maxLod = 1; - vkSamplerCreateInfo.borderColor = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK; - vkSamplerCreateInfo.unnormalizedCoordinates = VK_FALSE; - vkCreateSampler(vkDevice, &vkSamplerCreateInfo, vkAllocator, &pkePipelines.vkSampler_Texture); } // pipelines @@ -2363,7 +2341,7 @@ void UpdateDebugGraphicsPipeline() { } VkDescriptorImageInfo textureDescriptorInfo; - textureDescriptorInfo.sampler = pkePipelines.vkSampler_Texture; + textureDescriptorInfo.sampler = global_sampler; textureDescriptorInfo.imageView = pkeDebugHitbox.vkImageView; textureDescriptorInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; @@ -2846,8 +2824,6 @@ void DestroyWindow() { vkDestroyImage(vkDevice, pkeDebugHitbox.vkImage, vkAllocator); vkFreeMemory(vkDevice, pkeDebugHitbox.textureMemory, vkAllocator); - if (pkePipelines.vkSampler_Texture != VK_NULL_HANDLE) - vkDestroySampler(vkDevice, pkePipelines.vkSampler_Texture, vkAllocator); for (long i = 0; i < 3; ++i) { if (pkePipelines.pipelines.arr[i] != VK_NULL_HANDLE) vkDestroyPipeline(vkDevice, pkePipelines.pipelines.arr[i], vkAllocator); |
