Fix lavapipe missing ext that breaks gstreamer/pidgin
This commit is contained in:
parent
e1cab56ec7
commit
a13567d31a
@ -0,0 +1,86 @@
|
|||||||
|
From 3306a3395b36d3ebddaa0ed28c58ca1272196695 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dave Airlie <airlied@gmail.com>
|
||||||
|
Date: Fri, 15 Jan 2021 09:57:52 +1000
|
||||||
|
Subject: [PATCH] lavapipe: fix missing piece of
|
||||||
|
VK_KHR_get_physical_device_properties2
|
||||||
|
|
||||||
|
I missed two parts of the APIs for this, so add them, should fix
|
||||||
|
crashes in gstreamer vulkan when it tries to load lvp.
|
||||||
|
|
||||||
|
Cc: "20.3" <mesa-stable@lists.freedesktop.org>
|
||||||
|
---
|
||||||
|
src/gallium/frontends/lavapipe/lvp_device.c | 43 +++++++++++++++++----
|
||||||
|
1 file changed, 35 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c
|
||||||
|
index 0eaf278679c..3d05e424278 100644
|
||||||
|
--- a/src/gallium/frontends/lavapipe/lvp_device.c
|
||||||
|
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
|
||||||
|
@@ -631,6 +631,19 @@ void lvp_GetPhysicalDeviceProperties2(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void lvp_get_physical_device_queue_family_properties(
|
||||||
|
+ VkQueueFamilyProperties* pQueueFamilyProperties)
|
||||||
|
+{
|
||||||
|
+ *pQueueFamilyProperties = (VkQueueFamilyProperties) {
|
||||||
|
+ .queueFlags = VK_QUEUE_GRAPHICS_BIT |
|
||||||
|
+ VK_QUEUE_COMPUTE_BIT |
|
||||||
|
+ VK_QUEUE_TRANSFER_BIT,
|
||||||
|
+ .queueCount = 1,
|
||||||
|
+ .timestampValidBits = 64,
|
||||||
|
+ .minImageTransferGranularity = (VkExtent3D) { 1, 1, 1 },
|
||||||
|
+ };
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void lvp_GetPhysicalDeviceQueueFamilyProperties(
|
||||||
|
VkPhysicalDevice physicalDevice,
|
||||||
|
uint32_t* pCount,
|
||||||
|
@@ -642,15 +655,21 @@ void lvp_GetPhysicalDeviceQueueFamilyProperties(
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(*pCount >= 1);
|
||||||
|
+ lvp_get_physical_device_queue_family_properties(pQueueFamilyProperties);
|
||||||
|
+}
|
||||||
|
|
||||||
|
- *pQueueFamilyProperties = (VkQueueFamilyProperties) {
|
||||||
|
- .queueFlags = VK_QUEUE_GRAPHICS_BIT |
|
||||||
|
- VK_QUEUE_COMPUTE_BIT |
|
||||||
|
- VK_QUEUE_TRANSFER_BIT,
|
||||||
|
- .queueCount = 1,
|
||||||
|
- .timestampValidBits = 64,
|
||||||
|
- .minImageTransferGranularity = (VkExtent3D) { 1, 1, 1 },
|
||||||
|
- };
|
||||||
|
+void lvp_GetPhysicalDeviceQueueFamilyProperties2(
|
||||||
|
+ VkPhysicalDevice physicalDevice,
|
||||||
|
+ uint32_t* pCount,
|
||||||
|
+ VkQueueFamilyProperties2 *pQueueFamilyProperties)
|
||||||
|
+{
|
||||||
|
+ if (pQueueFamilyProperties == NULL) {
|
||||||
|
+ *pCount = 1;
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ assert(*pCount >= 1);
|
||||||
|
+ lvp_get_physical_device_queue_family_properties(&pQueueFamilyProperties->queueFamilyProperties);
|
||||||
|
}
|
||||||
|
|
||||||
|
void lvp_GetPhysicalDeviceMemoryProperties(
|
||||||
|
@@ -673,6 +692,14 @@ void lvp_GetPhysicalDeviceMemoryProperties(
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
+void lvp_GetPhysicalDeviceMemoryProperties2(
|
||||||
|
+ VkPhysicalDevice physicalDevice,
|
||||||
|
+ VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)
|
||||||
|
+{
|
||||||
|
+ lvp_GetPhysicalDeviceMemoryProperties(physicalDevice,
|
||||||
|
+ &pMemoryProperties->memoryProperties);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
PFN_vkVoidFunction lvp_GetInstanceProcAddr(
|
||||||
|
VkInstance _instance,
|
||||||
|
const char* pName)
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
@ -52,7 +52,7 @@ Name: mesa
|
|||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
%global ver 20.3.3
|
%global ver 20.3.3
|
||||||
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://www.mesa3d.org
|
URL: http://www.mesa3d.org
|
||||||
|
|
||||||
@ -64,6 +64,8 @@ Source1: Mesa-MLAA-License-Clarification-Email.txt
|
|||||||
|
|
||||||
# fix device selection layer
|
# fix device selection layer
|
||||||
Patch0: 0001-device-select-layer-update-for-vulkan-1.2.patch
|
Patch0: 0001-device-select-layer-update-for-vulkan-1.2.patch
|
||||||
|
# fix lvp extension missing
|
||||||
|
Patch1: 0001-lavapipe-fix-missing-piece-of-VK_KHR_get_physical_de.patch
|
||||||
|
|
||||||
BuildRequires: meson >= 0.45
|
BuildRequires: meson >= 0.45
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
@ -594,6 +596,9 @@ popd
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 15 2021 Dave Airlie <airlied@redhat.com> - 20.3.3-3
|
||||||
|
- Fix lavapipe missing ext that breaks gstreamer/pidgin
|
||||||
|
|
||||||
* Fri Jan 15 2021 Dave Airlie <airlied@redhat.com> - 20.3.3-2
|
* Fri Jan 15 2021 Dave Airlie <airlied@redhat.com> - 20.3.3-2
|
||||||
- Fix device selection layer for vulkan 1.2
|
- Fix device selection layer for vulkan 1.2
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user