+ if(cl->format.bitsPerPixel == 16) {
+ cl->format.depth = 16; //number of useful bits in the pixel value
+ cl->format.redShift = 11;
+ cl->format.greenShift = 5;
+ cl->format.blueShift = 0;
+ cl->format.redMax = 0x1f;
+ cl->format.greenMax = 0x3f;
+ cl->format.blueMax = 0x1f;
+ } else {
+ cl->format.depth = 24; //number of useful bits in the pixel value
+ cl->format.redShift = 16;
+ cl->format.greenShift = 8;
+ cl->format.blueShift = 0;
+ cl->format.redMax = 0xff;
+ cl->format.greenMax = 0xff;
+ cl->format.blueMax = 0xff;
+ }
+
+ if (t->frameBuffer)
+ delete [] t->frameBuffer; // do not leak if we get a new framebuffer size
+ const int size = cl->width * cl->height * (cl->format.bitsPerPixel / 8);
+ t->frameBuffer = new uint8_t[size];
+ cl->frameBuffer = t->frameBuffer;
+ memset(cl->frameBuffer, '\0', size);
+
+