Skip to content

ngl: move uniform key mapping into uniform state

Previously, we translated the uniform key (an enum) into a location within the shader program in GskNglProgram. A number of performance improvements were focused around having low nubers for the uniform locations. Generally this is the case, but some drivers such as old Intel drivers on Windows may use rather large numbers for those.

To combat this, we can push the translation of uniform keys into locations at the GskNglUniformState level so that we work with unranslated keys through the process until applying them.

Fixes #3780 (closed)

Merge request reports