Commit graph

935 commits

Author SHA1 Message Date
Megamouse cf229a8e9f some more dynamic settings 2020-04-15 18:25:25 +02:00
scribam 2e397e38a4 Typos 2020-04-14 17:06:58 +03:00
scribam f37adc4188 Add fallthrough attribute 2020-04-14 17:06:58 +03:00
Nekotekina d0c199d455 Replace utils::cnttz{32,64} with std::countr_{zero,one}
Make #include <bit> mandatory.
2020-04-14 16:05:58 +03:00
kd-11 69d90f6fec vk: Remove NVIDIA workaround for broken partial occlusion queries
- This bug has been fixed in the latest drivers.
2020-03-31 20:53:12 +03:00
kd-11 8c847d3a4b vk: Remove RADV workaround regarding renderpass barriers
- The situation was clarified in the official vulkan spec to allow this
  behavior.
  Barriers are now only inserted by the driver when layout
transitions are requested.
2020-03-31 20:53:12 +03:00
kd-11 b327e329d6 vk: Avoid query log spam if no program is loaded 2020-03-31 20:53:12 +03:00
kd-11 4965bf7d7a gl/vk: Refactor draw call handling and stub shader interpreter
- Refactors backend draw call management to make it easier to extend
  functionality.
- Stubs shader interpreter functionality.
2020-03-23 14:47:28 +03:00
kd-11 d25ba03e82 vk: Lazy evaluate renderpass scope
- Spamming the driver with renderpass open/close cycles is bad for performance.
2020-03-15 18:39:40 +03:00
kd-11 2ae83782e1 vk: Fix potential MTRSX deadlock in case of a race condition 2020-03-13 22:06:04 +03:00
kd-11 7e9dbeff7b
vk: Fix MTRSX deadlock (#7766) 2020-03-12 22:29:58 +03:00
Nekotekina 04dedb17eb Disable exception handling.
Use -fno-exceptions in cmake.
On MSVC, enable _HAS_EXCEPTION=0.
Cleanup throw/catch from the source.
Create yaml.cpp enclave because it needs exception to work.
Disable thread_local optimizations in logs.cpp (TODO).
Implement cpu_counter for cpu_threads (moved globals).
2020-03-12 16:03:08 +03:00
kd-11 47bbfdd2aa vk: Change texture cache memory management for disposed textures
- Use global resource manager instead of using the 2-frame hold behavior.
- Fixes high VRAM usage in some games
2020-03-11 16:29:34 +03:00
kd-11 7989de9d16 vk: Properly release dma resources. 2020-03-10 22:02:02 +03:00
kd-11 2985a39d2e rsx: Rewrite async decompiler 2020-03-09 14:59:25 +03:00
kd-11 8214425a3c rsx: Fix framebuffer native layout for X32_FLOAT
- It was not matching the order laid out for normal textures uploaded from CPU.
2020-03-08 11:43:49 +03:00
kd-11 70f2577b9e vk/gl: Use best-fit semantics when scanning texture cache for flippable images
- Allows sourcing flip data from the blit engine resources which avoids expensive flush and re-upload
2020-03-07 16:58:35 +03:00
kd-11 93295f7f50 vk: Fix image properties for flip temporary images to be samplable.
- In case of gamma correction or other effects, they may require shader access.
- BGRA8_UNORM is usually safe to use directly without staging memory.
2020-03-07 16:58:35 +03:00
kd-11 1725f7a34b rsx: Add anaglyph 3D filter 2020-03-07 16:58:35 +03:00
kd-11 6e3406b3f5 video: Allow selection of 3D stereo resolutions 2020-03-07 16:58:35 +03:00
Nekotekina 7a8772dafa Replace std::string::npos with umax 2020-03-05 14:05:23 +03:00
Nekotekina Aux1 f2f3321952 Fix warnings in VKGSRender 2020-03-04 21:23:34 +03:00
kd-11 7fe9802f87 vk: Properly use declared pitch when loading simple images 2020-03-01 00:16:52 +03:00
kd-11 76bbbe27f1 vk: Fix dma resource leak
- Fix broken check; a relic of the past where flush method would reset the fence
2020-03-01 00:16:02 +03:00
kd-11 9af52d12a8 vk: Improve events
- Make events properly managed objects.
- Add a workaround for AMD's broken event status query
2020-03-01 00:16:02 +03:00
kd-11 5eb314fbbb vk: Add execution barriers.
- Useful for debugging
2020-03-01 00:16:02 +03:00
Eladash 8762f2a588 Use more starts_with 2020-02-29 13:06:14 +03:00
kd-11 08f3460365 vk: Fixup for RCB/RDB in special cases
- Images must be in TRANSFER_DST_OPTIMAL or GENERAL layouts to call the image upload routines.
2020-02-29 12:13:11 +03:00
Megamouse ee46ad1ca9 move overlays code to headers 2020-02-26 23:43:18 +01:00
gamerforEA 93552a5958 Apply some Clang-Tidy fixes 2020-02-27 00:38:55 +03:00
Nekotekina 7069e7265f RSX: move g_dma_manager to g_fxo 2020-02-23 13:12:50 +03:00
kd-11 6220206cbc vk: Implement 2D array textures required for new font subsystem 2020-02-22 15:07:14 +03:00
Nekotekina 972e0ab31d Remove -Wno-reorder and make it an error 2020-02-21 15:20:34 +03:00
Nekotekina 92e3eaf3ff Fix signed-unsigned comparisons and mark warning as error (part 2). 2020-02-19 22:54:58 +03:00
Megamouse fe75311be2 move config structs to own files and clean up some headers 2020-02-17 15:08:17 +03:00
kd-11 5e6b1003ec vk: Only declare explicit subpass dependencies for RADV 2020-02-16 18:00:06 +03:00
kd-11 23f1515448 vk: Explicitly declare null subpass dependencies
- We do not want any actual dependencies, but it turns out removing them
  entirely makes the driver add even worse dependencies.
2020-02-15 21:45:25 +03:00
Nekotekina bcbe324534 geometry.h: make conversion operators explicit
It requires static_cast<> to call them.
2020-02-11 13:21:45 +03:00
kd-11 efc8c3f4a9 vk: Fixup for VK_ERROR_SUBOPTIMAL_KHR
- break from a switch does not break out of the external scope!
2020-02-09 13:45:30 +03:00
kd-11 792c481f6d rsx/overlays: Fix clipped rendering of UI elements
- Take viewport offset into account when applying window transforms.
  This is necessary because gl_FragCoord is based on the framebuffer and not the viewport.
2020-02-09 12:55:56 +03:00
Eladash b7043ce000 Make rsx::get_address report caller location 2020-02-08 22:18:56 +03:00
kd-11 d59c449ff6 vk: Remove an overzealous assert 2020-02-07 16:15:02 +03:00
kd-11 0bba04ef8d vk: Fix a bug in RCB/RDB when MSAA is set to disabled.
- Initially MSAA option was hardcoded to be always enabled, this bug is a remnant of that time.
2020-02-06 17:54:05 +03:00
Nekotekina c0f80cfe7a Use attributes for LIKELY/UNLIKELY
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Nekotekina 15391f45d0 Modernize RSX logging (rsx_log variable) 2020-02-01 11:52:22 +03:00
kd-11 698702cd4a vk: Fix DMA data leak
- There still does not exist a ranged flush implementation which is required.
- TODO: Implement this properly
2020-01-26 13:58:48 +03:00
kd-11 1166ae19bb vk: Use appropriate layouts depending on use case when creating new textures to avoid needless barriers 2020-01-26 13:58:48 +03:00
Maksim Derbasov 1abdee242a small improvement (#7288)
* small improvement

* comments addressed

Co-authored-by: kd-11 <15904127+kd-11@users.noreply.github.com>
2020-01-22 12:28:48 +00:00
kd-11 22ca2827de rsx: Improve window border detection and clearing
- Improves logic to detect if the frame requires letterboxing and
properly clears the background appropriately.
2020-01-18 19:52:52 +03:00
kd-11 5e0ca4c0c4 rsx: Fixup for missing visuals when framebuffer is larger than requested
display dimensions.
2020-01-18 19:52:52 +03:00