From f736332eb85dd6ddd1ff578e71be87375b4911db Mon Sep 17 00:00:00 2001 From: Luke Benstead Date: Sun, 23 May 2021 20:58:01 +0100 Subject: [PATCH] Always make sure we send opaque polys with one/zero blending --- GL/draw.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/GL/draw.c b/GL/draw.c index 0e5c87c..8048fa3 100644 --- a/GL/draw.c +++ b/GL/draw.c @@ -1133,8 +1133,12 @@ GL_FORCE_INLINE void push(PolyHeader* header, GLboolean multiTextureHeader, Poly PolyContext cxt = *_glGetPVRContext(); cxt.list_type = activePolyList->list_type; - /* Punch-through polys require fixed blending and depth modes */ - if(cxt.list_type == GPU_LIST_PT_POLY) { + if(cxt.list_type == GPU_LIST_OP_POLY) { + /* Opaque polys are always one/zero */ + cxt.blend.src = GPU_BLEND_ONE; + cxt.blend.dst = GPU_BLEND_ZERO; + } else if(cxt.list_type == GPU_LIST_PT_POLY) { + /* Punch-through polys require fixed blending and depth modes */ cxt.blend.src = GPU_BLEND_SRCALPHA; cxt.blend.dst = GPU_BLEND_INVSRCALPHA; cxt.depth.comparison = GPU_DEPTHCMP_LEQUAL;