summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_manager.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use standard UBO and fix/stylize the codeFernandoS272018-10-221-0/+11
|
* gl_shader_decompiler: Implement geometry shadersReinUsesLisp2018-10-071-0/+8
|
* renderer_opengl: Implement a new shader cache.bunnei2018-08-281-29/+0
|
* 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-1/+6
| | | | | | 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: Invert conditional in SetShaderUniformBlockBinding()Lioncash2018-08-041-7/+9
| | | | | This lets us indent the majority of the code and places the error case first.
* gl_shader_manager: Amend sign differences in an assertion comparison in SetShaderUniformBlockBinding()Lioncash2018-08-041-3/+2
| | | | | | | | Ensures both operands have the same sign in the comparison. While we're at it, we can get rid of the redundant casting of ub_size to an int. This type will always be trivial and alias a built-in type (not doing so would break backwards compatibility at a standard level).
* gl_shader_manager: Replace unimplemented function prototypeLioncash2018-07-211-2/+3
| | | | This was just a linker error waiting to happen.
* core: Don't construct instance of Core::System, just to access its live instanceLioncash2018-07-191-1/+1
| | | | | | | | | This would result in a lot of allocations and related object construction, just to toss it all away immediately after the call. These are definitely not intentional, and it was intended that all of these should have been accessing the static function GetInstance() through the name itself, not constructed instances.
* Build: Fixed some MSVC warnings in various parts of the code.Subv2018-06-201-2/+2
|
* GPU: Implement sampling multiple textures in the generated glsl shaders.Subv2018-06-061-19/+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.
* general: Convert assertion macros over to be fmt-compatibleLioncash2018-04-271-1/+1
|
* gl_shader_gen: Support vertical/horizontal viewport flipping. (#347)bunnei2018-04-181-1/+7
| | | | | | * gl_shader_gen: Support vertical/horizontal viewport flipping. * fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
* GPU: Upload the entirety of each constbuffer for each shader stage as SSBOs.Subv2018-04-151-8/+1
| | | | 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-1/+1
|
* gl_shader_manager: Implement SetShaderSamplerBindings.bunnei2018-04-141-0/+8
|
* gl_shader_manager: Cleanup and consolidate uniform handling.bunnei2018-04-141-4/+15
|
* renderer_opengl: Add gl_shader_manager class.bunnei2018-04-141-0/+46