summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2019-09-05 23:54:53 +0300
committerLionel Landwerlin <[email protected]>2019-09-15 15:37:02 +0300
commit0616b7ac90cf4f86bb409d34101e3a3cceac8cbe (patch)
treee610123761218611b1fe3f0d284c149c83607094 /src/util
parent04dc6074cf7f651b720868e0ba24362b585d1b31 (diff)
vulkan: add vk_x11_strict_image_count option
This option strictly allocate the minImageCount given by the application at swapchain creation. This works around application that do not deal with the fact that the implementation allocates more images than the minimum specified. v2: Add values in default drirc (Bas) v3: specify engine name/version (Lionel) Signed-off-by: Lionel Landwerlin <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111522 Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Cc: 19.2 <[email protected]>
Diffstat (limited to 'src/util')
-rw-r--r--src/util/00-mesa-defaults.conf9
-rw-r--r--src/util/xmlpool/t_options.h5
2 files changed, 14 insertions, 0 deletions
diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
index 3deb8aee1a5..8f3e84788d9 100644
--- a/src/util/00-mesa-defaults.conf
+++ b/src/util/00-mesa-defaults.conf
@@ -469,6 +469,15 @@ TODO: document the other workarounds.
<application name="Rayman Legends" executable="Rayman Legends.exe">
<option name="dynamic_texture_workaround" value="true" />
</application>
+
+ <!-- Vulkan workarounds: -->
+
+ <!-- Works around the game not starting (does not deal with
+ the implementation returning more images than the minimum
+ specified by the application. -->
+ <engine engine_name_match="UnrealEngine4.*" engine_versions="0:21">
+ <option name="vk_x11_strict_image_count" value="true" />
+ </engine>
</device>
<!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
<device driver="vmwgfx">
diff --git a/src/util/xmlpool/t_options.h b/src/util/xmlpool/t_options.h
index 9f3dee4945f..e08ba1bf815 100644
--- a/src/util/xmlpool/t_options.h
+++ b/src/util/xmlpool/t_options.h
@@ -225,6 +225,11 @@ DRI_CONF_OPT_BEGIN_V(vk_x11_override_min_image_count, int, def, "0:999") \
DRI_CONF_DESC(en,gettext("Override the VkSurfaceCapabilitiesKHR::minImageCount (0 = no override)")) \
DRI_CONF_OPT_END
+#define DRI_CONF_VK_X11_STRICT_IMAGE_COUNT(def) \
+DRI_CONF_OPT_BEGIN_B(vk_x11_strict_image_count, def) \
+ DRI_CONF_DESC(en,gettext("Force the X11 WSI to create exactly the number of image specified by the application in VkSwapchainCreateInfoKHR::minImageCount")) \
+DRI_CONF_OPT_END
+
#define DRI_CONF_MESA_GLTHREAD(def) \
DRI_CONF_OPT_BEGIN_B(mesa_glthread, def) \
DRI_CONF_DESC(en,gettext("Enable offloading GL driver work to a separate thread")) \