Commit graph

44 commits

Author SHA1 Message Date
kd-11
4decad6f6b rsx: Force compatibility checks when applying fast-path optimizations 2023-07-04 09:31:51 +03:00
kd-11
8f98e572e1 rsx: Use designated initializer for the dangerous copy_region_descriptor type
- We need to move more dangerous braced initializations to c++20
- Also adds a base address variable which will come in handy
2023-07-04 09:31:51 +03:00
kd-11
8ebf24d8e7 vk: Do not clear memory if we're going to overwrite it with a copy anyway 2023-07-04 09:31:51 +03:00
kd-11
c4acea6c82 vk: Fix some regressions in synchronization2 behavior 2023-06-30 18:38:14 +03:00
kd-11
92992a5406 vk: Use pipeline barriers for proper event sync 2023-06-30 18:38:14 +03:00
kd-11
ed1da364e5 vk: Fix a bunch of corner cases when syncing GPU and host memory 2023-06-27 16:41:30 +03:00
kd-11
850166eca1 vk: Reimplement events using synchronization2 extension 2023-06-22 14:59:58 +03:00
kd-11
142d25c0d7 vk: Don't erase texture cache images directly. Use gc instead. 2023-05-15 12:28:19 +03:00
kd-11
4e2f3a289c vk: Tune resource quotas
- Tuned for 1G. The system requires about 128M for scratch and system data.
2023-05-15 12:28:19 +03:00
kd-11
61a055a1c6 Tuning 2022-08-07 22:14:49 +03:00
kd-11
c9058280e0 vk: Fix a potential deadlock 2022-07-25 21:05:31 +03:00
kd-11
5af50cfd55 vk: Handle corner cases
- Fix up flush sequence in DMA handling (WCB)
- Do not request resource sharing if queue family is not different!
2022-07-25 21:05:31 +03:00
kd-11
d846142f0c vk: Reimplement compliant async texture streaming
- Use CONCURRENT queue access instead of fighting with queue acquire/release via submit chains.
  The minor benefits of forcing EXCLUSIVE mode are buried under the huge penalty of multiple vkQueueSubmit.
  Batching submits does not help alleviate this situation. We simply must avoid interrupting execution.
2022-07-25 21:05:31 +03:00
kd-11
d0dc095c84 rsx: Silence some log spam 2022-05-20 16:29:27 +03:00
kd-11
0dbfe314a3 vk: Encode image type when caching resources 2022-03-01 21:51:55 +03:00
kd-11
12fd43e1c6 vk: Remove unused variables 2022-02-21 23:58:01 +03:00
kd-11
df5295ae85 vk: Per work-queue scratch resources
- Avoids parallel tasks from trampling over each other's data
2022-02-13 14:39:42 +03:00
kd-11
cef512a123 vk: Spec-compliant async compute 2022-02-13 14:39:42 +03:00
kd-11
f667b52cca vk: Rewrite resource management 2022-02-10 22:20:56 +03:00
kd-11
48b54131f6 vk: Fix up multiple resource allocation routines
- Originally part of async bringup. Imported to allow smoother transition.
2022-02-10 22:20:56 +03:00
kd-11
90d368ae30 vk: Speed up cached image search a bit 2022-02-06 15:49:50 +03:00
kd-11
a2d33a7d76 vk: Fix WCB crash 2022-02-06 15:49:50 +03:00
kd-11
51f9310b9f vk: Silence compiler warnings 2022-02-06 15:49:50 +03:00
kd-11
dca3d477c9 vk: Use image hot-cache for faster allocation times
- Creating new images is expensive.
- We can keep around a set of images that have been recently discarded and use them instead of creating new ones from scratch each time.
2022-02-06 15:49:50 +03:00
kd-11
6d737e61fd rsx: Use 32 bit integers for pitch
- RSX max pitch = 65536 which requires 17 bits
2022-01-10 12:27:30 +03:00
nastys
a0040e6fb1
macOS: Implement texture converter for Metal (2) (#11289)
* macOS: Implement texture converter for Metal (2)

* Fix texture conversion formatting
2021-12-24 15:46:37 +03:00
kd-11
6781eb7c76 rsx: Avoid calling get_system_time() every draw call 2021-09-28 17:43:15 +03:00
kd-11
b5faa8f83c vk: Properly calculate cubemap memory size 2021-08-13 22:46:36 +03:00
kd-11
d0a824996b vk: Add basic support for FSR 1.0
- Only implemented for image upscaling.
- Disabled by default. Emulators cannot ensure upscalers are injected at the right rendering step.
- GUI integration not implemented.
2021-08-06 17:18:48 +03:00
kd-11
f6e4cc14a2 vk: Fix a few incorrectly calculated scratch buffer sizes 2021-07-30 12:43:21 +03:00
kd-11
9d11c8cbb5 vk: Allow creating temporary subresources to fail if we run out of memory. 2021-07-27 10:52:21 +03:00
kd-11
6a9d1edee1 vk: Fix use-after-free hazard by checking if we're faulting from within the texture cache
- If we're using the texture cache, DO NOT delete resources.
2021-07-25 20:55:09 +03:00
kd-11
b7df539871 vk: Fix null deref in texture cache when dumping temporary storage 2021-07-17 21:28:11 +03:00
kd-11
974a3c8807 Fix linux build 2021-07-15 18:05:35 +03:00
kd-11
369f1132f3 Formatting fixes
- Non-functional stuff, move along
2021-07-15 18:05:35 +03:00
kd-11
2524c35638 vk: Improve handling of texture cache temporary resources
- Temp resources from the texture cache are used to hold composite objects being sent to the GPU and can waste a lot of memory.
- Remove them if we run out of memory as they can linger around for a long time.
2021-07-15 18:05:35 +03:00
kd-11
77c9dff054 vk: Minor whitespace fix
- Non-functional formatting and warning fixes
2021-07-15 18:05:35 +03:00
kd-11
09f9f21261 vk: Add overallocation quota for texture cache 2021-07-15 18:05:35 +03:00
kd-11
5f6d1644cf vk: Refactor VkTextureCache by moving most of the code to cpp file
- Makes adding next set of changes easier
2021-07-15 18:05:35 +03:00
kd-11
77e312fb99 vk: Add the async task scheduler 2021-03-12 02:27:05 +03:00
kd-11
3632412c48 vk/dma: Simplify map_dma interface 2021-02-23 00:04:53 +03:00
kd-11
f7fdfe52bc vk: Fix custom event signals 2021-01-24 14:24:55 +03:00
Megamouse
066e53da55 minor cleanup 2020-12-19 08:33:53 +01:00
Nekotekina
eec11bfba9 Move align helpers to util/asm.hpp
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00