Lody
d2369dc3a3
vk_blit_screen: Add missing format bgra8
4 years ago
voidanix
9891701985
vulkan_device: fix missing format in ANV
Currently Mesa's ANV driver does not support
VK_FORMAT_B5G6R5_UNORM_PACK16, implement an alternative for it.
4 years ago
Lioncash
fd12153c52
texture_cache: Ensure has_blacklisted is always initialized
Resolves a -Wmaybe_uninitialized warning
4 years ago
Lioncash
6419acdd76
texture_cache: Remove dead code within SynchronizeAliases
Since these were being copied by value, none of the changes applied in
the loop would be reflected.
However, from the looks of it, this would already be applied within
CopyImage() anyways, so this can be removed.
4 years ago
Lioncash
1f4cc88d2a
texture_cache: Amend unintended bitwise OR in SynchronizeAliases
4 years ago
Lioncash
8a509e5a2c
general: Replace NonCopyable struct with equivalents
4 years ago
Lioncash
6f2a095c9f
video_core/shader_cache: Remove unused algorithm include
4 years ago
Lioncash
274babc929
video_core/shader_cache: Take std::span in RemoveShadersFromStorage()
Same behavior, but without the need to move into the function to avoid
an allocation.
4 years ago
Fernando Sahmkow
9ebf1c00bd
Rasterizer: Refactor inlineToMemory.
4 years ago
Fernando Sahmkow
5df6c71472
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
4 years ago
Fernando Sahmkow
d14f1c9d42
GPU: Improve syncing.
4 years ago
Fernando Sahmkow
19270ae4e6
Rasterizer: Implement Inline2Memory Acceleration.
4 years ago
Fernando Sahmkow
4a3a7673b7
Inline2Memory: Flush before writting buffer.
4 years ago
ameerj
9bffee169b
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
1d5b635601
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
ebc41b3af6
video_core/macro: Add missing <cstring> header
Necessary since memcpy is used.
4 years ago
Lioncash
e7242491a4
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
6950d969aa
video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()
Same behavior, but less code and header dependencies.
4 years ago
Lioncash
65e617754f
video_core/macro: Remove unused parameter from Execute()
Simplifies the function interface.
4 years ago
Lioncash
791b988d07
video_core/macro_jit_x64: Remove unused impl class member
Reduces the size of the impl class a tiny bit.
4 years ago
Lioncash
9a802c7a09
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
0b91a77ccc
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
e3025b8fb9
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
4d8010eee3
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
4c5c860587
gpu: Remove obsoleted CDMAPusher() accessors
These were obsoleted in 10cc89bfdf but
were accidentally overlooked.
4 years ago
Lioncash
4272d239b6
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
c2338f2f04
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
feb8a473ed
vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64Features
4 years ago
ameerj
09dc136a39
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
7b752c8f47
video_core: Remove unnecesary maybe_unused flag
4 years ago
ameerj
664fcdc64b
gpu: Add shut down method to synchronize threads before destruction
4 years ago
Fernando Sahmkow
65387dd0a0
ShaderDecompiler: Add a debug option to dump the game's shaders.
4 years ago
ameerj
8badb6f4a7
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
This reverts commit 5a612e9217 , reversing
changes made to 2e61bc3d51 .
4 years ago
ameerj
0585c60227
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
5a7940c1f1
texture_cache/util: Fix s32 overflow when resolving overlaps
4 years ago
ameerj
4c10c0a514
video_core/memory_manager: Fixes for sparse memory management
4 years ago
ameerj
5c644fe97b
video_core/memory_manager: Deduplicate Read/WriteBlock
4 years ago
ameerj
c5c13369fa
glsl: Add boolean reference workaround
4 years ago
ameerj
a57dc3509a
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
5e725163a0
Remove invalid header include
4 years ago
ameerj
bb108db1de
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
b22cc82f64
blit_image: Remove unused function
4 years ago
ameerj
531d53d6b9
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
85f65a6995
video_core/codecs: re-enable VAAPI/VDPAU on BSDs after f91cc356fb
4 years ago
vonchenplus
8fe519b656
Address format clang
4 years ago
Fernando Sahmkow
15c634806b
Vulkan: Fix the checks for primitive restart extension.
4 years ago
Fernando Sahmkow
ce7c3bdf0c
Vulkan: implement Logical Operations.
4 years ago
Fernando Sahmkow
790bbcb016
Vulkan: Implement VK_EXT_primitive_topology_list_restart
4 years ago
liushuyu
f722e83537
video_core/codecs: (re-spin) refactor ffmpeg searching and handling
4 years ago
bunnei
15a4248f46
Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"
4 years ago