int main(int argc, char **argv) { bool v3dsupported = AllocatorBase::v3d2Supported(); AllocatorBase *allocator; //dispmanxtest(); //return 0; if (v3dsupported) { v3d2_init(); puts("using new v3d2 driver"); allocator = new V3D2Allocator(); } else { puts("using mailbox fallback"); allocator = new MailboxAllocator(); } // map v3d's registers into our address space. v3d = (unsigned *) mapmem(0x20c00000, 0x1000); if(v3d[V3D_IDENT0] != 0x02443356) { // Magic number. printf("Error: V3D pipeline isn't powered up and accessable.\n"); exit(-1); } int mbox = mbox_open(); testTriangle(mbox,allocator); //testBinner(allocator,v3d); return 0; // We now have access to the v3d registers, we should do something. for (int i=12; i<26; i+=1) { NopSled sled(allocator,(1<<i)+0xa); sled.benchmark(v3d); } return 0; }
int main(int argc, char **argv) { portret(0.1, "g_potrtret_1.png"); portret(0.5, "g_potrtret_5.png"); portret(1.0, "g_potrtret_10.png"); portret(5.0, "g_potrtret_50.png"); portret(10.0, "g_potrtret_100.png"); portret(30.0, "g_potrtret_300.png"); sled(1.0, 0.5, 1.0, "g_sled_10_5_10.dat"); sled(1.0, 0.5, 0.5, "g_sled_10_5_5.dat"); sled(1.0, 0.5, 0.0, "g_sled_10_5_0.dat"); sled(0.5, 0.5, 1.0, "g_sled_5_5_10.dat"); sled(0.5, 0.5, 0.5, "g_sled_5_5_5.dat"); sled(0.5, 0.5, 0.0, "g_sled_5_5_0.dat"); sled(0.5, 0.5, -1.0, "g_sled_5_5_-10.dat"); sled(0.5, 0.5, -0.5, "g_sled_5_5_-5.dat"); sled(1.0, 0.5, -1.0, "g_sled_10_5_-10.dat"); sled(10.0, 0.5, 0.0, "g_sled_100_5_0.dat"); sled(10.0, 0.5, 2.0, "g_sled_100_5_20.dat"); return 0; }