diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-11-02 04:08:31 -0300 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-11-02 05:05:34 -0300 |
commit | 76ca2a5f82f4df64cb839af42c93acb6705411ae (patch) | |
tree | 22ef46bef8f32d8b2aa2f3928a96b30b3f69e213 /src/input_common/sdl/sdl_impl.cpp | |
parent | 11e39da02bec92fe4a332bfb737323ccb8087626 (diff) |
gl_rasterizer: Upload constant buffers with glNamedBufferSubData
Nvidia's OpenGL driver maps gl(Named)BufferSubData with some requirements
to a fast. This path has an extra memcpy but updates the buffer without
orphaning or waiting for previous calls. It can be seen as a better
model for "push constants" that can upload a whole UBO instead of 256
bytes.
This path has some requirements established here:
http://on-demand.gputechconf.com/gtc/2014/presentations/S4379-opengl-44-scene-rendering-techniques.pdf#page=24
Instead of using the stream buffer, this commits moves constant buffers
uploads to calls of glNamedBufferSubData and from my testing it brings a
performance improvement. This is disabled when the vendor is not Nvidia
since it brings performance regressions.
Diffstat (limited to 'src/input_common/sdl/sdl_impl.cpp')
0 files changed, 0 insertions, 0 deletions