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-03Merge pull request #2302 from ReinUsesLisp/vk-swapchainbunnei
vk_swapchain: Implement a swapchain manager
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-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-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-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
2019-03-16video_core: Refactor to use MemoryManager interface for all memory access.bunnei
# 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-14gpu: Use host address for caching instead of guest address.bunnei
2019-03-14Merge pull request #2233 from ReinUsesLisp/morton-cleanupbunnei
video_core/morton: Miscellaneous changes
2019-03-14Merge pull request #2229 from ReinUsesLisp/vk-sampler-cachebunnei
vk_sampler_cache: Implement a sampler cache
2019-03-14Merge pull request #2216 from ReinUsesLisp/rasterizer-systembunnei
gl_rasterizer: Use system instance passed from argument
2019-03-13Merge pull request #2227 from lioncash/overridebunnei
renderer_opengl/gl_global_cache: Add missing override specifiers
2019-03-13video_core/morton: Use enum to describe MortonCopyPixels128 modeReinUsesLisp
2019-03-13video_core/morton: Remove unused parameter in MortonSwizzleReinUsesLisp
2019-03-13video_core/morton: Remove clang-format off when it's not neededReinUsesLisp
2019-03-13video_core/morton: Remove unused functionsReinUsesLisp
2019-03-13video_core/texture: Fix up sampler lod biasReinUsesLisp
2019-03-12vk_sampler_cache: Use operator== instead of memcmpMat M
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-03-12vk_sampler_cache: Implement a sampler cacheReinUsesLisp
2019-03-12video_core/texture: Add a raw representation of TSCEntryReinUsesLisp
2019-03-12Merge pull request #2215 from ReinUsesLisp/samplersbunnei
gl_rasterizer: Encapsulate sampler queries into methods
2019-03-11renderer_opengl/gl_global_cache: Replace indexing for assignment with ↵Lioncash
insert_or_assign The previous code had some minor issues with it, really not a big deal, but amending it is basically 'free', so I figured, "why not?". With the standard container maps, when: map[key] = thing; is done, this can cause potentially undesirable behavior in certain scenarios. In particular, if there's no value associated with the key, then the map constructs a default initialized instance of the value type. In this case, since it's a std::shared_ptr (as a type alias) that is the value type, this will construct a std::shared_pointer, and then assign over it (with objects that are quite large, or actively heap allocate this can be extremely undesirable). We also make the function take the region by value, as we can avoid a copy (and by extension with std::shared_ptr, a copy causes an atomic reference count increment), in certain scenarios when ownership isn't a concern (i.e. when ReserveGlobalRegion is called with an rvalue reference, then no copy at all occurs). So, it's more-or-less a "free" gain without many downsides.