aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2019-04-03Merge pull request #2093 from FreddyFunk/disk-cache-better-compressionbunnei
Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
2019-04-03Merge pull request #2299 from lioncash/maxwellbunnei
gl_shader_manager: Remove reliance on a global accessor within MaxwellUniformData::SetFromRegs()
2019-04-03gl_state: Rework to enable individual appliesReinUsesLisp
2019-04-03shader_ir/memory: Reduce severity of LD_L cache management and log itReinUsesLisp
2019-04-03shader_ir/memory: Reduce severity of ST_L cache management and log itReinUsesLisp
2019-04-03gl_shader_decompiler: Return early when an operation is invalidReinUsesLisp
2019-04-03Merge pull request #2302 from ReinUsesLisp/vk-swapchainbunnei
vk_swapchain: Implement a swapchain manager
2019-04-02gl_sampler_cache: Port sampler cache to OpenGLReinUsesLisp
2019-04-02video_core: Abstract vk_sampler_cache into a templated classReinUsesLisp
2019-04-01gpu_thread: Improve synchronization by using CoreTiming.bunnei
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash
Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future.
2019-03-31gl_shader_decompiler: Hide local definitions inside an anonymous namespaceReinUsesLisp
2019-03-31shader_ir/decode: Silent implicit sign conversion warningMat M
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-03-30Merge pull request #2297 from lioncash/reorderbunnei
video_core: Amend constructor initializer list order where applicable
2019-03-30Merge pull request #2298 from lioncash/variablebunnei
video_core/{gl_rasterizer, gpu_thread}: Remove unused class variables where applicable
2019-03-30gl_shader_decompiler: Add AOFFI backing implementationReinUsesLisp
2019-03-30shader_ir/decode: Implement AOFFI for TEX and TLD4ReinUsesLisp
2019-03-30shader_ir: Implement immediate register trackingReinUsesLisp
2019-03-29common/zstd_compression: simplify decompression interfaceunknown
2019-03-29gl_shader_disk_cache: Fixup clang formatunknown
2019-03-29gl_shader_disk_cache: Use Zstandard for compressionunknown
2019-03-29gl_shader_disk_cache: Use LZ4HC with compression level 9 instead of ↵unknown
compression level 12 for less compression time
2019-03-29Addressed feedbackunknown
2019-03-29gl_shader_disk_cache: Use better compression for transferable and ↵unknown
precompiled shader disk chache files
2019-03-29data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache ↵unknown
to common/data_compression
2019-03-29vk_swapchain: Implement a swapchain managerReinUsesLisp
2019-03-28Merge pull request #2296 from lioncash/overridebunnei
video_core: Add missing override specifiers
2019-03-28gl_shader_manager: Remove unnecessary gl_shader_manager inclusionLioncash
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.
2019-03-28gl_shader_manager: Move using statement into the cpp fileLioncash
Avoids introducing Maxwell3D into the namespace for everything that includes the header.
2019-03-28gl_shader_manager: Remove reliance on global accessor within ↵Lioncash
MaxwellUniformData::SetFromRegs() We can just pass in the Maxwell3D instance instead of going through the system class to get at it. This also lets us simplify the interface a little bit. Since we pass in the Maxwell3D context now, we only really need to pass the shader stage index value in.
2019-03-27gl_shader_manager: Amend Doxygen string for MaxwellUniformDataLioncash
Previously only one line of the whole comment was in proper Doxygen formatting.
2019-03-27gpu_thread: Remove unused dma_pusher class member variable from ThreadManagerLioncash
The pusher instance is only ever used in the constructor of the ThreadManager for creating the thread that the ThreadManager instance contains. Aside from that, the member is unused, so it can be removed.
2019-03-27gl_rasterizer: Remove unused reference member variable from RasterizerOpenGLLioncash
This member variable is no longer being used, so it can be removed, removing a dependency on EmuWindow from the rasterizer's interface"
2019-03-27video_core: Amend constructor initializer list order where applicableLioncash
Specifies the members in the same order that initialization would take place in. This also silences -Wreorder warnings.
2019-03-27video_core: Add missing override specifiersLioncash
Ensures that the signatures will always match with the base class. Also silences a few compilation warnings.
2019-03-27video_core/gpu: Amend typo in GPU member variable nameLioncash
smaphore -> semaphore
2019-03-22Merge pull request #2256 from bunnei/gpu-vmmbunnei
gpu: Rewrite MemoryManager based on the VMManager implementation.
2019-03-22video_core: Implement API agnostic view based texture cacheReinUsesLisp
Implements an API agnostic texture view based texture cache. Classes defined here are intended to be inherited by the API implementation and used in API-specific code. This implementation exposes protected virtual functions to be called from the implementer. Before executing any surface copies methods (defined in API-specific code) it tries to detect if the overlapping surface is a superset and if it is, it creates a view. Views are references of a subset of a surface, it can be a superset view (the same as referencing the whole texture). Current code manages 1D, 1D array, 2D, 2D array, cube maps and cube map arrays with layer and mipmap level views. Texture 3D slices views are not implemented. If the view attempt fails, the fast path is invoked with the overlapping textures (defined in the implementer). If that one fails (returning nullptr) it will flush and reload the texture.
2019-03-21Revert "Devirtualize Register/Unregister and use a wrapper instead."bunnei
- Fixes graphical issues from transitions in Super Mario Odyssey.
2019-03-20memory_manager: Cleanup FindFreeRegion.bunnei
2019-03-20memory_manager: Use Common::AlignUp in public interface as needed.bunnei
2019-03-20memory_manager: Bug fixes and further cleanup.bunnei
2019-03-20maxwell_dma: Check for valid source in destination before copy.bunnei
- Avoid a crash in Octopath Traveler.
2019-03-20memory_manager: Add protections for invalid GPU addresses.bunnei
- Avoid a crash in Xenoblade Chronicles 2.
2019-03-20gl_rasterizer_cache: Check that backing memory is valid before creating a ↵bunnei
surface. - Fixes a crash in Puyo Puyo Tetris.
2019-03-20gpu: Rewrite virtual memory manager using PageTable.bunnei
2019-03-20gpu: Move GPUVAddr definition to common_types.bunnei
2019-03-16gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.bunnei
2019-03-16Merge pull request #2244 from bunnei/gpu-mem-refactorbunnei
video_core: Refactor to use MemoryManager interface for all memory access.
2019-03-16memory: Simplify rasterizer cache operations.bunnei