summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_cache.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2601 from FernandoS27/texture_cacheZach Hilman2019-07-051-9/+8
|\ | | | | Implement a new Texture Cache
| * gl_rasterizer: Track texture buffer usageReinUsesLisp2019-06-211-9/+8
| |
* | gl_shader_cache: Make CachedShader constructor privateZach Hilman2019-07-041-3/+3
| | | | | | | | Fixes missing review comments introduced.
* | gl_shader_cache: Use static constructors for CachedShader initializationReinUsesLisp2019-06-081-10/+19
|/
* gl_shader_cache: Store a system class and drop global accessorsReinUsesLisp2019-05-301-0/+1
|
* gl_shader_cache: Use shared contexts to build shaders in parallelReinUsesLisp2019-05-211-5/+9
|
* Merge pull request #2413 from FernandoS27/opt-gpuRodrigo Locatti2019-05-141-3/+4
|\ | | | | Rasterizer Cache: refactor flushing & optimize memory usage of surfaces
| * RasterizerCache Redesign: Flush Fernando Sahmkow2019-04-201-3/+4
| | | | | | | | | | | | flushing is now responsability of children caches instead of the cache object. This change will allow the specific cache to pass extra parameters on flushing and will allow more flexibility.
* | gl_shader_decompiler: Use variable AOFFI on supported hardwareReinUsesLisp2019-04-141-2/+6
|/
* video_core/renderer_opengl: Remove unnecessary includesLioncash2019-04-041-3/+2
| | | | | | | Quite a few unused includes have built up over time, particularly on core/memory.h. Removing these includes means the source files including those files will no longer need to be rebuilt if they're changed, making compilation slightly faster in this scenario.
* video_core: Refactor to use MemoryManager interface for all memory access.bunnei2019-03-161-4/+4
| | | | | | | | | | | # Conflicts: # src/video_core/engines/kepler_memory.cpp # src/video_core/engines/maxwell_3d.cpp # src/video_core/morton.cpp # src/video_core/morton.h # src/video_core/renderer_opengl/gl_global_cache.cpp # src/video_core/renderer_opengl/gl_global_cache.h # src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
* gpu: Use host address for caching instead of guest address.bunnei2019-03-151-9/+10
|
* gl_shader_disk_cache: Use unordered containersReinUsesLisp2019-02-071-10/+10
|
* gl_shader_cache: Link loading screen with disk shader cache loadReinUsesLisp2019-02-071-1/+4
|
* gl_shader_disk_cache: Pass core system as argument and guard against games without title idsReinUsesLisp2019-02-071-1/+5
|
* gl_shader_disk_cache: Address miscellaneous feedbackReinUsesLisp2019-02-071-3/+3
|
* gl_shader_disk_cache: Save GLSL and entries into the precompiled fileReinUsesLisp2019-02-071-5/+4
|
* gl_shader_cache: Refactor to support disk shader cacheReinUsesLisp2019-02-071-16/+43
|
* gl_shader_disk_cache: Add file and move BaseBindings declarationReinUsesLisp2019-02-071-10/+1
|
* rasterizer_interface: Add disk cache entry for the rasterizerReinUsesLisp2019-02-071-0/+3
|
* gl_shader_cache: Use explicit bindingsReinUsesLisp2019-01-301-53/+37
|
* gl_rasterizer: Implement global memory managementReinUsesLisp2019-01-301-1/+5
|
* video_core: Rename glsl_decompiler to gl_shader_decompilerReinUsesLisp2019-01-151-1/+1
|
* video_core: Replace gl_shader_decompilerReinUsesLisp2019-01-151-0/+1
|
* gl_shader_cache: Use dirty flags for shadersReinUsesLisp2019-01-071-0/+4
|
* Fixed uninitialized memory due to missing returns in canaryDavid Marcec2018-12-191-0/+1
| | | | Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
* Implemented a shader unique identifier.Fernando Sahmkow2018-12-091-0/+2
|
* shader_cache: Only lock covered instructions.Markus Wick2018-11-201-1/+2
|
* Merge pull request #1669 from ReinUsesLisp/fixup-gsbunnei2018-11-111-6/+7
|\ | | | | gl_shader_decompiler: Guard out of bound geometry shader input reads
| * gl_shader_decompiler: Guard out of bound geometry shader input readsReinUsesLisp2018-11-101-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Geometry shaders follow a pattern that results in out of bound reads. This pattern is: - VSETP to predicate - Use that predicate to conditionally set a register a big number - Use the register to access geometry shaders At the time of writing this commit I don't know what's the intent of this number. Some drivers argue about these out of bound reads. To avoid this issue, input reads are guarded limiting reads to the highest posible vertex input of the current topology (e.g. points to 1 and triangles to 3).
* | rasterizer_cache: Remove reliance on the System singletonLioncash2018-11-081-0/+4
|/ | | | | | Rather than have a transparent dependency, we can make it explicit in the interface. This also gets rid of the need to put the core include in a header.
* rasterizer_cache: Refactor to support in-order flushing.bunnei2018-10-161-6/+4
|
* rasterizer_cache: Reintroduce method for flushing.bunnei2018-10-161-0/+3
|
* gl_shader_decompiler: Implement geometry shadersReinUsesLisp2018-10-071-2/+44
|
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-1/+1
|
* gl_shader_cache: Use an u32 for the binding point cache.Markus Wick2018-09-041-5/+5
| | | | | | | 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.
* gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.bunnei2018-08-311-4/+3
|
* Report correct shader size.Markus Wick2018-08-311-1/+1
| | | | | Seems like this was an oversee in regards to 1fd979f50a9f4c21fa8cafba7268d959e3076924 It changed GLShader::ProgramCode to a std::vector, so sizeof is wrong.
* renderer_opengl: Implement a new shader cache.bunnei2018-08-281-0/+69