From edeee9fd4f60a6440a6776cb5306395c0917891a Mon Sep 17 00:00:00 2001 From: Stefanos Kornilios Mitsis Poiitidis Date: Wed, 7 May 2025 10:17:35 +0300 Subject: [PATCH 1/2] refsw2: Fix for presort mode --- vendor/emu/refsw/refsw_tile.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vendor/emu/refsw/refsw_tile.cpp b/vendor/emu/refsw/refsw_tile.cpp index eb2bba80..f2827f66 100644 --- a/vendor/emu/refsw/refsw_tile.cpp +++ b/vendor/emu/refsw/refsw_tile.cpp @@ -188,6 +188,10 @@ void RenderParamTags(int tileX, int tileY) { tagStatus[index].rendered = true; } } + + if (rm == RM_TRANSLUCENT_PRESORT) { + tagStatus[index].valid = false; + } } } } From e4814f3e5131f7603c56233ba148c577945af305 Mon Sep 17 00:00:00 2001 From: Stefanos Kornilios Mitsis Poiitidis Date: Wed, 7 May 2025 10:18:05 +0300 Subject: [PATCH 2/2] hlekos: Fix for semaphore_t collision --- vendor/koshle/hlekos.cpp | 3 ++- vendor/koshle/kos/sem.h | 3 +++ vendor/koshle/pvr_internal.h | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/vendor/koshle/hlekos.cpp b/vendor/koshle/hlekos.cpp index ef1f66c7..5dc97072 100644 --- a/vendor/koshle/hlekos.cpp +++ b/vendor/koshle/hlekos.cpp @@ -24,7 +24,7 @@ void * maple_dev_status(maple_device*) { maple_device_t * maple_enum_type(int n, uint32 func) { return &dev; } - +namespace kos { int sem_wait_timed(semaphore_t *sem, int timeout) { auto count = sem->count.load(); @@ -54,6 +54,7 @@ int sem_signal(semaphore_t *sem) { sem->count++; return 0; } +} void sq_lock(void *dest) { diff --git a/vendor/koshle/kos/sem.h b/vendor/koshle/kos/sem.h index b0785616..60526b05 100644 --- a/vendor/koshle/kos/sem.h +++ b/vendor/koshle/kos/sem.h @@ -32,6 +32,7 @@ \headerfile kos/sem.h */ +namespace kos { typedef struct semaphore { std::atomic initialized; /**< \brief Are we initialized? */ std::atomic count; /**< \brief The semaphore count */ @@ -177,5 +178,7 @@ int sem_signal(semaphore_t *sem); */ int sem_count(semaphore_t *sem); +} +using namespace kos; #endif /* __KOS_SEM_H */ diff --git a/vendor/koshle/pvr_internal.h b/vendor/koshle/pvr_internal.h index a3d34985..276bab2b 100644 --- a/vendor/koshle/pvr_internal.h +++ b/vendor/koshle/pvr_internal.h @@ -233,7 +233,7 @@ typedef struct { /* Wait-ready semaphore: this will be signaled whenever the pvr_wait_ready() call should be ready to return. */ - semaphore_t ready_sem; + kos::semaphore_t ready_sem; // Handle for the vblank interrupt int vbl_handle;