projects/aports·blob master · refs

96 lines · 4.5 KiB

1Patch-Source: https://src.fedoraproject.org/rpms/python-uranium/blob/rawhide/f/Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch
2
3diff --git a/UM/View/RenderBatch.py.orig b/UM/View/RenderBatch.py
4index 6deeeb1..5f1eda5 100644
5--- a/UM/View/RenderBatch.py.orig
6+++ b/UM/View/RenderBatch.py
7@@ -186,10 +186,24 @@ class RenderBatch:
8
9 if self._render_type == self.RenderType.Solid:
10 self._gl.glEnable(self._gl.GL_DEPTH_TEST)
11- self._gl.glDepthMask(self._gl.GL_TRUE)
12+ try:
13+ self._gl.glDepthMask(self._gl.GL_TRUE)
14+ except:
15+ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
16+ try:
17+ self._gl.glDepthMask(b'1')
18+ except:
19+ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
20 elif self._render_type == self.RenderType.Transparent:
21 self._gl.glEnable(self._gl.GL_DEPTH_TEST)
22- self._gl.glDepthMask(self._gl.GL_FALSE)
23+ try:
24+ self._gl.glDepthMask(self._gl.GL_FALSE)
25+ except:
26+ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
27+ try:
28+ self._gl.glDepthMask(b'1')
29+ except:
30+ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
31 elif self._render_type == self.RenderType.Overlay:
32 self._gl.glDisable(self._gl.GL_DEPTH_TEST)
33
34diff --git a/UM/View/RenderPass.py.orig b/UM/View/RenderPass.py
35index 8068ddf..8cb4f67 100644
36--- a/UM/View/RenderPass.py.orig
37+++ b/UM/View/RenderPass.py
38@@ -93,8 +93,22 @@ class RenderPass:
39 self._fbo.bind()
40
41 # Ensure we can actually write to the relevant FBO components.
42- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE)
43- self._gl.glDepthMask(self._gl.GL_TRUE)
44+ try:
45+ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE)
46+ except:
47+ Logger.log("w", "glColorMask does not like ints, trying bytes...")
48+ try:
49+ self._gl.glColorMask(b'1', b'1',b'1', b'1')
50+ except:
51+ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
52+ try:
53+ self._gl.glDepthMask(self._gl.GL_TRUE)
54+ except:
55+ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
56+ try:
57+ self._gl.glDepthMask(b'1')
58+ except:
59+ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
60
61 self._gl.glClear(self._gl.GL_COLOR_BUFFER_BIT | self._gl.GL_DEPTH_BUFFER_BIT)
62
63diff --git a/UM/View/SelectionPass.py.orig b/UM/View/SelectionPass.py
64index ef042a5..c28fe4f 100644
65--- a/UM/View/SelectionPass.py.orig
66+++ b/UM/View/SelectionPass.py
67@@ -110,13 +110,27 @@ class SelectionPass(RenderPass):
68 if selectable_objects:
69 batch.render(self._scene.getActiveCamera())
70
71- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE)
72+ try:
73+ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE)
74+ except:
75+ Logger.log("w", "glColorMask does not like ints, trying bytes...")
76+ try:
77+ self._gl.glColorMask(b'1', b'1', b'1', b'0')
78+ except:
79+ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
80 self._gl.glDisable(self._gl.GL_DEPTH_TEST)
81
82 tool_handle.render(self._scene.getActiveCamera())
83
84 self._gl.glEnable(self._gl.GL_DEPTH_TEST)
85- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE)
86+ try:
87+ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE)
88+ except:
89+ Logger.log("w", "glColorMask does not like ints, trying bytes...")
90+ try:
91+ self._gl.glColorMask(b'1', b'1', b'1', b'1')
92+ except:
93+ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
94
95 self.release()
96