X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Ftexture_backend.cpp;fp=source%2Fbackends%2Fvulkan%2Ftexture_backend.cpp;h=db420991ee1ebf17861c8b26c6aa4666f49b93fd;hp=1367cc8d46c2a87a24eddb892b93b0d7cb142817;hb=295a0851bd3bcfba75c3e6a94b63cd8f5ee4ea53;hpb=560b11de262a6cae2c71d744598bf3fd435ab14f diff --git a/source/backends/vulkan/texture_backend.cpp b/source/backends/vulkan/texture_backend.cpp index 1367cc8d..db420991 100644 --- a/source/backends/vulkan/texture_backend.cpp +++ b/source/backends/vulkan/texture_backend.cpp @@ -67,8 +67,6 @@ void VulkanTexture::allocate() image_info.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; image_info.usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT|VK_IMAGE_USAGE_TRANSFER_DST_BIT|VK_IMAGE_USAGE_SAMPLED_BIT; - if(props.optimalTilingFeatures&VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT) - image_info.usage |= VK_IMAGE_USAGE_STORAGE_BIT; PixelComponents comp = get_components(self.storage_fmt); if(comp==DEPTH_COMPONENT || comp==STENCIL_INDEX) @@ -78,6 +76,9 @@ void VulkanTexture::allocate() fill_image_info(&image_info); + if((props.optimalTilingFeatures&VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT) && image_info.samples==VK_SAMPLE_COUNT_1_BIT) + image_info.usage |= VK_IMAGE_USAGE_STORAGE_BIT; + /* SwapChainTexture may have already provided the image. Create_info is filled anyway because some of its fields are used for view_info. */ if(!handle)