* Brings us closer to core profile, all matrices are working, and apart from a problem with text drawing, Blender is working fine. * Reduce the coding overhead of having to setup/teardown when alternating between 2D and 3D drawing sessions. * Gives us fewer modes and states we need to keep track of. Unfortunatelly this also "rejects a fundamental change" the original design was trying to make - that 2D is different from 3D and deserves its own best implementation. That said, it is still aligned with the function API design as originally implemented (i.e., it still uses gpuTranslate2D, ...). Finally, if you build with core profile and this patch you get: https://developer.blender.org/F545352 [The text glitch is an unrelated issue]. Reviewers: merwin, sergey, brecht Differential Revision: https://developer.blender.org/D2626