ReinUsesLisp
c2ea1d5263
shader_ir/memory: Reduce severity of ST_L cache management and log it
7 years ago
ReinUsesLisp
62a215471a
gl_shader_decompiler: Return early when an operation is invalid
7 years ago
ReinUsesLisp
900d1eea76
gl_sampler_cache: Port sampler cache to OpenGL
7 years ago
ReinUsesLisp
e62b0ad6ae
video_core: Abstract vk_sampler_cache into a templated class
7 years ago
bunnei
03a5dce0e9
gpu_thread: Improve synchronization by using CoreTiming.
7 years ago
Lioncash
eb88e9d088
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
3c45802a95
gl_shader_decompiler: Hide local definitions inside an anonymous namespace
7 years ago
Mat M
b36108f985
shader_ir/decode: Silent implicit sign conversion warning
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
7 years ago
ReinUsesLisp
fbbd44eff4
gl_shader_decompiler: Add AOFFI backing implementation
7 years ago
ReinUsesLisp
0e13686917
shader_ir/decode: Implement AOFFI for TEX and TLD4
7 years ago
ReinUsesLisp
e37debc7be
shader_ir: Implement immediate register tracking
7 years ago
unknown
ef49a1b96e
common/zstd_compression: simplify decompression interface
7 years ago
unknown
f082d88ff3
gl_shader_disk_cache: Fixup clang format
7 years ago
unknown
75a7fb11ff
gl_shader_disk_cache: Use Zstandard for compression
7 years ago
unknown
92e1f5a5a9
gl_shader_disk_cache: Use LZ4HC with compression level 9 instead of compression level 12 for less compression time
7 years ago
unknown
27aac8d363
Addressed feedback
7 years ago
unknown
19f787cdea
gl_shader_disk_cache: Use better compression for transferable and precompiled shader disk chache files
7 years ago
unknown
96e14e0718
data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compression
7 years ago
ReinUsesLisp
90d3207122
vk_swapchain: Implement a swapchain manager
7 years ago
Lioncash
781f4d8440
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
70a42ea349
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
1df62d861c
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
4c07a71739
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
3b04b916bb
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
549882f019
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
e2256a1d54
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
5b0afa2188
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
c34cb4ebcc
video_core/gpu: Amend typo in GPU member variable name
smaphore -> semaphore
7 years ago
ReinUsesLisp
04bc917f62
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
6c61263b5c
Revert "Devirtualize Register/Unregister and use a wrapper instead."
- Fixes graphical issues from transitions in Super Mario Odyssey.
7 years ago
bunnei
51cdb0df88
memory_manager: Cleanup FindFreeRegion.
7 years ago
bunnei
c04b7bd60c
memory_manager: Use Common::AlignUp in public interface as needed.
7 years ago
bunnei
7521cd30d1
memory_manager: Bug fixes and further cleanup.
7 years ago
bunnei
a0b5ed6846
maxwell_dma: Check for valid source in destination before copy.
- Avoid a crash in Octopath Traveler.
7 years ago
bunnei
bb6e007a63
memory_manager: Add protections for invalid GPU addresses.
- Avoid a crash in Xenoblade Chronicles 2.
7 years ago
bunnei
b34849e61a
gl_rasterizer_cache: Check that backing memory is valid before creating a surface.
- Fixes a crash in Puyo Puyo Tetris.
7 years ago
bunnei
fa405371ee
gpu: Rewrite virtual memory manager using PageTable.
7 years ago
bunnei
6f872bd580
gpu: Move GPUVAddr definition to common_types.
7 years ago
bunnei
65db8f5f47
gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.
7 years ago
bunnei
ee8ae39de5
memory: Simplify rasterizer cache operations.
7 years ago
bunnei
d3f26c1546
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
7fccfc3ee7
gpu: Use host address for caching instead of guest address.
7 years ago
ReinUsesLisp
7db0e52458
video_core/morton: Use enum to describe MortonCopyPixels128 mode
7 years ago
ReinUsesLisp
91423268d3
video_core/morton: Remove unused parameter in MortonSwizzle
7 years ago
ReinUsesLisp
0c17b26ef8
video_core/morton: Remove clang-format off when it's not needed
7 years ago
ReinUsesLisp
369409d4f7
video_core/morton: Remove unused functions
7 years ago
ReinUsesLisp
3288b12a28
video_core/texture: Fix up sampler lod bias
7 years ago
Mat M
0dfdec8949
vk_sampler_cache: Use operator== instead of memcmp
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
7 years ago
ReinUsesLisp
a9c05dfcd7
vk_sampler_cache: Implement a sampler cache
7 years ago
ReinUsesLisp
1fc1607e10
video_core/texture: Add a raw representation of TSCEntry
7 years ago