1
0
Fork 0
forked from suyu/suyu
suyu/src/video_core/renderer_opengl
Lioncash bc16f7f3cc renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselves
Given we use a base-class type within the renderer for the rasterizer
(RasterizerInterface), we want to allow renderers to perform more
complex initialization if they need to do such a thing. This makes it
important to reserve type information.

Given the OpenGL renderer is quite simple settings-wise, this is just a
simple shuffling of the initialization code. For something like Vulkan
however this might involve doing something like:

// Initialize and call rasterizer-specific function that requires
// the full type of the instance created.
auto raster = std::make_unique<VulkanRasterizer>(some, params);
raster->CallSomeVulkanRasterizerSpecificFunction();

// Assign to base class variable
rasterizer = std::move(raster)
2018-08-20 19:28:00 -04:00
..
gl_rasterizer.cpp GLRasterizer: Implemented instanced vertex arrays. 2018-08-18 14:42:26 -05:00
gl_rasterizer.h gl_rasterizer: Use a shared helper to upload from CPU memory. 2018-08-12 16:10:26 +02:00
gl_rasterizer_cache.cpp Implemented RGBA8_UINT 2018-08-20 22:26:54 +10:00
gl_rasterizer_cache.h Implemented RGBA8_UINT 2018-08-20 22:26:54 +10:00
gl_resource_manager.h gl_state: Fix state management for texture swizzle. 2018-06-26 17:15:58 -04:00
gl_shader_decompiler.cpp Merge pull request #1115 from Subv/texs_mask 2018-08-20 14:31:33 -04:00
gl_shader_decompiler.h video_core: Use nested namespaces where applicable 2018-07-20 18:23:54 -04:00
gl_shader_gen.cpp Rasterizer: Implemented instanced rendering. 2018-08-14 22:25:07 -05:00
gl_shader_gen.h Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions. 2018-08-19 12:57:54 -05:00
gl_shader_manager.cpp Rasterizer: Implemented instanced rendering. 2018-08-14 22:25:07 -05:00
gl_shader_manager.h Rasterizer: Implemented instanced rendering. 2018-08-14 22:25:07 -05:00
gl_shader_util.cpp Rename logging macro back to LOG_* 2018-07-02 21:45:47 -04:00
gl_shader_util.h Rename logging macro back to LOG_* 2018-07-02 21:45:47 -04:00
gl_state.cpp gl_state: Don't track constant buffer mappings. 2018-08-12 16:10:26 +02:00
gl_state.h gl_state: Don't track constant buffer mappings. 2018-08-12 16:10:26 +02:00
gl_stream_buffer.cpp Update the stream_buffer helper from Citra. 2018-08-12 15:47:35 +02:00
gl_stream_buffer.h Update the stream_buffer helper from Citra. 2018-08-12 15:47:35 +02:00
maxwell_to_gl.h Added WrapMode MirrorOnceClampToEdge 2018-08-19 02:26:50 +10:00
renderer_opengl.cpp renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselves 2018-08-20 19:28:00 -04:00
renderer_opengl.h renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselves 2018-08-20 19:28:00 -04:00