yuzu/src/video_core/buffer_cache
ReinUsesLisp 76ca2a5f82
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.
2019-11-02 05:05:34 -03:00
..
buffer_block.h video_core: Silent miscellaneous warnings (#2820) 2019-08-30 14:08:00 -04:00
buffer_cache.h gl_rasterizer: Upload constant buffers with glNamedBufferSubData 2019-11-02 05:05:34 -03:00
map_interval.h Buffer_Cache: Optimize and track written areas. 2019-08-21 12:14:25 -04:00