diff --git a/core/src/processing/opengl/PGraphicsOpenGL.java b/core/src/processing/opengl/PGraphicsOpenGL.java index 8965eb524..512ad3d9d 100644 --- a/core/src/processing/opengl/PGraphicsOpenGL.java +++ b/core/src/processing/opengl/PGraphicsOpenGL.java @@ -7042,9 +7042,15 @@ public class PGraphicsOpenGL extends PGraphics { if (smooth < 1) { pgl.disable(PGL.MULTISAMPLE); } else { - pgl.enable(PGL.MULTISAMPLE); + // work around runtime exceptions in Broadcom's VC IV driver + if (false == OPENGL_RENDERER.equals("VideoCore IV HW")) { + pgl.enable(PGL.MULTISAMPLE); + } + } + // work around runtime exceptions in Broadcom's VC IV driver + if (false == OPENGL_RENDERER.equals("VideoCore IV HW")) { + pgl.disable(PGL.POLYGON_SMOOTH); } - pgl.disable(PGL.POLYGON_SMOOTH); if (sized) { // reapplySettings(); @@ -7154,8 +7160,11 @@ public class PGraphicsOpenGL extends PGraphics { pgl.getIntegerv(PGL.MAX_TEXTURE_SIZE, intBuffer); maxTextureSize = intBuffer.get(0); - pgl.getIntegerv(PGL.MAX_SAMPLES, intBuffer); - maxSamples = intBuffer.get(0); + // work around runtime exceptions in Broadcom's VC IV driver + if (false == OPENGL_RENDERER.equals("VideoCore IV HW")) { + pgl.getIntegerv(PGL.MAX_SAMPLES, intBuffer); + maxSamples = intBuffer.get(0); + } if (anisoSamplingSupported) { pgl.getFloatv(PGL.MAX_TEXTURE_MAX_ANISOTROPY, floatBuffer);