Fernando Sahmkow
8a6e6465a7
Rasterizer: Refactor inlineToMemory.
4 years ago
Fernando Sahmkow
35ed051742
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
4 years ago
Fernando Sahmkow
d0a5a48948
GPU: Improve syncing.
4 years ago
Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
4 years ago
Fernando Sahmkow
f54280dafd
Inline2Memory: Flush before writting buffer.
4 years ago
ameerj
f300a1d54b
buffer_cache: Reduce stream buffer allocations when expanding from the left
The existing stream buffer optimization accounts for size increases at the end of the allocated buffer.
This adds the same optimization, increasing the size from the beginning of the buffer as well to reduce buffer allocations when expanding the same buffer from the left.
4 years ago
Lioncash
f6a049337e
common/xbyak_api: Make BuildRegSet() constexpr
This allows us to eliminate any static constructors that would have been
emitted due to the function not being constexpr.
4 years ago
Lioncash
a8a4f37628
video_core/macro: Add missing <cstring> header
Necessary since memcpy is used.
4 years ago
Lioncash
81d1a1133d
video_core/macro_interpreter: Move impl class to the cpp file
Keeps the implementation hidden from the intended API and lessens the
header dependencies on the interpreter's header.
4 years ago
Lioncash
cfd9f7d25b
video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()
Same behavior, but less code and header dependencies.
4 years ago
Lioncash
a05d9405b9
video_core/macro: Remove unused parameter from Execute()
Simplifies the function interface.
4 years ago
Lioncash
74f80299b0
video_core/macro_jit_x64: Remove unused impl class member
Reduces the size of the impl class a tiny bit.
4 years ago
Lioncash
f11eefed56
video_core/macro_jit_x64: Decouple PersistentCallerSavedRegs() from impl
This doesn't depend on class state and can just be a regular function.
4 years ago
Lioncash
6b873b72ae
video_core/macro_jit_x64: Move impl class into cpp file
Keeps the implementation internalized and also reduces API-facing header
dependencies.
Notably, this fully internalizes all of the xbyak externals.
4 years ago
Lioncash
a3c81745b1
video_core/macro_hle: Move impl class into cpp file
Given it's intended to be an internal implementation class, we can move
it into the cpp file to ensure that.
This also lets us move some header dependencies into the cpp file as
well.
4 years ago
Lioncash
d8486a9968
gpu: Tidy up forward declarations
Over time a few forward declarations became unnecessary, so we can
remove these to tidy up the header a little bit.
4 years ago
Lioncash
9b38c8ef08
gpu: Remove obsoleted CDMAPusher() accessors
These were obsoleted in 2c47f8aa18 but
were accidentally overlooked.
4 years ago
Lioncash
e7af84670d
vk_fsr: Replace comma operator with semicolon
Generally, we should be ending statements with a semicolon not a comma
Resolves a clang diagnostic.
4 years ago
Jan Beich
d24a4b79d4
video_core: constify AVCodec for ffmpeg >= 5.0
src/video_core/command_classes/codecs/codec.cpp:177:16: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
av_codec = avcodec_find_decoder(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
4 years ago
Georg Lehmann
d15814d39f
vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64Features
4 years ago
ameerj
a5bff8e9b3
astc_decoder: Combine FastReplicate functions to work around new NV driver bug
The new Nvidia drivers have a bug where the FastReplicateTo6 function produces a lookup into the REPLICATE_TO_8 table rather than the REPLICATE_TO_6 table.
This seems to be an optimization gone wrong. Combining the logic of the FastReplicate functions seems to address the bug.
4 years ago
Narr the Reg
41bbb31af4
video_core: Remove unnecesary maybe_unused flag
4 years ago
ameerj
c17938f96b
gpu: Add shut down method to synchronize threads before destruction
4 years ago
Fernando Sahmkow
f58ee3f15f
ShaderDecompiler: Add a debug option to dump the game's shaders.
4 years ago
ameerj
7652543231
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
This reverts commit e773354477 , reversing
changes made to abbbdc2bc0 .
4 years ago
ameerj
d866916f42
gpu: Use std::stop_token in WaitFence for VSync thread
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
4 years ago
ameerj
951c61aeaa
texture_cache/util: Fix s32 overflow when resolving overlaps
4 years ago
ameerj
285b6dbc39
video_core/memory_manager: Fixes for sparse memory management
4 years ago
ameerj
2428214c4b
video_core/memory_manager: Deduplicate Read/WriteBlock
4 years ago
ameerj
8c907c620d
glsl: Add boolean reference workaround
4 years ago
ameerj
b84d429c2e
glsl_context_get_set: Add alternative cbuf type for broken drivers
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
4 years ago
Feng Chen
e18bf4b062
Remove invalid header include
4 years ago
ameerj
f9e0681d59
vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows drivers
Fixes a crash when scaling MSAA textures in titles such as Sonic Colors Ultimate.
4 years ago
ameerj
cbc0f0a66e
blit_image: Remove unused function
4 years ago
ameerj
481b210c0d
vk_texture_cache: Fix invalidated pointer access
The vulkan ImageView held a reference to its source image for rescale status checking. This pointer is sometimes invalidated when the texture cache slot_images container is resized.
To avoid an invalid pointer dereference, the ImageView now holds a reference to the container itself.
4 years ago
Jan Beich
e57b13ad94
video_core/codecs: re-enable VAAPI/VDPAU on BSDs after 72aa418b0b
4 years ago
vonchenplus
4908a07c20
Address format clang
4 years ago
Fernando Sahmkow
6c00151d17
Vulkan: Fix the checks for primitive restart extension.
4 years ago
Fernando Sahmkow
14d2c77f91
Vulkan: implement Logical Operations.
4 years ago
Fernando Sahmkow
6430fc29a9
Vulkan: Implement VK_EXT_primitive_topology_list_restart
4 years ago
liushuyu
3f765ea9a4
video_core/codecs: (re-spin) refactor ffmpeg searching and handling
4 years ago
bunnei
2f32133ad5
Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"
4 years ago
liushuyu
dd72e4dce4
CI: fix CI on Linux
4 years ago
liushuyu
a2d73eaa10
video_core/codecs: skip decoders that use hw frames ...
... this would resolve some edge-cases where multiple devices are
present and ffmpeg is unable to auto-supply the hw surfaces
4 years ago
Morph
14110230c7
maxwell_to_vk: Add ASTC_2D_5X4_UNORM
4 years ago
Feng Chen
1598426493
Fix blit image/view not compatible
4 years ago
Morph
ae4869650a
maxwell_to_vk: Add ASTC_2D_8X5_UNORM
- Used by Lego City Undercover
4 years ago
Morph
47a724780f
renderer_vulkan: Add R16G16_UINT
- Used by Immortals Fenyx Rising
4 years ago
ameerj
228a381aed
vk_texture_cache: Add ABGR src format check for D24S8 conversions
4 years ago
ameerj
c22c4f5d59
renderer_opengl: Minor refactoring of filter selection
4 years ago