some bugfixes
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user