Mesa (master): tu: Enable VK_KHR_multiview
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Aug 20 19:36:08 UTC 2020
Module: Mesa
Branch: master
Commit: b708a1acb8404e31bfc9a1495b22f2dea17c21f6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b708a1acb8404e31bfc9a1495b22f2dea17c21f6
Author: Connor Abbott <cwabbott0 at gmail.com>
Date: Thu Jul 2 11:34:54 2020 +0200
tu: Enable VK_KHR_multiview
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5720>
---
src/freedreno/vulkan/tu_device.c | 4 ++--
src/freedreno/vulkan/tu_extensions.py | 1 +
src/freedreno/vulkan/tu_private.h | 2 +-
src/freedreno/vulkan/tu_shader.c | 1 +
4 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c
index 9a6085f96d3..4ad383384de 100644
--- a/src/freedreno/vulkan/tu_device.c
+++ b/src/freedreno/vulkan/tu_device.c
@@ -432,7 +432,7 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
features->uniformAndStorageBuffer16BitAccess = false;
features->storagePushConstant16 = false;
features->storageInputOutput16 = false;
- features->multiview = false;
+ features->multiview = true;
features->multiviewGeometryShader = false;
features->multiviewTessellationShader = false;
features->variablePointersStorageBuffer = true;
@@ -504,7 +504,7 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
VkPhysicalDeviceMultiviewFeatures *features =
(VkPhysicalDeviceMultiviewFeatures *) ext;
- features->multiview = false;
+ features->multiview = true;
features->multiviewGeometryShader = false;
features->multiviewTessellationShader = false;
break;
diff --git a/src/freedreno/vulkan/tu_extensions.py b/src/freedreno/vulkan/tu_extensions.py
index 4a2d37f94ed..b51b5aa329d 100644
--- a/src/freedreno/vulkan/tu_extensions.py
+++ b/src/freedreno/vulkan/tu_extensions.py
@@ -92,6 +92,7 @@ EXTENSIONS = [
Extension('VK_EXT_4444_formats', 1, True),
Extension('VK_EXT_conditional_rendering', 1, True),
Extension('VK_EXT_custom_border_color', 12, True),
+ Extension('VK_KHR_multiview', 1, True),
]
MAX_API_VERSION = VkVersion(MAX_API_VERSION)
diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h
index b62f5c6c88b..e02290bcbe8 100644
--- a/src/freedreno/vulkan/tu_private.h
+++ b/src/freedreno/vulkan/tu_private.h
@@ -95,7 +95,7 @@ typedef uint32_t xcb_window_t;
#define MAX_DYNAMIC_BUFFERS \
(MAX_DYNAMIC_UNIFORM_BUFFERS + MAX_DYNAMIC_STORAGE_BUFFERS)
#define TU_MAX_DRM_DEVICES 8
-#define MAX_VIEWS 8
+#define MAX_VIEWS 16
#define MAX_BIND_POINTS 2 /* compute + graphics */
/* The Qualcomm driver exposes 0x20000058 */
#define MAX_STORAGE_BUFFER_RANGE 0x20000000
diff --git a/src/freedreno/vulkan/tu_shader.c b/src/freedreno/vulkan/tu_shader.c
index b85febe6410..ec8e2661e8a 100644
--- a/src/freedreno/vulkan/tu_shader.c
+++ b/src/freedreno/vulkan/tu_shader.c
@@ -67,6 +67,7 @@ tu_spirv_to_nir(struct ir3_compiler *compiler,
.draw_parameters = true,
.variable_pointers = true,
.stencil_export = true,
+ .multiview = true,
},
};
const nir_shader_compiler_options *nir_options =
More information about the mesa-commit
mailing list