some bugfixes

This commit is contained in:
h4570
2022-07-28 20:44:21 +02:00
parent 960f4dd0c4
commit 4366d6d6fb
14 changed files with 177 additions and 48 deletions
@@ -63,7 +63,7 @@ class BlockizerProgramsManager {
private:
McpipProgramsRepository repo;
Renderer* renderer;
RendererCore* rendererCore;
McpipSingleTexBlockData singleTexBlockData;
McpipMultiTexBlockData multiTexBlockData;
McpipProgramName lastProgramName;
@@ -24,13 +24,22 @@ class Path1 {
u32 uploadProgram(VU1Program* program, const u32& address);
void sendDrawFinishTag();
void addDrawFinishTag(packet2_t* packet);
packet2_t* createProgramsCache(VU1Program** programs, const u32& count,
const u32& address);
void setDoubleBuffer(const u16& startingAddress, const u16& bufferSize);
private:
void uploadDrawFinishProgram();
void prepareDrawFinishPacket();
packet2_t* doubleBufferPacket;
packet2_t* drawFinishPacket;
u32 drawFinishAddr;
};
} // namespace Tyra
@@ -27,7 +27,7 @@ class Path3 {
void init(RendererSettings* settings);
void addDrawFinishTag();
void sendDrawFinishTag();
void clearScreen(zbuffer_t* z, const Color& color);
void sendTexture(Texture* texture,
const RendererCoreTextureBuffers& texBuffers);
@@ -13,6 +13,7 @@
#include <draw.h>
#include <gs_privileged.h>
#include "./paths/path3/path3.hpp"
#include "./paths/path1/path1.hpp"
namespace Tyra {
@@ -29,22 +30,29 @@ class RendererCoreSync {
RendererCoreSync();
~RendererCoreSync();
void init(Path3* path3);
void init(Path3* path3, Path1* path1);
// --- Auto
/** clear() -> sendPath1Req() -> waitAndClear() */
void align3D();
/** clear() -> sendPath3Req() -> waitAndClear() */
void align2D();
// --- Manual
/** Send draw finish tag via VU1 to GS. */
void add();
/** Check if finish flag was set by GS. */
u8 check();
/** Clear finish tag flag. */
void clear();
/** Wait for finish flag and clear it. */
void waitAndClear();
void sendPath1Req();
void sendPath3Req();
/** Clear() -> Add() -> waitAndClear() */
void align();
void addPath1Req(packet2_t* packet);
private:
Path3* path3;
Path1* path1;
};
} // namespace Tyra