summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_gen.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gl_shader_cache: Fixup GLSL unique identifiersReinUsesLisp2019-02-071-1/+1
|
* gl_shader_disk_cache: Save GLSL and entries into the precompiled fileReinUsesLisp2019-02-071-2/+0
|
* video_core: Rename glsl_decompiler to gl_shader_decompilerReinUsesLisp2019-01-151-1/+1
|
* video_core: Replace gl_shader_decompilerReinUsesLisp2019-01-151-155/+3
|
* Implemented a shader unique identifier.Fernando Sahmkow2018-12-091-0/+3
|
* gl_rasterizer: Enable clip distances when set in register and in shaderReinUsesLisp2018-11-291-0/+1
|
* shader_cache: Only lock covered instructions.Markus Wick2018-11-201-0/+1
|
* gl_shader_decompiler: Move position varying declaration back to gl_shader_genReinUsesLisp2018-10-201-0/+2
| | | | | | | The intention of declaring them in gl_shader_decompiler was to be able to use blocks to implement geometry shaders. But that wasn't needed in the end and it caused issues when both vertex stages were being used, resulting in a redeclaration of "position".
* gl_shader_decompiler: Implement geometry shadersReinUsesLisp2018-10-071-0/+6
|
* Implemented Depth Compare and Shadow SamplersFernandoS272018-10-061-3/+11
|
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-9/+9
|
* gl_shader_decompiler: Partially implement several non-2D texture types (Subv).bunnei2018-09-081-6/+44
|
* gl_shader_cache: Use an u32 for the binding point cache.Markus Wick2018-09-041-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.
* renderer_opengl: Implement a new shader cache.bunnei2018-08-281-71/+4
|
* Merge pull request #1157 from lioncash/vecbunnei2018-08-231-10/+15
|\ | | | | gl_shader_gen: Use a std::vector to represent program code instead of std::array
| * gl_shader_gen: Make ShaderSetup's constructor explicitLioncash2018-08-221-1/+1
| | | | | | | | Prevents implicit conversions.
| * gl_shader_gen: Use a std::vector to represent program code instead of std::arrayLioncash2018-08-221-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).
* | renderer_opengl: Namespace OpenGL codeLioncash2018-08-221-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.
* Revert "Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions."bunnei2018-08-221-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.
* Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions.Subv2018-08-191-6/+44
| | | | Different sampler types have their parameters in different registers.
* gl_shader_gen: Implement dual vertex shader mode.bunnei2018-07-131-3/+30
| | | | - When VertexA shader stage is enabled, we combine with VertexB program to make a single Vertex Shader stage.
* Merge pull request #534 from Subv/multitexturingbunnei2018-06-071-0/+40
|\ | | | | GPU: Implement sampling multiple textures in the generated glsl shaders.
| * GPU: Implement sampling multiple textures in the generated glsl shaders.Subv2018-06-061-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.
* | gl_shader_gen: Add uniform handling for indirect const buffer access.bunnei2018-06-071-3/+15
|/
* GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.Subv2018-04-151-1/+13
|
* shaders: Expose hints about used const buffers.bunnei2018-04-151-2/+36
|
* gl_shader_gen: Add hashable setup/config structs.bunnei2018-04-141-27/+48
|
* renderer_gl: Port over gl_shader_gen module from Citra.bunnei2018-03-201-0/+66
|
* Remove references to PICA and rasterizers in video_coreJames Rowe2018-01-131-162/+0
|
* gl_rasterizer/lighting: implement geometric factorwwylele2017-06-151-0/+2
|
* gl_rasterizer: sync spot light statuswwylele2017-05-301-1/+2
|
* gl_rasterizer: implement procedural texturewwylele2017-05-201-0/+13
|
* pica: use correct coordinates for texture 2wwylele2017-05-031-0/+1
|
* OpenGL: Pass Pica regs via parameterYuri Kunde Schlesner2017-04-171-3/+3
|
* OpenGL: Move PicaShaderConfig to gl_shader_gen.hYuri Kunde Schlesner2017-04-171-2/+109
| | | | Also move the implementation of CurrentConfig to the cpp file.
* OpenGL: Move Attributes enum to a more appropriate fileYuri Kunde Schlesner2017-04-171-0/+11
|
* Pica: Use a union for PicaShaderConfigJannik Vogel2016-05-031-1/+1
|
* VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-1/+1
|
* gl_rasterizer: Use MMH3 hash for shader cache hey.bunnei2015-10-221-1/+1
| | | | - Includes a check to confirm no hash collisions.
* gl_shader_gen: Add additional function documentation.bunnei2015-10-221-0/+10
|
* renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.bunnei2015-10-221-0/+17