| Age | Commit message (Collapse) | Author |
|
Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
|
|
gl_shader_manager: Remove reliance on a global accessor within MaxwellUniformData::SetFromRegs()
|
|
vk_swapchain: Implement a swapchain manager
|
|
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.
|
|
video_core: Amend constructor initializer list order where applicable
|
|
video_core/{gl_rasterizer, gpu_thread}: Remove unused class variables where applicable
|
|
compression level 12 for less compression time
|
|
|
|
precompiled shader disk chache files
|
|
to common/data_compression
|
|
|
|
video_core: Add missing override specifiers
|
|
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.
|
|
Avoids introducing Maxwell3D into the namespace for everything that
includes the header.
|
|
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.
|
|
Previously only one line of the whole comment was in proper Doxygen
formatting.
|
|
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.
|
|
This member variable is no longer being used, so it can be removed,
removing a dependency on EmuWindow from the rasterizer's interface"
|
|
Specifies the members in the same order that initialization would take
place in.
This also silences -Wreorder warnings.
|
|
Ensures that the signatures will always match with the base class.
Also silences a few compilation warnings.
|
|
smaphore -> semaphore
|
|
gpu: Rewrite MemoryManager based on the VMManager implementation.
|
|
- Fixes graphical issues from transitions in Super Mario Odyssey.
|
|
|
|
|
|
|
|
- Avoid a crash in Octopath Traveler.
|
|
- Avoid a crash in Xenoblade Chronicles 2.
|
|
surface.
- Fixes a crash in Puyo Puyo Tetris.
|
|
|
|
|
|
|
|
video_core: Refactor to use MemoryManager interface for all memory access.
|
|
|
|
# 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
|
|
|
|
video_core/morton: Miscellaneous changes
|
|
vk_sampler_cache: Implement a sampler cache
|
|
gl_rasterizer: Use system instance passed from argument
|
|
renderer_opengl/gl_global_cache: Add missing override specifiers
|
|
|
|
|
|
|
|
|
|
|
|
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
|
|
|
|
|
|
gl_rasterizer: Encapsulate sampler queries into methods
|
|
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.
|