summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_manager.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gl_shader_manager: Update pipeline when programs have changedReinUsesLisp2018-11-291-4/+17
|
* gl_shader_decompiler: Implement S2R's Y_DIRECTIONReinUsesLisp2018-11-251-3/+6
|
* fix viewport and scissor behaviorRodolfo Bogado2018-11-171-0/+1
|
* gl_resource_manager: Split implementations in .cpp file.Markus Wick2018-11-061-0/+1
| | | | | Those implementations are quite costly, so there is no need to inline them to the caller. Ressource deletion is often a performance bug, so in this way, we support to add breakpoints to them.
* Use standard UBO and fix/stylize the codeFernandoS272018-10-221-1/+7
|
* gl_shader_decompiler: Implement geometry shadersReinUsesLisp2018-10-071-1/+6
|
* gl_state: Pack sampler bindings into a single ARB_multi_bindReinUsesLisp2018-09-281-3/+0
|
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-1/+1
|
* renderer_opengl: Implement a new shader cache.bunnei2018-08-281-116/+10
|
* renderer_opengl: Namespace OpenGL codeLioncash2018-08-221-2/+2
| | | | | | | Namespaces all OpenGL code under the OpenGL namespace. Prevents polluting the global namespace and allows clear distinction between other renderers' code in the future.
* Rasterizer: Implemented instanced rendering.Subv2018-08-151-2/+3
| | | | | | We keep track of the current instance and update an uniform in the shaders to let them know which instance they are. Instanced vertex arrays are not yet implemented.
* gl_shader_manager: Make ProgramManager's GetCurrentProgramStage() a const member functionLioncash2018-08-031-1/+1
| | | | This function doesn't modify class state, so it can be made const.
* gl_shader_manager: Take ShaderSetup instances by const reference in UseProgrammableVertexShader() and UseProgrammableFragmentShader()Lioncash2018-08-021-2/+2
| | | | | | | | | Avoids performing unnecessary copies of 65560 byte sized ShaderSetup instances, considering it's only used as part of lookup and not modified. Given the parameters were already const, it's likely taking these parameters by reference was intended but the ampersand was forgotten.
* gl_shader_manager: Replace unimplemented function prototypeLioncash2018-07-211-1/+0
| | | | This was just a linker error waiting to happen.
* GPU: Implement sampling multiple textures in the generated glsl shaders.Subv2018-06-061-1/+0
| | | | | | All tested games that use a single texture show no regression. Only Texture2D textures are supported right now, each shader gets its own "tex_fs/vs/gs" sampler array to maintain independent textures between shader stages, the textures themselves are reused if possible.
* gl_shader_gen: Support vertical/horizontal viewport flipping. (#347)bunnei2018-04-181-3/+2
| | | | | | * gl_shader_gen: Support vertical/horizontal viewport flipping. * fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
* GPU: Don't use explicit binding points when uploading the constbuffers to opengl.Subv2018-04-151-0/+11
| | | | The bindpoints will now be dynamically calculated based on the number of buffers used by the previous shader stage.
* shaders: Expose hints about used const buffers.bunnei2018-04-151-13/+28
|
* GPU: Upload the entirety of each constbuffer for each shader stage as SSBOs.Subv2018-04-151-4/+3
| | | | We're going to need the shader generator to give us a mapping of the actual used const buffers to properly bind them to the shader.
* shaders: Add NumTextureSamplers const, remove unused #pragma.bunnei2018-04-151-0/+3
|
* gl_shader_manager: Cleanup and consolidate uniform handling.bunnei2018-04-141-22/+9
|
* renderer_opengl: Add gl_shader_manager class.bunnei2018-04-141-0/+161