summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_gen.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-09-04gl_shader_cache: Use an u32 for the binding point cache.Markus Wick1-0/+8
The std::string generation with its malloc and free requirement was a noticeable overhead. Also switch to an ordered_map to avoid the std::hash call. As those maps usually have a size of two elements, the lookup time shall not matter.
2018-08-28renderer_opengl: Implement a new shader cache.bunnei1-71/+4
2018-08-22gl_shader_gen: Make ShaderSetup's constructor explicitLioncash1-1/+1
Prevents implicit conversions.
2018-08-22gl_shader_gen: Use a std::vector to represent program code instead of std::arrayLioncash1-10/+15
While convenient as a std::array, it's also quite a large set of data as well (32KB). It being an array also means data cannot be std::moved. Any situation where the code is being set or relocated means that a full copy of that 32KB data must be done. If we use a std::vector we do need to allocate on the heap, however, it does allow us to std::move the data we have within the std::vector into another std::vector instance, eliminating the need to always copy the program data (as std::move in this case would just transfer the pointers and bare necessities over to the new vector instance).
2018-08-22renderer_opengl: Namespace OpenGL codeLioncash1-6/+6
Namespaces all OpenGL code under the OpenGL namespace. Prevents polluting the global namespace and allows clear distinction between other renderers' code in the future.
2018-08-22Revert "Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions."bunnei1-44/+6
- This reverts commit 3ef4b3d4b445960576f10d1ba6521580d03e3da8. - This commit had broken a lot of games. We really should do a full implementation of this in one change.
2018-08-19Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions.Subv1-6/+44
Different sampler types have their parameters in different registers.
2018-07-13gl_shader_gen: Implement dual vertex shader mode.bunnei1-3/+30
- When VertexA shader stage is enabled, we combine with VertexB program to make a single Vertex Shader stage.
2018-06-07gl_shader_gen: Add uniform handling for indirect const buffer access.bunnei1-3/+15
2018-06-06GPU: Implement sampling multiple textures in the generated glsl shaders.Subv1-0/+40
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.
2018-04-15GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.Subv1-1/+13
2018-04-15shaders: Expose hints about used const buffers.bunnei1-2/+36
2018-04-14gl_shader_gen: Add hashable setup/config structs.bunnei1-27/+48
2018-03-20renderer_gl: Port over gl_shader_gen module from Citra.bunnei1-0/+66
2018-01-13Remove references to PICA and rasterizers in video_coreJames Rowe1-162/+0
2017-06-15gl_rasterizer/lighting: implement geometric factorwwylele1-0/+2
2017-05-30gl_rasterizer: sync spot light statuswwylele1-1/+2
2017-05-20gl_rasterizer: implement procedural texturewwylele1-0/+13
2017-05-03pica: use correct coordinates for texture 2wwylele1-0/+1
2017-04-17OpenGL: Pass Pica regs via parameterYuri Kunde Schlesner1-3/+3
2017-04-17OpenGL: Move PicaShaderConfig to gl_shader_gen.hYuri Kunde Schlesner1-2/+109
Also move the implementation of CurrentConfig to the cpp file.
2017-04-17OpenGL: Move Attributes enum to a more appropriate fileYuri Kunde Schlesner1-0/+11
2016-05-03Pica: Use a union for PicaShaderConfigJannik Vogel1-1/+1
2016-04-30VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot1-1/+1
2015-10-22gl_rasterizer: Use MMH3 hash for shader cache hey.bunnei1-1/+1
- Includes a check to confirm no hash collisions.
2015-10-22gl_shader_gen: Add additional function documentation.bunnei1-0/+10
2015-10-22renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.bunnei1-0/+17