fase 4+5: fibers cooperatius substitueixen el game thread, sense mutex ni cv

This commit is contained in:
2026-04-15 18:50:43 +02:00
parent 801a8ad1bd
commit 1507a1c740
9 changed files with 313 additions and 141 deletions

View File

@@ -3,7 +3,7 @@
#include <fstream>
#include "core/jail/jfile.hpp"
#include "core/system/director.hpp"
#include "core/system/fiber.hpp"
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-but-set-variable"
@@ -165,7 +165,14 @@ void JD8_Flip() {
pixel_data[x + (y * 320)] = color;
}
}
Director::get()->publishFrame(pixel_data);
// Cedeix el control al Director. Quan Director::run() ens torne a fer
// resume(), continuarem just ací i el joc continuarà amb la següent
// iteració del seu loop sense bloquejos de mutex/cv.
GameFiber::yield();
}
Uint32* JD8_GetFramebuffer() {
return pixel_data;
}
void JD8_FreeSurface(JD8_Surface surface) {