summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_cache.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-07-04gl_shader_cache: Make CachedShader constructor privateZach Hilman1-3/+3
Fixes missing review comments introduced.
2019-06-21gl_rasterizer: Track texture buffer usageReinUsesLisp1-9/+8
2019-06-08gl_shader_cache: Use static constructors for CachedShader initializationReinUsesLisp1-10/+19
2019-05-30gl_shader_cache: Store a system class and drop global accessorsReinUsesLisp1-0/+1
2019-05-21gl_shader_cache: Use shared contexts to build shaders in parallelReinUsesLisp1-5/+9
2019-04-20RasterizerCache Redesign: Flush Fernando Sahmkow1-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.
2019-04-14gl_shader_decompiler: Use variable AOFFI on supported hardwareReinUsesLisp1-2/+6
2019-04-04video_core/renderer_opengl: Remove unnecessary includesLioncash1-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.
2019-03-16video_core: Refactor to use MemoryManager interface for all memory access.bunnei1-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
2019-03-15gpu: Use host address for caching instead of guest address.bunnei1-9/+10
2019-02-07gl_shader_disk_cache: Use unordered containersReinUsesLisp1-10/+10
2019-02-07gl_shader_cache: Link loading screen with disk shader cache loadReinUsesLisp1-1/+4
2019-02-07gl_shader_disk_cache: Pass core system as argument and guard against games without title idsReinUsesLisp1-1/+5
2019-02-07gl_shader_disk_cache: Address miscellaneous feedbackReinUsesLisp1-3/+3
2019-02-07gl_shader_disk_cache: Save GLSL and entries into the precompiled fileReinUsesLisp1-5/+4
2019-02-07gl_shader_cache: Refactor to support disk shader cacheReinUsesLisp1-16/+43
2019-02-07gl_shader_disk_cache: Add file and move BaseBindings declarationReinUsesLisp1-10/+1
2019-02-07rasterizer_interface: Add disk cache entry for the rasterizerReinUsesLisp1-0/+3
2019-01-30gl_shader_cache: Use explicit bindingsReinUsesLisp1-53/+37
2019-01-30gl_rasterizer: Implement global memory managementReinUsesLisp1-1/+5
2019-01-15video_core: Rename glsl_decompiler to gl_shader_decompilerReinUsesLisp1-1/+1
2019-01-15video_core: Replace gl_shader_decompilerReinUsesLisp1-0/+1
2019-01-07gl_shader_cache: Use dirty flags for shadersReinUsesLisp1-0/+4
2018-12-19Fixed uninitialized memory due to missing returns in canaryDavid Marcec1-0/+1
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
2018-12-09Implemented a shader unique identifier.Fernando Sahmkow1-0/+2
2018-11-20shader_cache: Only lock covered instructions.Markus Wick1-1/+2
2018-11-10gl_shader_decompiler: Guard out of bound geometry shader input readsReinUsesLisp1-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).
2018-11-08rasterizer_cache: Remove reliance on the System singletonLioncash1-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.
2018-10-22Use standard UBO and fix/stylize the codeFernandoS271-10/+0
2018-10-22Cache uniform locations and restructure the implementationFernandoS271-3/+9
2018-10-22Remove SyncAlphaTest and clang formatFernandoS271-1/+0
2018-10-22Implemented Alpha TestingFernandoS271-0/+5
2018-10-16rasterizer_cache: Refactor to support in-order flushing.bunnei1-6/+4
2018-10-16rasterizer_cache: Reintroduce method for flushing.bunnei1-0/+3
2018-10-07gl_shader_decompiler: Implement geometry shadersReinUsesLisp1-2/+44
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-1/+1
2018-09-04gl_shader_cache: Use an u32 for the binding point cache.Markus Wick1-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.
2018-08-31gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.bunnei1-4/+3
2018-08-31Report correct shader size.Markus Wick1-1/+1
Seems like this was an oversee in regards to 1fd979f50a9f4c21fa8cafba7268d959e3076924 It changed GLShader::ProgramCode to a std::vector, so sizeof is wrong.
2018-08-28renderer_opengl: Implement a new shader cache.bunnei1-0/+69