h0MER247 / swGL

A multithreaded software implementation of OpenGL 1.3 in C++.
GNU General Public License v2.0
66 stars 9 forks source link

4x4 pixel quads #11

Open adamschackart opened 1 year ago

adamschackart commented 1 year ago

Expanding pixel quads from 2x2 to 4x4 could open up the possibility of AVX2 or even AVX512 optimizations. The edge and gradient equations make this tricky, as well as cubemap sampling (they all set individual SIMD lanes, and fixing that exceeds my current understanding of the math behind software rasterization). One thing that would make this easier is to make QInt/QFloat classes so they could be replaced by Int16X/Float16X or something like that.

I would also like to poke again at issue #7 :)

adamschackart commented 1 year ago

Another (unlikely and ugly) possibility is 8x2 quads, so that 2x2 sub-quads could be operated on where necessary and math could be widened everywhere else.