Skip to content

Commit a5fbaed

Browse files
committed
PPU: latch sprite pixel when the current pixel priority has higher priority
1 parent d22f0f2 commit a5fbaed

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/nba/src/hw/ppu/merge.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,11 @@ void PPU::DrawMergeImpl(int cycles) {
153153
merge.force_alpha_blend = false;
154154

155155
const auto current_sprite_pixel = enable_obj ? sprite.buffer_rd[x] : Sprite::Pixel{0U};
156-
157-
if(!current_sprite_pixel.mosaic || !merge.sprite_pixel_latch.mosaic || merge.mosaic_x[1] == 0U) {
156+
if(
157+
!current_sprite_pixel.mosaic || !merge.sprite_pixel_latch.mosaic ||
158+
current_sprite_pixel.priority < merge.sprite_pixel_latch.priority ||
159+
merge.mosaic_x[1] == 0U
160+
) {
158161
merge.sprite_pixel_latch = current_sprite_pixel;
159162
}
160163

0 commit comments

Comments
 (0)