From b7dae92ed835ce2106ea68825d6a4cb4c1d74042 Mon Sep 17 00:00:00 2001 From: saschawillems Date: Tue, 14 Jun 2016 19:01:29 +0200 Subject: [PATCH] Added descriptor info to texture struct --- base/vulkanTextureLoader.hpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/base/vulkanTextureLoader.hpp b/base/vulkanTextureLoader.hpp index a92e0270..ff6b0755 100644 --- a/base/vulkanTextureLoader.hpp +++ b/base/vulkanTextureLoader.hpp @@ -28,6 +28,7 @@ namespace vkTools uint32_t width, height; uint32_t mipLevels; uint32_t layerCount; + VkDescriptorImageInfo descriptor; }; class VulkanTextureLoader @@ -383,6 +384,11 @@ namespace vkTools view.subresourceRange.levelCount = (useStaging) ? texture->mipLevels : 1; view.image = texture->image; VK_CHECK_RESULT(vkCreateImageView(device, &view, nullptr, &texture->view)); + + // Fill descriptor image info that can be used for setting up descriptor sets + texture->descriptor.imageLayout = VK_IMAGE_LAYOUT_GENERAL; + texture->descriptor.imageView = texture->view; + texture->descriptor.sampler = texture->sampler; } // Clean up vulkan resources used by a texture object @@ -601,6 +607,11 @@ namespace vkTools // Clean up staging resources vkFreeMemory(device, stagingMemory, nullptr); vkDestroyBuffer(device, stagingBuffer, nullptr); + + // Fill descriptor image info that can be used for setting up descriptor sets + texture->descriptor.imageLayout = VK_IMAGE_LAYOUT_GENERAL; + texture->descriptor.imageView = texture->view; + texture->descriptor.sampler = texture->sampler; } // Load an array texture (single file) @@ -825,10 +836,12 @@ namespace vkTools // Clean up staging resources vkFreeMemory(device, stagingMemory, nullptr); vkDestroyBuffer(device, stagingBuffer, nullptr); + + // Fill descriptor image info that can be used for setting up descriptor sets + texture->descriptor.imageLayout = VK_IMAGE_LAYOUT_GENERAL; + texture->descriptor.imageView = texture->view; + texture->descriptor.sampler = texture->sampler; } - - - }; };