yuzu/src/video_core/renderer_opengl
Lioncash 91ec251c4a gl_shader_decompiler: Add AddLine() overload that forwards to fmt
In a lot of places throughout the decompiler, string concatenation via
operator+ is used quite heavily. This is usually fine, when not heavily
used, but when used extensively, can be a problem. operator+ creates an
entirely new heap allocated temporary string and given we perform
expressions like:

std::string thing = a + b + c + d;

this ends up with a lot of unnecessary temporary strings being created
and discarded, which kind of thrashes the heap more than we need to.
Given we utilize fmt in some AddLine calls, we can make this a part of
the ShaderWriter's API. We can make an overload that simply acts as a
passthrough to fmt.

This way, whenever things need to be appended to a string, the operation
can be done via a single string formatting operation instead of
discarding numerous temporary strings. This also has the benefit of
making the strings themselves look nicer and makes it easier to spot
errors in them.
2019-05-19 14:12:20 -04:00
..
gl_buffer_cache.cpp video_core/texures/texture: Remove unnecessary includes 2019-04-06 00:03:35 -04:00
gl_buffer_cache.h RasterizerCache Redesign: Flush 2019-04-19 20:44:56 -04:00
gl_device.cpp gl_shader_decompiler: Declare all possible varyings on physical attribute usage 2019-05-02 21:46:25 -03:00
gl_device.h gl_shader_decompiler: Declare all possible varyings on physical attribute usage 2019-05-02 21:46:25 -03:00
gl_global_cache.cpp shader_ir: Implement STG, keep track of global memory usage and flush 2019-04-14 00:25:32 -03:00
gl_global_cache.h Rasterizer Cache: Use a temporal storage for Surfaces loading/flushing. 2019-04-21 11:42:07 -04:00
gl_primitive_assembler.cpp video_core/renderer_opengl: Remove unnecessary includes 2019-04-04 12:00:46 -04:00
gl_primitive_assembler.h video_core/renderer_opengl: Remove unnecessary includes 2019-04-04 12:00:46 -04:00
gl_rasterizer_cache.cpp Merge pull request #2461 from lioncash/unused-var 2019-05-14 06:36:26 -04:00
gl_rasterizer_cache.h Rasterizer Cache: Use a temporal storage for Surfaces loading/flushing. 2019-04-21 11:42:07 -04:00
gl_rasterizer.cpp Merge pull request #2480 from ReinUsesLisp/fix-quads 2019-05-19 14:58:49 +01:00
gl_rasterizer.h Merge pull request #2383 from ReinUsesLisp/aoffi-test 2019-04-22 22:14:02 -04:00
gl_resource_manager.cpp gl_shader_util: Add parameter to handle retrievable programs 2019-02-06 22:20:57 -03:00
gl_resource_manager.h gl_shader_util: Add parameter to handle retrievable programs 2019-02-06 22:20:57 -03:00
gl_sampler_cache.cpp gl_sampler_cache: Port sampler cache to OpenGL 2019-04-02 16:58:08 -03:00
gl_sampler_cache.h gl_sampler_cache: Port sampler cache to OpenGL 2019-04-02 16:58:08 -03:00
gl_shader_cache.cpp video_core/renderer_opengl/gl_shader_cache: Correct member initialization order 2019-05-09 18:55:47 -04:00
gl_shader_cache.h Merge pull request #2413 from FernandoS27/opt-gpu 2019-05-13 23:01:59 -03:00
gl_shader_decompiler.cpp gl_shader_decompiler: Add AddLine() overload that forwards to fmt 2019-05-19 14:12:20 -04:00
gl_shader_decompiler.h Merge pull request #2383 from ReinUsesLisp/aoffi-test 2019-04-22 22:14:02 -04:00
gl_shader_disk_cache.cpp gl_shader_disk_cache: in-class initialize virtual file offset of ShaderDiskCacheOpenGL 2019-05-19 02:55:18 -04:00
gl_shader_disk_cache.h gl_shader_disk_cache: in-class initialize virtual file offset of ShaderDiskCacheOpenGL 2019-05-19 02:55:18 -04:00
gl_shader_gen.cpp gl_shader_gen: std::move objects where applicable 2019-05-19 03:46:54 -04:00
gl_shader_gen.h gl_shader_decompiler: Use variable AOFFI on supported hardware 2019-04-14 05:13:19 -03:00
gl_shader_manager.cpp gl_shader_manager: Move code to source file and minor clean up 2019-04-10 19:29:15 -03:00
gl_shader_manager.h gl_shader_manager: Move code to source file and minor clean up 2019-04-10 19:29:15 -03:00
gl_shader_util.cpp video_core: fixed arithmetic overflow warnings & improved code style 2018-09-09 17:51:43 +02:00
gl_shader_util.h gl_shader_util: Add parameter to handle retrievable programs 2019-02-06 22:20:57 -03:00
gl_state.cpp gl_state: Fix samplers memory corruption 2019-04-19 17:07:56 -03:00
gl_state.h gl_state: Rework to enable individual applies 2019-04-03 20:26:27 -03:00
gl_stream_buffer.cpp gl_stream_buffer: Use DSA for buffer management 2019-01-06 16:49:24 -03:00
gl_stream_buffer.h gl_stream_buffer: Use DSA for buffer management 2019-01-06 16:49:24 -03:00
maxwell_to_gl.h maxwell_to_gl: Add TriangleFan primitive topology 2019-05-17 19:58:02 -03:00
renderer_opengl.cpp video_core/renderer_opengl: Remove unnecessary includes 2019-04-04 12:00:46 -04:00
renderer_opengl.h video_core/renderer_opengl: Replace direct usage of global system object accessors 2019-03-04 10:24:09 -05:00
utils.cpp renderer_opengl/utils: Skip empty binds 2019-04-05 19:19:49 -03:00
utils.h gl_rasterizer: Use ARB_multi_bind to update UBOs across stages 2019-04-05 19:10:46 -03:00