Fix glitched texture

This commit is contained in:
h4570
2024-02-12 00:10:40 +01:00
parent 4f21626136
commit 1dbd2d6a5a
3 changed files with 8 additions and 0 deletions
@@ -189,6 +189,8 @@ void DynPipRenderer::addBufferDataToPacket(DynPipBag** bags, const u32& count) {
void DynPipRenderer::sendPacket() {
dma_channel_wait(DMA_CHANNEL_VIF1, 0);
dma_channel_wait(DMA_CHANNEL_GIF, 0); // Wait for texture. Issue #182.
// dma_wait_fast(); // This have no impact on performance
dma_channel_send_packet2(currentPacket, DMA_CHANNEL_VIF1, true);
@@ -87,6 +87,7 @@ void BlockizerProgramsManager::uploadBlock(bool isMulti) {
vu1BlockData = isMulti ? BlockMultiUploaded : BlockSingleUploaded;
dma_channel_wait(DMA_CHANNEL_VIF1, 0);
// dma_channel_wait(DMA_CHANNEL_GIF, 0); // ? - ?
dma_channel_send_packet2(staticPacket, DMA_CHANNEL_VIF1, true);
}
@@ -168,6 +169,8 @@ void BlockizerProgramsManager::sendPacket(McpipProgram* program) {
packet2_utils_vu_add_end_tag(currentPacket);
dma_channel_wait(DMA_CHANNEL_VIF1, 0);
dma_channel_wait(DMA_CHANNEL_GIF, 0); // Wait for texture. Issue #182.
// dma_wait_fast(); // This have no impact on performance
dma_channel_send_packet2(currentPacket, DMA_CHANNEL_VIF1, true);
@@ -173,6 +173,7 @@ void StaPipQBufferRenderer::sendObjectData(
packet2_utils_vu_add_end_tag(objectDataPacket);
dma_channel_wait(DMA_CHANNEL_VIF1, 0);
// dma_channel_wait(DMA_CHANNEL_GIF, 0); // 289 - 294
dma_channel_send_packet2(objectDataPacket, DMA_CHANNEL_VIF1, true);
}
@@ -365,6 +366,8 @@ void StaPipQBufferRenderer::sendPacket() {
"Packet is too big. Internal error");
dma_channel_wait(DMA_CHANNEL_VIF1, 0);
dma_channel_wait(DMA_CHANNEL_GIF, 0); // Wait for texture. Issue #182.
// dma_wait_fast(); // This have no impact on performance
dma_channel_send_packet2(currentPacket, DMA_CHANNEL_VIF1, true);