Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
2022-01-29 22:53:27 +01:00
Fernando Sahmkow
f54280dafd
Inline2Memory: Flush before writting buffer.
2022-01-29 17:42:28 +01:00
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.
2022-01-27 15:31:43 -05:00
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.
2022-01-26 16:29:15 -05:00
bunnei
40050c1188
Merge pull request #7780 from lioncash/macro
...
video_core/macro: Move impl classes into their cpp files
2022-01-26 12:39:59 -08:00
Morph
c93dd45997
Merge pull request #7779 from lioncash/gpu-iface
...
gpu: Remove obsoleted CDmaPusher() accessors
2022-01-25 16:16:04 -05:00
Lioncash
a8a4f37628
video_core/macro: Add missing <cstring> header
...
Necessary since memcpy is used.
2022-01-25 14:10:02 -05:00
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.
2022-01-25 14:03:48 -05:00
Lioncash
cfd9f7d25b
video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()
...
Same behavior, but less code and header dependencies.
2022-01-25 13:50:14 -05:00
Lioncash
a05d9405b9
video_core/macro: Remove unused parameter from Execute()
...
Simplifies the function interface.
2022-01-25 13:41:38 -05:00
Lioncash
74f80299b0
video_core/macro_jit_x64: Remove unused impl class member
...
Reduces the size of the impl class a tiny bit.
2022-01-25 13:33:09 -05:00
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.
2022-01-25 13:31:54 -05:00
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.
2022-01-25 13:31:46 -05:00
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.
2022-01-25 13:15:48 -05:00
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.
2022-01-25 13:05:39 -05:00
Lioncash
9b38c8ef08
gpu: Remove obsoleted CDMAPusher() accessors
...
These were obsoleted in 2c47f8aa18
but
were accidentally overlooked.
2022-01-25 12:53:56 -05:00
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.
2022-01-25 12:42:27 -05:00
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);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-20 11:09:21 +00:00
Georg Lehmann
d15814d39f
vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64Features
2022-01-19 19:48:46 +01:00
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.
2022-01-16 16:13:20 -05:00
Fernando S
a95c49e7d0
Merge pull request #7658 from ameerj/sparse-fixes
...
video_core/memory_manager: Fixes for sparse memory management
2022-01-06 13:50:14 +01:00
Mai M
7116a7d28b
Merge pull request #7673 from german77/no_return
...
glsl: Remove unreachable return
2022-01-05 06:41:16 -05:00
Narr the Reg
41bbb31af4
video_core: Remove unnecesary maybe_unused flag
2022-01-04 21:25:47 -06:00
bunnei
afb06b1495
Merge pull request #7636 from vonchenplus/buffer_queue_query
...
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04 11:28:49 -08:00
Fernando S
118d5fa3b0
Merge pull request #7670 from ameerj/vsync-block
...
gpu: Add shut down method to synchronize threads before destruction
2022-01-04 14:16:24 +01:00
bunnei
c68a0d17fc
Merge pull request #7251 from FernandoS27/shader-dump
...
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-03 17:56:30 -08:00
ameerj
c17938f96b
gpu: Add shut down method to synchronize threads before destruction
2022-01-03 20:47:26 -05:00
Fernando Sahmkow
f58ee3f15f
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-04 02:39:00 +01:00
ameerj
7652543231
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
...
This reverts commit e773354477
, reversing
changes made to abbbdc2bc0
.
2022-01-03 20:28:54 -05:00
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.
2022-01-03 12:31:33 -05:00
Fernando S
3fa9702952
Merge pull request #7624 from ameerj/intel-msaa-scale
...
vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows drivers
2022-01-03 00:40:14 +01:00
Fernando S
ae7da0b12d
Merge pull request #7629 from ameerj/nv-driver-fixes
...
shaders: Add fixes for NVIDIA drivers 495+
2022-01-03 00:39:59 +01:00
ameerj
951c61aeaa
texture_cache/util: Fix s32 overflow when resolving overlaps
2021-12-31 20:03:22 -05:00
ameerj
285b6dbc39
video_core/memory_manager: Fixes for sparse memory management
2021-12-31 17:04:02 -05:00
ameerj
2428214c4b
video_core/memory_manager: Deduplicate Read/WriteBlock
2021-12-31 02:08:22 -05:00
ameerj
8c907c620d
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
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.
2021-12-29 19:03:50 -05:00
Feng Chen
e18bf4b062
Remove invalid header include
2021-12-28 18:51:11 +08:00
bunnei
f67605e6aa
Merge pull request #7622 from ameerj/vk-rescale-invalid-ptr
...
vk_texture_cache: Fix invalidated pointer access
2021-12-28 00:46:37 -08:00
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.
2021-12-23 22:35:19 -05:00
ameerj
cbc0f0a66e
blit_image: Remove unused function
2021-12-23 21:06:32 -05:00
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.
2021-12-23 20:55:48 -05:00
Fernando S
648c7b4ed6
Merge pull request #7375 from vonchenplus/convert_legacy
...
Convert all legacy attributes to generic attributes
2021-12-22 17:36:05 +01:00
bunnei
36df305b13
Merge pull request #7599 from FernandoS27/primrestart-vulkan
...
Vulkan: Fix Primitive Restart and implement Logical Operations
2021-12-22 00:19:23 -08:00
Jan Beich
e57b13ad94
video_core/codecs: re-enable VAAPI/VDPAU on BSDs after 72aa418b0b
2021-12-18 20:57:30 +00:00
bunnei
2030522d86
Merge pull request #7587 from liushuyu/fix-linux-decoding
...
[Patch v2] externals/ffmpeg: refactor ffmpeg searching and handling in cmake
2021-12-18 02:33:07 -08:00
vonchenplus
4908a07c20
Address format clang
2021-12-18 14:27:07 +08:00
Fernando Sahmkow
6c00151d17
Vulkan: Fix the checks for primitive restart extension.
2021-12-18 07:17:08 +01:00
Fernando S
04b4f3b051
Merge pull request #7399 from ameerj/art-refactor
...
video_core: Refactoring post A.R.T. merge
2021-12-18 07:09:58 +01:00
Feng Chen
e49184e606
Merge branch 'yuzu-emu:master' into convert_legacy
2021-12-18 13:57:14 +08:00