summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_cache.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core/renderer_opengl/gl_shader_cache: Correct member initialization orderLioncash2019-05-101-1/+1
| | | | Silences a -Wreorder warning.
* Re added new lines at the end of filesFreddyFunk2019-04-231-1/+1
|
* gl_shader_disk_cache: Use VectorVfsFile for the virtual precompiled shader cache fileunknown2019-04-231-1/+11
|
* Merge pull request #2383 from ReinUsesLisp/aoffi-testbunnei2019-04-231-27/+27
|\ | | | | gl_shader_decompiler: Disable variable AOFFI on unsupported devices
| * gl_shader_decompiler: Use variable AOFFI on supported hardwareReinUsesLisp2019-04-141-27/+27
| |
* | Document unsafe versions and add BlockCopyUnsafeFernando Sahmkow2019-04-161-6/+7
| |
* | Use ReadBlockUnsafe for Shader CacheFernando Sahmkow2019-04-161-5/+7
|/
* Merge pull request #2354 from lioncash/headerbunnei2019-04-101-0/+1
|\ | | | | video_core/texures/texture: Remove unnecessary includes
| * video_core/texures/texture: Remove unnecessary includesLioncash2019-04-061-0/+1
| | | | | | | | | | | | Nothing in this header relies on common_funcs or the memory manager. This gets rid of reliance on indirect inclusions in the OpenGL caches.
* | Merge pull request #2300 from FernandoS27/null-shaderbunnei2019-04-071-0/+4
|\ \ | |/ |/| shader_cache: Permit a Null Shader in case of a bad host_ptr.
| * Permit a Null Shader in case of a bad host_ptr.Fernando Sahmkow2019-04-071-0/+4
| |
* | Merge pull request #2299 from lioncash/maxwellbunnei2019-04-041-2/+0
|\ \ | | | | | | gl_shader_manager: Remove reliance on a global accessor within MaxwellUniformData::SetFromRegs()
| * | gl_shader_manager: Remove unnecessary gl_shader_manager inclusionLioncash2019-03-281-2/+0
| |/ | | | | | | | | | | | | | | | | This isn't used at all in the OpenGL shader cache, so we can remove it's include here, meaning one less file needs to be recompiled if any changes ever occur within that header. core/memory.h is also not used within this file at all, so we can remove it as well.
* / video_core: Amend constructor initializer list order where applicableLioncash2019-03-271-6/+6
|/ | | | | | | Specifies the members in the same order that initialization would take place in. This also silences -Wreorder warnings.
* gpu: Move GPUVAddr definition to common_types.bunnei2019-03-211-2/+2
|
* video_core: Refactor to use MemoryManager interface for all memory access.bunnei2019-03-161-20/+17
| | | | | | | | | | | # 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-19/+24
|
* gl_shader_disk_cache: Use unordered containersReinUsesLisp2019-02-071-3/+3
|
* gl_shader_cache: Fixup GLSL unique identifiersReinUsesLisp2019-02-071-2/+2
|
* gl_shader_cache: Link loading screen with disk shader cache loadReinUsesLisp2019-02-071-3/+26
|
* gl_shader_cache: Set GL_PROGRAM_SEPARABLE to dumped shadersReinUsesLisp2019-02-071-0/+1
| | | | | | i965 (and probably all mesa drivers) require GL_PROGRAM_SEPARABLE when using glProgramBinary. This is probably required by the standard but it's ignored by permisive proprietary drivers.
* gl_shader_disk_cache: Pass core system as argument and guard against games without title idsReinUsesLisp2019-02-071-1/+2
|
* gl_shader_disk_cache: Address miscellaneous feedbackReinUsesLisp2019-02-071-3/+3
|
* gl_shader_disk_cache: Pass return values returning instead of by parametersReinUsesLisp2019-02-071-7/+5
|
* gl_shader_disk_cache: Save GLSL and entries into the precompiled fileReinUsesLisp2019-02-071-32/+39
|
* gl_shader_cache: Refactor to support disk shader cacheReinUsesLisp2019-02-071-105/+345
|
* rasterizer_interface: Add disk cache entry for the rasterizerReinUsesLisp2019-02-071-0/+2
|
* video_core: Assert on invalid GPU to CPU address queriesReinUsesLisp2019-02-031-2/+4
|
* gl_shader_cache: Use explicit bindingsReinUsesLisp2019-01-301-63/+83
|
* gl_rasterizer: Implement global memory managementReinUsesLisp2019-01-301-3/+15
|
* video_core: Rename glsl_decompiler to gl_shader_decompilerReinUsesLisp2019-01-151-1/+1
|
* video_core: Replace gl_shader_decompilerReinUsesLisp2019-01-151-2/+6
|
* gl_shader_cache: Use dirty flags for shadersReinUsesLisp2019-01-071-1/+5
|
* gl_shader_cache: Dehardcode constant in CalculateProgramSize()Lioncash2018-12-111-2/+2
| | | | This constant is related to the size of the instruction.
* gl_shader_cache: Resolve truncation compiler warningLioncash2018-12-111-1/+1
| | | | | The previous code would cause a warning, as it was truncating size_t (64-bit) to a u32 (32-bit) implicitly.
* Implemented a shader unique identifier.Fernando Sahmkow2018-12-091-0/+45
|
* shader_cache: Only lock covered instructions.Markus Wick2018-11-201-0/+1
|
* Merge pull request #1669 from ReinUsesLisp/fixup-gsbunnei2018-11-111-2/+6
|\ | | | | gl_shader_decompiler: Guard out of bound geometry shader input reads
| * gl_shader_decompiler: Guard out of bound geometry shader input readsReinUsesLisp2018-11-101-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+3
|/ | | | | | 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.
* video_core: Move OpenGL specific utils to its rendererReinUsesLisp2018-10-291-2/+3
|
* gl_shader_decompiler: Implement geometry shadersReinUsesLisp2018-10-071-5/+29
|
* Added glObjectLabels for renderdoc for textures and shader programs (#1384)David2018-09-231-0/+2
| | | | | | | | * Added glObjectLabels for renderdoc for textures and shader programs * Changed hardcoded "Texture" name to reflect the texture type instead * Removed string initialize
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-3/+3
|
* video_core: fixed arithmetic overflow warnings & improved code stylePatrick Elsässer2018-09-091-4/+4
| | | | | | | | - Fixed all warnings, for renderer_opengl items, which were indicating a possible incorrect behavior from integral promotion rules and types larger than those in which arithmetic is typically performed. - Added const for variables where possible and meaningful. - Added constexpr where possible.
* gl_shader_cache: Use an u32 for the binding point cache.Markus Wick2018-09-041-8/+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.
* gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.bunnei2018-08-311-11/+7
|
* gl_shader_cache: Remove unused program_code vector in GetShaderAddress()Lioncash2018-08-281-2/+1
| | | | | | | | Given std::vector is a type with a non-trivial destructor, this variable cannot be optimized away by the compiler, even if unused. Because of that, something that was intended to be fairly lightweight, was actually allocating 32KB and deallocating it at the end of the function.
* renderer_opengl: Implement a new shader cache.bunnei2018-08-281-0/+131