Commit Graph

14886 Commits

Author SHA1 Message Date
a26a725515 Fix format error in performance statistics
Formatting
2020-04-23 04:31:26 +02:00
bf2ddb8fd5 Merge pull request #3677 from FernandoS27/better-sync
Introduce Predictive Flushing and Improve ASYNC GPU
2020-04-22 22:09:38 -04:00
2c806c5fd3 Merge pull request #3767 from ReinUsesLisp/point-size-pipeline
vk_pipeline_cache: Fix unintentional memcpy into optional
2020-04-22 21:20:14 -04:00
d9463f4562 vk_pipeline_cache: Fix unintentional memcpy into optional
The intention behind this was to assign a float to from an uint32_t, but
it was unintentionally being copied directly into the std::optional.

Copy to a temporary and assign that temporary to std::optional. This can
be replaced with std::bit_cast<float> once we are in C++20.
2020-04-22 21:36:05 -03:00
c043ac4f13 GL_Fence_Manager: use GL_TIMEOUT_IGNORED instead of a loop, 2020-04-22 20:34:32 -04:00
bee2c64b34 Merge pull request #3725 from MerryMage/fpcr
thread: FPCR.FZ is likely not 1 (and FPCR.RMode = TieAway and FPCR.DN = 0)
2020-04-22 19:49:13 -04:00
6ce3d174b7 Merge pull request #3759 from H27CK/opus-mingw-w64
Set _FORTIFY_SOURCE=0 if building Opus with mingw-w64
2020-04-22 17:45:44 -04:00
63d2ba4f69 Merge pull request #3763 from H27CK/vk-cmd
Add missing ;
2020-04-22 17:43:42 -04:00
4d74578d35 Add missing ; 2020-04-22 23:36:21 +02:00
5ed13304e1 Merge pull request #3758 from H27CK/vk-cmd
Introduce dummy context for yuzu-cmd VK support
2020-04-22 12:37:01 -04:00
afae40a99e Merge pull request #3653 from ReinUsesLisp/nsight-aftermath
renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows
2020-04-22 11:39:01 -04:00
4e37f1b113 Address Feedback. 2020-04-22 11:36:27 -04:00
39e5b72948 Async GPU: Correct flushing behavior to be similar to old async GPU behavior. 2020-04-22 11:36:26 -04:00
1b3be8a8f8 MaxwellDMA: Correct copying on accuracy level. 2020-04-22 11:36:25 -04:00
644588fd88 ShaderCache/PipelineCache: Cache null shaders. 2020-04-22 11:36:25 -04:00
f616dc0b59 Address Feedback. 2020-04-22 11:36:24 -04:00
ec2f3e48e1 Fix GCC error. 2020-04-22 11:36:23 -04:00
7f44f22451 Correct Linux Compile Error. 2020-04-22 11:36:22 -04:00
d2d4a6cbcf Clang format. 2020-04-22 11:36:22 -04:00
b3e5f177ba QueryCache: Only do async flushes on async gpu. 2020-04-22 11:36:21 -04:00
f4ab223ef0 Async GPU: Only do reactive flushing on Extreme Level. 2020-04-22 11:36:20 -04:00
b752faf2d3 vk_fence_manager: Initial implementation 2020-04-22 11:36:19 -04:00
0649f05900 QueryCache: Implement Async Flushes. 2020-04-22 11:36:18 -04:00
131b342130 OpenGL: Guarantee writes to Buffers. 2020-04-22 11:36:18 -04:00
1fb516cd97 GPU: Implement Flush Requests for Async mode. 2020-04-22 11:36:17 -04:00
b7bc3c2549 FenceManager: Manage syncpoints and rename fences to semaphores. 2020-04-22 11:36:16 -04:00
96bb961a64 BufferCache: Refactor async managing. 2020-04-22 11:36:15 -04:00
b10db7e4a5 FenceManager: Implement async buffer cache flushes on High settings 2020-04-22 11:36:15 -04:00
4adfc9bb08 Rasterizer: Document SignalFence & ReleaseFences and setup skeletons on Vulkan. 2020-04-22 11:36:14 -04:00
a081a7c855 GPU: Fix rebase errors. 2020-04-22 11:36:13 -04:00
e84eb64e51 Rasterizer: Disable fence managing in synchronous gpu. 2020-04-22 11:36:12 -04:00
165ae823f5 ThreadManager: Sync async reads on accurate gpu. 2020-04-22 11:36:12 -04:00
57fdbd9b89 FenceManager: Implement should wait. 2020-04-22 11:36:11 -04:00
1f345ebe3a GPU: Implement a Fence Manager. 2020-04-22 11:36:10 -04:00
487379c593 OpenGL: Implement Fencing backend. 2020-04-22 11:36:10 -04:00
ed7e965712 TextureCache: Flush linear textures after finishing rendering. 2020-04-22 11:36:09 -04:00
339d0d9d6c GPU: Delay Fences. 2020-04-22 11:36:08 -04:00
8b1eb44b3e BufferCache: Implement OnCPUWrite and SyncGuestHost 2020-04-22 11:36:07 -04:00
da8f17715d GPU: Refactor synchronization on Async GPU 2020-04-22 11:36:06 -04:00
a60a22d9c2 Texture Cache: Implement OnCPUWrite and SyncGuestHost 2020-04-22 11:36:05 -04:00
084ceb925a UI: Replasce accurate GPU option for GPU Accuracy Level 2020-04-22 11:36:04 -04:00
91f1ffd283 Add a trailing separator to the string path
Fixes #3643
2020-04-22 07:33:14 -04:00
52e66779e7 Set _FORTIFY_SOURCE=0 if building Opus with mingw-w64 2020-04-22 08:20:12 +02:00
c883cd103e Init SDL info structure and add dummy context 2020-04-22 07:47:21 +02:00
e84f82a028 Merge pull request #3699 from FearlessTobi/port-5185
Port citra-emu/citra#5185: "gdbstub: Fix some gdbstub jankiness"
2020-04-21 22:26:10 -04:00
6f47bd9641 vk_memory_manager: Remove unified memory model flag
All drivers (even Intel) seem to have a device local memory type that is
not host visible. Remove this flag so all devices follow the same path.

This fixes a crash when trying to map to host device local memory on
integrated devices.
2020-04-21 22:06:38 -03:00
d64290884a Merge pull request #3714 from lioncash/copies
gl_shader_decompiler: Avoid copies where applicable
2020-04-21 20:16:02 -04:00
cd47ccec49 Merge pull request #3745 from bunnei/fix-homebrew-load
Fix process memory initialization for ELF and NRO
2020-04-21 18:59:16 -04:00
488ed8bd02 vk_rasterizer: Add lazy default buffer maker and use it for empty buffers
Introduce a default buffer getter that lazily constructs an empty
buffer. This is intended to match OpenGL's buffer 0.

Use this for disabled vertex and uniform buffers.

While we are at it, include vertex buffer usages for staging buffers to
silence validation errors.
2020-04-21 19:55:52 -03:00
0bbae63300 gl_rasterizer: Fix buffers without size
On NVN buffers can be enabled but have no size. According to deko3d and
the behavior we see in Animal Crossing: New Horizons these buffers get
the special address of 0x1000 and limit themselves to 0xfff.

Implement buffers without a size by binding a null buffer to OpenGL
without a side.

1d1930beea/source/maxwell/gpu_3d_vbo.cpp (L62-L63)
2020-04-21 19:55:44 -03:00