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-03-06 17:13:21.000000000 -0500 +++ Uranium-5.3.0/UM/View/RenderBatch.py 2023-06-05 05:07:35.834427722 -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-03-06 17:13:21.000000000 -0500 +++ Uranium-5.3.0/UM/View/RenderPass.py 2023-06-05 05:07:35.835427733 -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-03-06 17:13:21.000000000 -0500 +++ Uranium-5.3.0/UM/View/SelectionPass.py 2023-06-05 05:07:59.406694028 -0400 @@ -5,6 +5,7 @@ import enum import random from typing import TYPE_CHECKING +from UM.Logger import Logger from UM.Resources import Resources from UM.Application import Application @@ -109,13 +110,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()