Fixed Linked List DMA end marker. (#183)
[pcsx_rearmed.git] / plugins / gpu-gles / gpuPlugin.c
index 60570ac..6d3ca14 100644 (file)
@@ -2205,9 +2205,8 @@ do
   if(count>0) GPUwriteDataMem(&baseAddrL[dmaMem>>2],count);\r
   \r
   addr = baseAddrL[addr>>2]&0xffffff;\r
- }\r
-while (addr != 0xffffff);\r
-\r
+  } while (!(addr & 0x800000)); // contrary to some documentation, the end-of-linked-list marker is not actually 0xFF'FFFF\r
+                                  // any pointer with bit 23 set will do.\r
 GPUIsIdle;\r
 \r
 return 0;\r