adjust gl mask function fix to try ints first, then bytes if it fails
This commit is contained in:
parent
8b2953b5d4
commit
10d1a99357
3 changed files with 96 additions and 51 deletions
|
|
@ -1,49 +0,0 @@
|
|||
diff -up Uranium-5.3.0/UM/View/RenderBatch.py.glfix Uranium-5.3.0/UM/View/RenderBatch.py
|
||||
--- Uranium-5.3.0/UM/View/RenderBatch.py.glfix 2023-05-22 12:24:01.766428096 -0400
|
||||
+++ Uranium-5.3.0/UM/View/RenderBatch.py 2023-05-22 12:24:25.918715384 -0400
|
||||
@@ -186,10 +186,10 @@ class RenderBatch:
|
||||
|
||||
if self._render_type == self.RenderType.Solid:
|
||||
self._gl.glEnable(self._gl.GL_DEPTH_TEST)
|
||||
- self._gl.glDepthMask(self._gl.GL_TRUE)
|
||||
+ self._gl.glDepthMask(b'1')
|
||||
elif self._render_type == self.RenderType.Transparent:
|
||||
self._gl.glEnable(self._gl.GL_DEPTH_TEST)
|
||||
- self._gl.glDepthMask(self._gl.GL_FALSE)
|
||||
+ self._gl.glDepthMask(b'0')
|
||||
elif self._render_type == self.RenderType.Overlay:
|
||||
self._gl.glDisable(self._gl.GL_DEPTH_TEST)
|
||||
|
||||
diff -up Uranium-5.3.0/UM/View/RenderPass.py.glfix Uranium-5.3.0/UM/View/RenderPass.py
|
||||
--- Uranium-5.3.0/UM/View/RenderPass.py.glfix 2023-05-22 12:24:33.374804074 -0400
|
||||
+++ Uranium-5.3.0/UM/View/RenderPass.py 2023-05-22 12:25:06.914207005 -0400
|
||||
@@ -93,8 +93,8 @@ class RenderPass:
|
||||
self._fbo.bind()
|
||||
|
||||
# Ensure we can actually write to the relevant FBO components.
|
||||
- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE)
|
||||
- self._gl.glDepthMask(self._gl.GL_TRUE)
|
||||
+ self._gl.glColorMask(b'1', b'1',b'1', b'1')
|
||||
+ self._gl.glDepthMask(b'1')
|
||||
|
||||
self._gl.glClear(self._gl.GL_COLOR_BUFFER_BIT | self._gl.GL_DEPTH_BUFFER_BIT)
|
||||
|
||||
diff -up Uranium-5.3.0/UM/View/SelectionPass.py.glfix Uranium-5.3.0/UM/View/SelectionPass.py
|
||||
--- Uranium-5.3.0/UM/View/SelectionPass.py.glfix 2023-05-22 12:25:22.790403768 -0400
|
||||
+++ Uranium-5.3.0/UM/View/SelectionPass.py 2023-05-22 12:26:49.585479447 -0400
|
||||
@@ -109,13 +109,13 @@ class SelectionPass(RenderPass):
|
||||
if selectable_objects:
|
||||
batch.render(self._scene.getActiveCamera())
|
||||
|
||||
- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE)
|
||||
+ self._gl.glColorMask(b'1', b'1', b'1', b'0')
|
||||
self._gl.glDisable(self._gl.GL_DEPTH_TEST)
|
||||
|
||||
tool_handle.render(self._scene.getActiveCamera())
|
||||
|
||||
self._gl.glEnable(self._gl.GL_DEPTH_TEST)
|
||||
- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE)
|
||||
+ self._gl.glColorMask(b'1', b'1', b'1', b'1')
|
||||
|
||||
self.release()
|
||||
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
diff -up Uranium-5.3.0/UM/View/RenderBatch.py.glfix Uranium-5.3.0/UM/View/RenderBatch.py
|
||||
--- Uranium-5.3.0/UM/View/RenderBatch.py.glfix 2023-05-31 10:16:27.534658464 -0400
|
||||
+++ Uranium-5.3.0/UM/View/RenderBatch.py 2023-05-31 10:27:39.386638905 -0400
|
||||
@@ -186,10 +186,24 @@ class RenderBatch:
|
||||
|
||||
if self._render_type == self.RenderType.Solid:
|
||||
self._gl.glEnable(self._gl.GL_DEPTH_TEST)
|
||||
- self._gl.glDepthMask(self._gl.GL_TRUE)
|
||||
+ try:
|
||||
+ self._gl.glDepthMask(self._gl.GL_TRUE)
|
||||
+ except:
|
||||
+ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
|
||||
+ try:
|
||||
+ self._gl.glDepthMask(b'1')
|
||||
+ except:
|
||||
+ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
|
||||
elif self._render_type == self.RenderType.Transparent:
|
||||
self._gl.glEnable(self._gl.GL_DEPTH_TEST)
|
||||
- self._gl.glDepthMask(self._gl.GL_FALSE)
|
||||
+ try:
|
||||
+ self._gl.glDepthMask(self._gl.GL_FALSE)
|
||||
+ except:
|
||||
+ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
|
||||
+ try:
|
||||
+ self._gl.glDepthMask(b'1')
|
||||
+ except:
|
||||
+ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
|
||||
elif self._render_type == self.RenderType.Overlay:
|
||||
self._gl.glDisable(self._gl.GL_DEPTH_TEST)
|
||||
|
||||
diff -up Uranium-5.3.0/UM/View/RenderPass.py.glfix Uranium-5.3.0/UM/View/RenderPass.py
|
||||
--- Uranium-5.3.0/UM/View/RenderPass.py.glfix 2023-05-31 10:24:19.093985708 -0400
|
||||
+++ Uranium-5.3.0/UM/View/RenderPass.py 2023-05-31 10:27:13.831299703 -0400
|
||||
@@ -93,8 +93,22 @@ class RenderPass:
|
||||
self._fbo.bind()
|
||||
|
||||
# Ensure we can actually write to the relevant FBO components.
|
||||
- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE)
|
||||
- self._gl.glDepthMask(self._gl.GL_TRUE)
|
||||
+ try:
|
||||
+ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE)
|
||||
+ except:
|
||||
+ Logger.log("w", "glColorMask does not like ints, trying bytes...")
|
||||
+ try:
|
||||
+ self._gl.glColorMask(b'1', b'1',b'1', b'1')
|
||||
+ except:
|
||||
+ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
|
||||
+ try:
|
||||
+ self._gl.glDepthMask(self._gl.GL_TRUE)
|
||||
+ except:
|
||||
+ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
|
||||
+ try:
|
||||
+ self._gl.glDepthMask(b'1')
|
||||
+ except:
|
||||
+ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
|
||||
|
||||
self._gl.glClear(self._gl.GL_COLOR_BUFFER_BIT | self._gl.GL_DEPTH_BUFFER_BIT)
|
||||
|
||||
diff -up Uranium-5.3.0/UM/View/SelectionPass.py.glfix Uranium-5.3.0/UM/View/SelectionPass.py
|
||||
--- Uranium-5.3.0/UM/View/SelectionPass.py.glfix 2023-05-31 10:28:17.500144796 -0400
|
||||
+++ Uranium-5.3.0/UM/View/SelectionPass.py 2023-05-31 10:30:48.133144186 -0400
|
||||
@@ -109,13 +109,27 @@ class SelectionPass(RenderPass):
|
||||
if selectable_objects:
|
||||
batch.render(self._scene.getActiveCamera())
|
||||
|
||||
- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE)
|
||||
+ try:
|
||||
+ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE)
|
||||
+ except:
|
||||
+ Logger.log("w", "glColorMask does not like ints, trying bytes...")
|
||||
+ try:
|
||||
+ self._gl.glColorMask(b'1', b'1', b'1', b'0')
|
||||
+ except:
|
||||
+ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
|
||||
self._gl.glDisable(self._gl.GL_DEPTH_TEST)
|
||||
|
||||
tool_handle.render(self._scene.getActiveCamera())
|
||||
|
||||
self._gl.glEnable(self._gl.GL_DEPTH_TEST)
|
||||
- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE)
|
||||
+ try:
|
||||
+ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE)
|
||||
+ except:
|
||||
+ Logger.log("w", "glColorMask does not like ints, trying bytes...")
|
||||
+ try:
|
||||
+ self._gl.glColorMask(b'1', b'1', b'1', b'1')
|
||||
+ except:
|
||||
+ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
|
||||
|
||||
self.release()
|
||||
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
Name: python-uranium
|
||||
Version: 5.3.0
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: A Python framework for building desktop applications
|
||||
License: LGPLv3+
|
||||
URL: https://github.com/Ultimaker/Uranium
|
||||
Source0: %{url}/archive/%{version}.tar.gz#/Uranium-%{version}.tar.gz
|
||||
Patch0: Uranium-5.3.0-qt-6.5-hack.patch
|
||||
Patch1: Uranium-5.3.0-qt-replace-gltrue-glfalse-with-bytes.patch
|
||||
Patch1: Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch
|
||||
|
||||
# Cmake bits taken from 4.13.1, before upstream went nuts with conan
|
||||
Source2: mod_bundled_packages_json.py
|
||||
|
|
@ -133,6 +133,9 @@ popd
|
|||
|
||||
|
||||
%changelog
|
||||
* Wed May 31 2023 Tom Callaway <spot@fedoraproject.org> - 5.3.0-4
|
||||
- try ints, then bytes for gl mask functions
|
||||
|
||||
* Mon May 22 2023 Tom Callaway <spot@fedoraproject.org> - 5.3.0-3
|
||||
- try to hack qt6.5 support
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue