This is very problematic since Cg is not a forward compatible platform. Up until now, we have relied on nVidia Cg to serve as a basic foundation for shaders, but Cg has been discontinued for years and is closed source. There was no good ready-made solution for this. The current state of writing high-level shading languages that work "everywhere" is very challenging. While it has served us well, it is not forward-compatible. The current shader subsystem in RetroArch is quite mature with a large body of shaders written for it. When we want to consider GLES2 compat we should not spec out high level features which do not make much sense in the context of GLES2. There are many shader builtins for example which only work in GLES3/G元 and we should not hold back support in these cases. However, we also do not want to artificially limit ourselves to shader features which are only available in GLES2. We therefore want to avoid speccing out a design which deliberately ruins GLES2 compatibility. GL2 is mostly not relevant any longer, but GLES2 is certainly a very relevant platform still and having GLES2 compatibility makes GL2 very easy. RetroArch is still expected to run on GLES2 and GL2 systems. This is mostly for discussing and deliberation while the new system is under development. In addition this document will contain various musings on why certain design choices are made and which compromised have been made to arrive at the conclusion. It will outline the features in the new shader subsystem and describe details for how it will work in practice. This document is a draft of RetroArch's new GPU shader system.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |