Worked on flexible OpenCL workgroup sizes. So far it only works if the window width and height are the same and a multiple of the workgroup size.