summaryrefslogtreecommitdiff
path: root/media-libs/mesa-amber/files/mesa-amber-i915c.patch
blob: 826f8cb3ca866ad4a37c4ecfe3c5719e232192f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

This patch is fixed the issue created when /usr/lib/dri/i915_dri.so is renamed to /usr/lib/dri/i915c_dri.so
by mesa-amber/mesa-amber-21.3.9.ebuild

Without this patch the driver cannot be loaded using the environment variable MESA_LOADER_DRIVER_OVERRIDE="i915c"
as that mechanism expects to find the __driDriverGetExtensions_i915c:

MESA-LOADER: dlopen(/usr/lib/dri/i915c_dri.so)
MESA-LOADER: driver does not expose __driDriverGetExtensions_i915c(): /usr/lib/dri/i915c_dri.so: undefined symbol: __driDriverGetExtensions_i915c
MESA-LOADER: dlopen(/usr/lib/dri/swrast_dri.so)

This patch adds the __driDriverGetExtensions_i915c symbol by simply cloning the code for the original
__driDriverGetExtensions_i915 symbol.

Allan Mondor
bugs.gentoo@acmondor.ca


diff -w -ruN mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.c mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.c
--- mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.c	2022-06-08 12:13:35.000000000 -0600
+++ mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.c	2022-08-23 11:32:19.151578025 -0600
@@ -1290,6 +1290,13 @@
    return i915_driver_extensions;
 }
 
+PUBLIC const __DRIextension **__driDriverGetExtensions_i915c(void)
+{
+   globalDriverAPI = &i915_driver_api;
+
+   return i915_driver_extensions;
+}
+
 PUBLIC const __DRIextension **__driDriverGetExtensions_i830(void)
 {
    globalDriverAPI = &i915_driver_api;
diff -w -ruN mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.h mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.h
--- mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.h	2022-06-08 12:13:35.000000000 -0600
+++ mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.h	2022-08-23 11:31:54.047576393 -0600
@@ -160,6 +160,7 @@
 
 const __DRIextension **__driDriverGetExtensions_i830(void);
 const __DRIextension **__driDriverGetExtensions_i915(void);
+const __DRIextension **__driDriverGetExtensions_i915c(void);
 extern const __DRI2fenceExtension intelFenceExtension;
 
 extern GLboolean