@@ -633,31 +633,45 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span<const u32> dcb, std::span<c
633
633
634
634
const u32 num_bytes = dma_data->NumBytes ();
635
635
if (dma_data->src_sel == DmaDataSrc::Data && dma_data->dst_sel == DmaDataDst::Gds) {
636
+ // LOG_WARNING(Render_Vulkan, "1 - Graphics DMA packet(src:Data & dst:GDS) size = {}", num_bytes);
636
637
rasterizer->InlineData (dma_data->dst_addr_lo , &dma_data->data , sizeof (u32 ),
637
638
true );
638
639
} else if (dma_data->src_sel == DmaDataSrc::Memory &&
639
640
dma_data->dst_sel == DmaDataDst::Gds) {
641
+ LOG_WARNING (Render_Vulkan, " 2 - Graphics DMA packet(src:Memory & dst:GDS) size = {}" ,
642
+ num_bytes);
640
643
rasterizer->CopyBuffer (dma_data->dst_addr_lo , dma_data->SrcAddress <VAddr>(),
641
644
num_bytes, true , false );
642
645
} else if (dma_data->src_sel == DmaDataSrc::MemoryUsingL2 &&
643
646
dma_data->dst_sel == DmaDataDst::Gds) {
647
+ LOG_WARNING (Render_Vulkan, " 2 - Graphics DMA packet(src:MemoryL2 & dst:GDS) size = {}" ,
648
+ num_bytes);
644
649
rasterizer->InlineData (dma_data->dst_addr_lo ,
645
650
dma_data->SrcAddress <const void *>(), num_bytes, true );
646
651
} else if (dma_data->src_sel == DmaDataSrc::Data &&
647
652
(dma_data->dst_sel == DmaDataDst::Memory ||
648
653
dma_data->dst_sel == DmaDataDst::MemoryUsingL2)) {
654
+ LOG_WARNING (Render_Vulkan, " 3 - Graphics DMA packet(src:Data & dst:Memory) size = {}" ,
655
+ num_bytes);
649
656
rasterizer->InlineData (dma_data->DstAddress <VAddr>(), &dma_data->data ,
650
657
sizeof (u32 ), false );
651
658
} else if (dma_data->src_sel == DmaDataSrc::Gds &&
652
- dma_data->dst_sel == DmaDataDst::Memory) {
653
- rasterizer->CopyBuffer (dma_data->DstAddress <VAddr>(), dma_data->src_addr_lo ,
654
- num_bytes, false , true );
655
- } else if (dma_data->src_sel == DmaDataSrc::Gds &&
656
- dma_data->dst_sel == DmaDataDst::MemoryUsingL2) {
659
+ (dma_data->dst_sel == DmaDataDst::Memory ||
660
+ dma_data->dst_sel == DmaDataDst::MemoryUsingL2)) {
661
+ LOG_WARNING (Render_Vulkan,
662
+ " 4 - Graphics DMA packet(src:Gds & dst:Memory) size = {}" ,
663
+ num_bytes);
664
+ if (num_bytes > 10240 ) {
665
+ rasterizer->CopyBuffer (dma_data->DstAddress <VAddr>(), dma_data->src_addr_lo ,
666
+ num_bytes, false , true );
667
+ }
657
668
} else if ((dma_data->src_sel == DmaDataSrc::Memory ||
658
669
dma_data->src_sel == DmaDataSrc::MemoryUsingL2) &&
659
670
(dma_data->dst_sel == DmaDataDst::Memory ||
660
671
dma_data->dst_sel == DmaDataDst::MemoryUsingL2)) {
672
+ LOG_WARNING (Render_Vulkan,
673
+ " 5 - Graphics DMA packet(Last case) size = {}" ,
674
+ num_bytes);
661
675
if (num_bytes <= 10240 ) {
662
676
rasterizer->InlineData (dma_data->DstAddress <VAddr>(),
663
677
dma_data->SrcAddress <const void *>(), num_bytes,
@@ -852,30 +866,42 @@ Liverpool::Task Liverpool::ProcessCompute(const u32* acb, u32 acb_dwords, u32 vq
852
866
853
867
const u32 num_bytes = dma_data->NumBytes ();
854
868
if (dma_data->src_sel == DmaDataSrc::Data && dma_data->dst_sel == DmaDataDst::Gds) {
869
+ // LOG_WARNING(Render_Vulkan, "1 - Compute DMA packet(src:Data & dst:GDS) size = {}", num_bytes);
855
870
rasterizer->InlineData (dma_data->dst_addr_lo , &dma_data->data , sizeof (u32 ), true );
856
871
} else if (dma_data->src_sel == DmaDataSrc::Memory &&
857
872
dma_data->dst_sel == DmaDataDst::Gds) {
873
+ LOG_WARNING (Render_Vulkan, " 2 - Compute DMA packet(src:Memory & dst:GDS) size = {}" ,
874
+ num_bytes);
858
875
rasterizer->CopyBuffer (dma_data->dst_addr_lo , dma_data->SrcAddress <VAddr>(),
859
876
num_bytes, true , false );
860
877
} else if (dma_data->src_sel == DmaDataSrc::MemoryUsingL2 &&
861
878
dma_data->dst_sel == DmaDataDst::Gds) {
879
+ LOG_WARNING (Render_Vulkan, " 2 - Compute DMA packet(src:MemoryL2 & dst:GDS) size = {}" ,
880
+ num_bytes);
862
881
rasterizer->InlineData (dma_data->dst_addr_lo , dma_data->SrcAddress <const void *>(),
863
882
num_bytes, true );
864
883
} else if (dma_data->src_sel == DmaDataSrc::Data &&
865
884
(dma_data->dst_sel == DmaDataDst::Memory ||
866
885
dma_data->dst_sel == DmaDataDst::MemoryUsingL2)) {
886
+ LOG_WARNING (Render_Vulkan, " 3 - Compute DMA packet(src:Data & dst:Memory) size = {}" ,
887
+ num_bytes);
867
888
rasterizer->InlineData (dma_data->DstAddress <VAddr>(), &dma_data->data , sizeof (u32 ),
868
889
false );
869
890
} else if (dma_data->src_sel == DmaDataSrc::Gds &&
870
- dma_data->dst_sel == DmaDataDst::Memory) {
871
- rasterizer->CopyBuffer (dma_data->DstAddress <VAddr>(), dma_data->src_addr_lo ,
872
- num_bytes, false , true );
873
- } else if (dma_data->src_sel == DmaDataSrc::Gds &&
874
- dma_data->dst_sel == DmaDataDst::MemoryUsingL2) {
891
+ (dma_data->dst_sel == DmaDataDst::Memory ||
892
+ dma_data->dst_sel == DmaDataDst::MemoryUsingL2)) {
893
+ LOG_WARNING (Render_Vulkan, " 4 - Compute DMA packet(src:Gds & dst:Memory) size = {}" ,
894
+ num_bytes);
895
+ if (num_bytes > 10240 ) {
896
+ rasterizer->CopyBuffer (dma_data->DstAddress <VAddr>(), dma_data->src_addr_lo ,
897
+ num_bytes, false , true );
898
+ }
875
899
} else if ((dma_data->src_sel == DmaDataSrc::Memory ||
876
900
dma_data->src_sel == DmaDataSrc::MemoryUsingL2) &&
877
901
(dma_data->dst_sel == DmaDataDst::Memory ||
878
902
dma_data->dst_sel == DmaDataDst::MemoryUsingL2)) {
903
+ LOG_WARNING (Render_Vulkan, " 5 - Compute DMA packet(Last case) size = {}" ,
904
+ num_bytes);
879
905
if (num_bytes <= 10240 ) {
880
906
rasterizer->InlineData (dma_data->DstAddress <VAddr>(),
881
907
dma_data->SrcAddress <const void *>(), num_bytes, false );
0 commit comments