z buffer fix for minecraft pipeline
This commit is contained in:
@@ -28,6 +28,8 @@ class RendererCoreGS {
|
|||||||
|
|
||||||
void flipBuffers();
|
void flipBuffers();
|
||||||
|
|
||||||
|
void enableZTests();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
constexpr static float gsCenter = 4096.0F;
|
constexpr static float gsCenter = 4096.0F;
|
||||||
constexpr static float screenCenter = gsCenter / 2.0F;
|
constexpr static float screenCenter = gsCenter / 2.0F;
|
||||||
|
|||||||
@@ -60,6 +60,9 @@ void MinecraftPipeline::setLod() {
|
|||||||
void MinecraftPipeline::onUse() {
|
void MinecraftPipeline::onUse() {
|
||||||
spamBuffers = new McpipBlock**[spamBuffersCount];
|
spamBuffers = new McpipBlock**[spamBuffersCount];
|
||||||
spamCounts = new u32[spamBuffersCount];
|
spamCounts = new u32[spamBuffersCount];
|
||||||
|
|
||||||
|
rendererCore->gs.enableZTests();
|
||||||
|
|
||||||
manager.allocateOnUse();
|
manager.allocateOnUse();
|
||||||
|
|
||||||
manager.uploadVU1Programs();
|
manager.uploadVU1Programs();
|
||||||
|
|||||||
@@ -89,6 +89,15 @@ void RendererCoreGS::allocateBuffers() {
|
|||||||
TYRA_LOG("Framebuffers, zBuffer set and allocated!");
|
TYRA_LOG("Framebuffers, zBuffer set and allocated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RendererCoreGS::enableZTests() {
|
||||||
|
packet2_reset(zTestPacket, false);
|
||||||
|
packet2_update(zTestPacket,
|
||||||
|
draw_enable_tests(zTestPacket->base, 0, &zBuffer));
|
||||||
|
packet2_update(zTestPacket, draw_finish(zTestPacket->next));
|
||||||
|
dma_channel_wait(DMA_CHANNEL_GIF, 0);
|
||||||
|
dma_channel_send_packet2(zTestPacket, DMA_CHANNEL_GIF, true);
|
||||||
|
}
|
||||||
|
|
||||||
void RendererCoreGS::initDrawingEnvironment() {
|
void RendererCoreGS::initDrawingEnvironment() {
|
||||||
packet2_t* packet2 = packet2_create(20, P2_TYPE_NORMAL, P2_MODE_NORMAL, 0);
|
packet2_t* packet2 = packet2_create(20, P2_TYPE_NORMAL, P2_MODE_NORMAL, 0);
|
||||||
packet2_update(packet2, draw_setup_environment(packet2->base, 0, frameBuffers,
|
packet2_update(packet2, draw_setup_environment(packet2->base, 0, frameBuffers,
|
||||||
|
|||||||
Reference in New Issue
Block a user