From 6941d506d2c2c0975ad9c394b88bfcf9b11ad5d3 Mon Sep 17 00:00:00 2001 From: attilaz Date: Fri, 24 Jun 2016 12:57:20 +0200 Subject: [PATCH] opaque/alphatest/alphablend sort order (#819) --- src/bgfx_p.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bgfx_p.h b/src/bgfx_p.h index 02955987e..9b4279bc4 100644 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -1460,8 +1460,9 @@ namespace bgfx void setState(uint64_t _state, uint32_t _rgba) { uint8_t blend = ( (_state&BGFX_STATE_BLEND_MASK)>>BGFX_STATE_BLEND_SHIFT)&0xff; + uint8_t alphaRef = ( (_state&BGFX_STATE_ALPHA_REF_MASK)>>BGFX_STATE_ALPHA_REF_SHIFT)&0xff; // transparency sort order table - m_key.m_trans = "\x0\x1\x1\x2\x2\x1\x2\x1\x2\x1\x1\x1\x1\x1\x1\x1\x1\x1\x1"[( (blend)&0xf) + (!!blend)]; + m_key.m_trans = "\x0\x2\x2\x3\x3\x2\x3\x2\x3\x2\x2\x2\x2\x2\x2\x2\x2\x2\x2"[( (blend)&0xf) + (!!blend)] + !!alphaRef; m_draw.m_stateFlags = _state; m_draw.m_rgba = _rgba; }