RipleyTom
cd87a64621
Headers cleanup
2025-02-11 20:38:35 +01:00
kd-11
826f805902
rsx: Use a proper struct to wrap around channel remap operations
2024-10-03 15:02:09 +03:00
kd-11
4746ef09cd
Fix linux build
2024-02-10 15:15:02 +03:00
kd-11
ed93bbd16d
vk: Improve compute->compute barrier before detiling
2024-02-10 15:15:02 +03:00
kd-11
041daab068
vk: Tighten some memory bounds checks
2024-02-10 15:15:02 +03:00
kd-11
e5c831a800
rsx/vk: Fix GPU tile encoding
...
- Decoding also needs some love, but currently WIP
2024-02-10 15:15:02 +03:00
kd-11
acd3fd0c3e
vk: Implement display output format correction
2024-01-04 13:03:32 +03:00
kd-11
6c33c38c08
rsx: Fix RSX tiling when using optimized DMA views
2024-01-01 19:44:47 +03:00
kd-11
51fc193395
rsx: De-spaghettify nv3089::image_in
...
- This function was a disaster with random code added in without much thought over a decade.
- Restructures the logic into decode and transfer steps for easier management.
2023-12-26 18:30:00 +03:00
kd-11
e95cff0bde
rsx: Detiler improvements
...
- Detile on blit src read
- Improve blit engine integration
2023-10-12 15:25:47 +03:00
kd-11
cb21fefbd9
rsx: Fix bpp when working with DMA-only (null) memory sections
2023-09-27 14:52:59 +03:00
kd-11
725bad0963
vk: Revert more debugging code
2023-09-27 14:52:59 +03:00
kd-11
ca054644ef
rsx/vk: Support ingesting pre-processed GPU data as texture input
2023-09-27 14:52:59 +03:00
kd-11
ffc61e01f7
rsx/vk: Support mismatched pitch (padded) and fix the overscan problem
2023-09-27 14:52:59 +03:00
kd-11
647f7ddeec
rsx/vk: Initial hw-accelerated tile decoder
2023-09-27 14:52:59 +03:00
kd-11
3afc379746
rsx: Import, rebase and clean up the old detiling patches from 2021
2023-09-27 14:52:59 +03:00
kd-11
fe1bc18ac9
vk: Fix section merge calculations when using a temp resource
2023-09-21 19:52:15 +03:00
kd-11
58e9e54b7f
rsx: Remove unused code (argb<->bgra modifier) and refactor a bit
2023-08-09 00:25:50 +03:00
kd-11
767979ea44
rsx: Implement image copy between 2D -> 3C/CUBE with scaling support.
2023-08-09 00:25:50 +03:00
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