From 34ed79daccd836e2a63c08549e822214bb595ae6 Mon Sep 17 00:00:00 2001
From: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Date: Tue, 5 Dec 2017 14:41:58 +0100
Subject: [PATCH] [dxvk] Added explicit image flags

---
 src/dxvk/dxvk_image.cpp     | 3 +--
 src/dxvk/dxvk_image.h       | 3 +++
 src/dxvk/dxvk_swapchain.cpp | 1 +
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/dxvk/dxvk_image.cpp b/src/dxvk/dxvk_image.cpp
index 8e55d3c7e..d5729351c 100644
--- a/src/dxvk/dxvk_image.cpp
+++ b/src/dxvk/dxvk_image.cpp
@@ -12,8 +12,7 @@ namespace dxvk {
     VkImageCreateInfo info;
     info.sType                 = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
     info.pNext                 = nullptr;
-    // TODO VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT if appropriate
-    info.flags                 = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
+    info.flags                 = createInfo.flags;
     info.imageType             = createInfo.type;
     info.format                = createInfo.format;
     info.extent                = createInfo.extent;
diff --git a/src/dxvk/dxvk_image.h b/src/dxvk/dxvk_image.h
index 6bacdf8ed..a1582e7b8 100644
--- a/src/dxvk/dxvk_image.h
+++ b/src/dxvk/dxvk_image.h
@@ -18,6 +18,9 @@ namespace dxvk {
     /// Pixel format
     VkFormat format;
     
+    /// Flags
+    VkImageCreateFlags flags;
+    
     /// Sample count for MSAA
     VkSampleCountFlagBits sampleCount;
     
diff --git a/src/dxvk/dxvk_swapchain.cpp b/src/dxvk/dxvk_swapchain.cpp
index ab3533f9b..f799993e8 100644
--- a/src/dxvk/dxvk_swapchain.cpp
+++ b/src/dxvk/dxvk_swapchain.cpp
@@ -138,6 +138,7 @@ namespace dxvk {
     DxvkImageCreateInfo imageInfo;
     imageInfo.type          = VK_IMAGE_TYPE_2D;
     imageInfo.format        = fmt.format;
+    imageInfo.flags         = 0;
     imageInfo.sampleCount   = VK_SAMPLE_COUNT_1_BIT;
     imageInfo.extent.width  = swapInfo.imageExtent.width;
     imageInfo.extent.height = swapInfo.imageExtent.height;