diff --git a/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp b/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp index 323191e80..2b0565638 100644 --- a/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp +++ b/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp @@ -409,7 +409,8 @@ void GlowRenderer::add_sprite_pass_3(const SpriteGlowOutput& data, int sprite_id // handle adgif stuff { - ASSERT(data.adgif.tex0_addr == (u32)GsRegisterAddress::TEX0_1); + // don't check upper bits: ps2 GS ignores them and ND uses them as flags. + ASSERT((u8)data.adgif.tex0_addr == (u8)GsRegisterAddress::TEX0_1); GsTex0 reg(data.adgif.tex0_data); record.tbp = reg.tbp0(); record.draw_mode.set_tcc(reg.tcc()); diff --git a/game/graphics/opengl_renderer/sprite/GlowRenderer.h b/game/graphics/opengl_renderer/sprite/GlowRenderer.h index c2ad440e7..e7e28198a 100644 --- a/game/graphics/opengl_renderer/sprite/GlowRenderer.h +++ b/game/graphics/opengl_renderer/sprite/GlowRenderer.h @@ -73,7 +73,9 @@ class GlowRenderer { GLuint tex; }; - static constexpr int kDownsampleBatchWidth = 16; + // max sprites should be 128 in simple sprite, plus 256 from aux = 384 + // 20 width = 20 * 20 = 400 sprites > 384. + static constexpr int kDownsampleBatchWidth = 20; static constexpr int kMaxSprites = kDownsampleBatchWidth * kDownsampleBatchWidth; static constexpr int kMaxVertices = kMaxSprites * 32; // check. static constexpr int kMaxIndices = kMaxSprites * 32; // check.