ReinUsesLisp
04979560fb
shader_ir/memory: Reduce severity of LD_L cache management and log it
7 years ago
ReinUsesLisp
24abeb9a67
shader_ir/memory: Reduce severity of ST_L cache management and log it
7 years ago
ReinUsesLisp
06c1f75f21
gl_shader_decompiler: Return early when an operation is invalid
7 years ago
ReinUsesLisp
576ad9a012
gl_sampler_cache: Port sampler cache to OpenGL
7 years ago
ReinUsesLisp
c5047540c9
video_core: Abstract vk_sampler_cache into a templated class
7 years ago
bunnei
4555b63750
gpu_thread: Improve synchronization by using CoreTiming.
7 years ago
Lioncash
781ab8407b
general: Use deducation guides for std::lock_guard and std::unique_lock
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.
7 years ago
ReinUsesLisp
38658b38b4
gl_shader_decompiler: Hide local definitions inside an anonymous namespace
7 years ago
Mat M
da02946f4f
shader_ir/decode: Silent implicit sign conversion warning
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
7 years ago
ReinUsesLisp
e8abe4b77c
gl_shader_decompiler: Add AOFFI backing implementation
7 years ago
ReinUsesLisp
cb68ce7c2f
shader_ir/decode: Implement AOFFI for TEX and TLD4
7 years ago
ReinUsesLisp
cf4ecc1945
shader_ir: Implement immediate register tracking
7 years ago
unknown
b4857e326f
common/zstd_compression: simplify decompression interface
7 years ago
unknown
aa92da205e
gl_shader_disk_cache: Fixup clang format
7 years ago
unknown
35ebbbc167
gl_shader_disk_cache: Use Zstandard for compression
7 years ago
unknown
4fad477aeb
gl_shader_disk_cache: Use LZ4HC with compression level 9 instead of compression level 12 for less compression time
7 years ago
unknown
c791192d64
Addressed feedback
7 years ago
unknown
74cee1b65d
gl_shader_disk_cache: Use better compression for transferable and precompiled shader disk chache files
7 years ago
unknown
798d76f4c7
data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compression
7 years ago
ReinUsesLisp
746dab407e
vk_swapchain: Implement a swapchain manager
7 years ago
Lioncash
c1ba3e3d4a
gl_shader_manager: Remove unnecessary gl_shader_manager inclusion
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.
7 years ago
Lioncash
1650593927
gl_shader_manager: Move using statement into the cpp file
Avoids introducing Maxwell3D into the namespace for everything that
includes the header.
7 years ago
Lioncash
7d88fc83bf
gl_shader_manager: Remove reliance on global accessor within 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.
7 years ago
Lioncash
d68716efdc
gl_shader_manager: Amend Doxygen string for MaxwellUniformData
Previously only one line of the whole comment was in proper Doxygen
formatting.
7 years ago
Lioncash
947d364dba
gpu_thread: Remove unused dma_pusher class member variable from ThreadManager
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.
7 years ago
Lioncash
e2131f7310
gl_rasterizer: Remove unused reference member variable from RasterizerOpenGL
This member variable is no longer being used, so it can be removed,
removing a dependency on EmuWindow from the rasterizer's interface"
7 years ago
Lioncash
a5fa4b311e
video_core: Amend constructor initializer list order where applicable
Specifies the members in the same order that initialization would take
place in.
This also silences -Wreorder warnings.
7 years ago
Lioncash
bbe700359d
video_core: Add missing override specifiers
Ensures that the signatures will always match with the base class.
Also silences a few compilation warnings.
7 years ago
Lioncash
e36f1a5ba9
video_core/gpu: Amend typo in GPU member variable name
smaphore -> semaphore
7 years ago
ReinUsesLisp
d708d03d20
video_core: Implement API agnostic view based texture cache
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.
7 years ago
bunnei
d0dddb3e9d
Revert "Devirtualize Register/Unregister and use a wrapper instead."
- Fixes graphical issues from transitions in Super Mario Odyssey.
7 years ago
bunnei
2117edd0f8
memory_manager: Cleanup FindFreeRegion.
7 years ago
bunnei
5a5fccaa23
memory_manager: Use Common::AlignUp in public interface as needed.
7 years ago
bunnei
72837e4b3d
memory_manager: Bug fixes and further cleanup.
7 years ago
bunnei
19330f45d3
maxwell_dma: Check for valid source in destination before copy.
- Avoid a crash in Octopath Traveler.
7 years ago
bunnei
197dcf0b5e
memory_manager: Add protections for invalid GPU addresses.
- Avoid a crash in Xenoblade Chronicles 2.
7 years ago
bunnei
21eb4cfa7f
gl_rasterizer_cache: Check that backing memory is valid before creating a surface.
- Fixes a crash in Puyo Puyo Tetris.
7 years ago
bunnei
22d3dfbcd4
gpu: Rewrite virtual memory manager using PageTable.
7 years ago
bunnei
241563d15c
gpu: Move GPUVAddr definition to common_types.
7 years ago
bunnei
032e4c4ca3
gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.
7 years ago
bunnei
10118c71e0
memory: Simplify rasterizer cache operations.
7 years ago
bunnei
574e89d924
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
7 years ago
bunnei
2eaf6c41a4
gpu: Use host address for caching instead of guest address.
7 years ago
ReinUsesLisp
ffe2e50458
video_core/morton: Use enum to describe MortonCopyPixels128 mode
7 years ago
ReinUsesLisp
6ed6129b4f
video_core/morton: Remove unused parameter in MortonSwizzle
7 years ago
ReinUsesLisp
9030a8259f
video_core/morton: Remove clang-format off when it's not needed
7 years ago
ReinUsesLisp
fdf76a25ab
video_core/morton: Remove unused functions
7 years ago
ReinUsesLisp
a63295a872
video_core/texture: Fix up sampler lod bias
7 years ago
Mat M
a3734d7e31
vk_sampler_cache: Use operator== instead of memcmp
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
7 years ago
ReinUsesLisp
aa59d77c3b
vk_sampler_cache: Implement a sampler cache
7 years ago