private void linkedList() //WARNING QUEUE ARRAY TESTS !!!! { uint header = 0; Queue <uint> queue = new Queue <uint>(); //test while ((header & 0x800000) == 0) { //Console.WriteLine("HEADER addr " + baseAddress.ToString("x8")); header = dma_transfer.fromRAM(baseAddress); //Console.WriteLine("HEADER addr " + baseAddress.ToString("x8") + " value: " + header.ToString("x8")); uint size = header >> 24; if (size > 0) { baseAddress = (baseAddress + 4) & 0x1ffffc; uint[] load = dma_transfer.fromRAM(baseAddress, size); // Console.WriteLine("GPU SEND addr " + dmaAddress.ToString("x8") + " value: " + load.ToString("x8")); //dma_transfer.toGPU(load); //dma_transfer.toGPU(); for (int i = 0; i < load.Length; i++) { queue.Enqueue(load[i]); } } baseAddress = header & 0x1ffffc; } dma_transfer.toGPU(queue.ToArray()); }
private void linkedList() { uint header = 0; while ((header & 0x800000) == 0) { //Console.WriteLine("HEADER addr " + baseAddress.ToString("x8")); header = dma_transfer.fromRAM(baseAddress); //Console.WriteLine("HEADER addr " + baseAddress.ToString("x8") + " value: " + header.ToString("x8")); uint size = header >> 24; if (size > 0) { baseAddress = (baseAddress + 4) & 0x1ffffc; //uint load = dma_transfer.fromRAM(dmaAddress); // Console.WriteLine("GPU SEND addr " + dmaAddress.ToString("x8") + " value: " + load.ToString("x8")); //dma_transfer.toGPU(load); dma_transfer.toGPU(dma_transfer.fromRAM(baseAddress, size)); } baseAddress = header & 0x1ffffc; } }
private void linkedList(uint addr) { uint header = 0; uint dmaAddress = getStartAdress(addr); while ((header & 0x800000) == 0) { header = dma_transfer.fromRAM(dmaAddress); //Console.WriteLine("HEADER addr " + dmaAddress.ToString("x8") + " value: " + header.ToString("x8")); uint size = header >> 24; if (size > 0) { dmaAddress = (dmaAddress + 4) & 0x1ffffc; //uint load = dma_transfer.fromRAM(dmaAddress); // Console.WriteLine("GPU SEND addr " + dmaAddress.ToString("x8") + " value: " + load.ToString("x8")); //dma_transfer.toGPU(load); uint[] bufferTest = dma_transfer.fromRAM(dmaAddress, size); dma_transfer.toGPU(bufferTest); } dmaAddress = header & 0x1ffffc; } }