Eladash
1d51f3af0c
RSX-Debugger: Implement backwards scrolling
...
* Use 2 points of known true RSX code roots and follow them in order to peek at the current section of valid RSX code:
These roots are: current RSX instruction address and the last targeted address by a branch instruction.
2022-04-15 22:34:51 +03:00
kd-11
57aee92bfe
rsx: Separate guest flip timer from host timing operations
2022-04-13 23:39:01 +03:00
kd-11
89de1a8cf6
overlays: Fix frame timing
2022-04-13 23:39:01 +03:00
kd-11
60cbd7a88c
Automatically determine the epsilon value programatically
2022-04-13 15:48:28 +03:00
kd-11
2db68acab9
rsx: Implement Z value snapping to account for precision errors
2022-04-13 15:48:28 +03:00
kd-11
e53bbd668b
rsx: Fix surface cache scanning and removal
2022-04-05 14:07:05 +03:00
kd-11
fc05511354
rsx: Optimize software sampling further for the 6-tap kernel
2022-04-04 16:51:03 +03:00
kd-11
ca35a75a7d
rework weighting scheme
2022-04-04 16:51:03 +03:00
kd-11
15b7e4f05e
6-tap experiment
2022-04-04 16:51:03 +03:00
kd-11
49c84f099a
rsx/glsl: Fixup
2022-04-04 16:51:03 +03:00
kd-11
43b267ea51
glsl: Rewrite MS sampling implementation
2022-04-04 16:51:03 +03:00
kd-11
a8441b28e8
rsx: Implement basic 2D bilinear filtering for MSAA images
2022-04-04 16:51:03 +03:00
kd-11
4a86638ce8
rsx: Avoid unnecessary memprotect syscalls
2022-03-29 12:35:32 +03:00
kd-11
e037b5c438
rsx: Handle in-place image swaps when locking data for WCB/WDB
...
- Rare, but possible if a surface address is switched from color to depth usage
- In such a case, deref the old image and ref the new one to avoid leaks
2022-03-29 12:35:32 +03:00
kd-11
f45343a345
rsx: Handle DMA block init where empty pages exist in the range
2022-03-29 12:35:32 +03:00
kd-11
94a7e52c1f
rsx: Disable ref count on exit
2022-03-28 19:55:34 +03:00
kd-11
2b42895bc7
rsx: Reduce log spam a bit
2022-03-28 19:55:34 +03:00
kd-11
d98d152d23
rsx: Fix leaking surface cache refs from texture cache
...
- Lock surfaces in use by texture cache to prevent complete deletion
- Remove discarded surfaces from the reprotect cache to avoid uaf
2022-03-28 19:55:34 +03:00
kd-11
b645a7faf5
vk: Rebuild swapchain in case of unexpected errors during present
2022-03-28 19:55:34 +03:00
kd-11
ffa841e7c1
vk: Force resolve explicitly for transfer operations
2022-03-28 19:55:34 +03:00
kd-11
e66d6a9399
Fix interpreter
2022-03-26 16:10:18 +03:00
kd-11
ef65c47592
vk: Restore UBO alignment
...
- NV requires some very large alignment thresholds
2022-03-26 16:10:18 +03:00
kd-11
1592ecdc55
rsx: Invalidate transform block on program change
...
- Since each program now does a remap of the outputs, we need to reupload the constants
- This is not a loss, constants are almost always changing between draw calls anyway
2022-03-26 16:10:18 +03:00
kd-11
96742852eb
Fix OGL
2022-03-26 16:10:18 +03:00
kd-11
de0e660d28
rsx: Handle vertex shaders with no constant references
...
- If no vc[] refs exist, do not upload anything!
2022-03-26 16:10:18 +03:00
kd-11
d057ffe80f
rsx: Fix program generation and compact referenced data blocks
2022-03-26 16:10:18 +03:00
kd-11
9a2d4fe46b
rsx: Relocatable transform constants
2022-03-26 16:10:18 +03:00
RipleyTom
a4d715e25d
Warning Fixes
2022-03-23 19:35:10 +01:00
kd-11
af0e1f609e
Fix vulkan compilation warnings
2022-03-23 11:26:06 +03:00
kd-11
1ab5b481ff
Fix ambiguous comparison operator warning
2022-03-23 11:26:06 +03:00
kd-11
26ee1246ae
rsx: Block size back down to 4MB
...
- 4M is a good compromise, a 720p surface occupies just under 4MB
2022-03-23 11:26:06 +03:00
kd-11
d0402332f7
rsx: Bump surface cache block size to 16M
2022-03-23 11:26:06 +03:00
kd-11
43c7417906
rsx: Rework ranged map
...
- Adds metadata lookup for intersecting range calculations
- Make fetch/put methods more explicit
2022-03-23 11:26:06 +03:00
kd-11
56540a55ec
Fix linux
2022-03-23 11:26:06 +03:00
kd-11
35ec4de776
rsx: Optimize surface store for faster scanning
2022-03-23 11:26:06 +03:00
kd-11
bc7ed8eaab
rsx/vk: Rework MSAA implementation
2022-03-17 22:02:20 +03:00
Megamouse
04df392866
Log cpu usage periodically
2022-03-16 19:42:06 +01:00
kd-11
78b8bd80e4
rsx: Unconditionally set MSAA flags if MSAA is active
2022-03-11 01:15:13 +03:00
kd-11
1943d9819f
rsx: Clean up surface cache routines around RTT invalidate
2022-03-10 20:43:58 +03:00
kd-11
59a0cf94ab
rsx: Fix msvc build
2022-03-08 22:06:26 +03:00
kd-11
3e4faf602a
rsx: Fix clang build
2022-03-08 22:06:26 +03:00
kd-11
454a724f4e
rsx: Reduce the performance impact of enabling the profiling timer
...
- Just use TSC if available
2022-03-08 22:06:26 +03:00
kd-11
cfecbb24ca
rsx: Avoid calling slow functions every draw call
...
- Use TSC for timing where interval duration matters.
- Use atomic counter for ordering timestamps otherwise.
2022-03-08 22:06:26 +03:00
kd-11
762b594927
rsx: Fully process texture if surface cache configuration changed
2022-03-08 22:06:26 +03:00
kd-11
8d3d290e33
rsx: Fix build
2022-03-08 22:06:26 +03:00
kd-11
0df903090d
rsx: Optimize metrics a bit
...
- For some reason this has a massive impact on performance above some arbitrary threshold of calls
Shows up under surface_cache::get_merged_memory_region when doing gathers.
2022-03-08 22:06:26 +03:00
kd-11
6812fa4764
rsx: Fix surface write coherency when MSAA is active
2022-03-08 22:06:26 +03:00
Megamouse
cd97d74f0f
cellMusic/Decode: add SelectContents functions
2022-03-08 09:02:59 +01:00
Megamouse
aafd74f9ea
cellMusicDecode: initial implementation
...
Implements the basic functionality of cellMusicDecode.
Works with Space Invaders (if you add the list selection from the other PR).
Probably fixes SSX custom music.
2022-03-05 18:34:27 +01:00
kd-11
0dbfe314a3
vk: Encode image type when caching resources
2022-03-01 21:51:55 +03:00
kd-11
00a1864a95
Revert "rsx: Downgrade depth-1 3D images to 2D ( #11593 )"
...
This reverts commit 6c096b72b5 .
2022-03-01 21:51:55 +03:00
kd-11
6c096b72b5
rsx: Downgrade depth-1 3D images to 2D ( #11593 )
...
- Fixes problems with implicit view types derived from dimensions.
2022-03-01 10:45:50 +03:00
kd-11
e035000864
vk: Do not enable passthrough DMA unconditionally (yet)
...
- There are still some kinks to work out. Host labels do not fix all the bugs which means I missed something.
2022-02-26 10:28:46 +03:00
kd-11
6db5d83615
Flush dma offloader on texture read sema
2022-02-25 10:53:55 +03:00
kd-11
f3823232e0
Disable passthrough DMA for proprietary intel driver
2022-02-23 21:15:08 +03:00
kd-11
6b8b23c401
vk: Drain the label queue before using the CPU fallback to avoid out-of-order signals
...
- This avoids crashes in some game engines which expect RSX semaphores to signal in the order they are submitted.
2022-02-23 12:57:04 +03:00
kd-11
6fd2a9b677
rsx: Remove leftover dprints
2022-02-23 12:57:04 +03:00
kd-11
da559b5568
vk/rsx: Tuning and optimization for host labels
2022-02-23 12:57:04 +03:00
kd-11
24587ab459
rsx: Add the option to the advanced tab
2022-02-23 12:57:04 +03:00
kd-11
c7e49b58a8
rsx: Implement host GPU sync labels
2022-02-23 12:57:04 +03:00
kd-11
10e6b43a2f
Drop redundant declaration
2022-02-21 23:58:01 +03:00
kd-11
0809e7cf9f
Fix build
2022-02-21 23:58:01 +03:00
kd-11
12fd43e1c6
vk: Remove unused variables
2022-02-21 23:58:01 +03:00
kd-11
397a795e75
vk: Remove hardcoded command buffer list length
2022-02-21 23:58:01 +03:00
kd-11
1f9ade0ab6
vk: Remove pointless function (VKGSRender::open_command_buffer)
...
A relic of the past, back before we wrote wrappers for raw handles.
2022-02-21 23:58:01 +03:00
kd-11
83407c386c
vk: Move renderer types to a separate file
...
- Makes my life easier managing conflicts
2022-02-21 23:58:01 +03:00
kd-11
b791d90b35
vk: Rewrite command buffer chains
2022-02-21 23:58:01 +03:00
Megamouse
93e7988df7
rsx: add boost mode shortcut
2022-02-20 11:56:11 +01:00
nastys
7801e8368b
Add MoltenVK Semaphore setting
2022-02-20 08:47:16 +01:00
kd-11
254ddcad51
vk/dma: Initialize COW DMA block contents to avoid leaks
...
- It is possible to lose data when uploading since the result of map_dma can change types and handles.
- Consider sync-on-exit for inherited spans
Not a problem when using passthrough DMA, but this extension does not work properly on NVIDIA + windows
2022-02-16 16:33:27 +03:00
kd-11
2d5d5746d1
gl: Harmonize format conversion values
...
- Return values that are true to the PS3, not the host.
2022-02-13 15:31:39 +03:00
kd-11
314b63eebf
vk: Drop unused native format ABGR8
2022-02-13 15:31:39 +03:00
kd-11
f382d54e9a
gl: Remove pointless assert
2022-02-13 15:31:39 +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
c8ad8b18bb
vk: Ignore queue transfer stuff when using 'fast' mode
2022-02-13 14:39:42 +03:00
kd-11
44cc254620
Fix linux build
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
ec3e8de780
rsx: End the current frame before performing cache cleanup to release in-flight data
2022-02-10 22:20:56 +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
Megamouse
d172b9add6
Rename CallAfter to CallFromMainThread
2022-02-07 19:42:08 +01:00
kd-11
2d9f21a2ea
rsx: Lower performance warnings to 'warn' level instead of 'error' level to avoid causing panic for users
2022-02-07 09:25:01 +03:00
kd-11
247759b75b
rsx: Fix memory tagging and add some security checks
2022-02-07 09:25:01 +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
nastys
6b370e85d5
Add overlay animations
2022-02-06 12:26:34 +01:00
Eladash
e951c619c5
Implement Emulator::GracefulShutdown()
2022-02-05 11:49:29 +01:00
kd-11
86919ec0e1
rsx: Validate requested images before attempting to upload them
...
- Do not allow dimensions of 0 to reach the backend APIs
2022-01-30 14:58:51 +03:00
kd-11
0e320d17c1
vk: Fix 'grow' behavior when we reach the size limit
...
- Just swap out the current heap ptr and spawn a fresh one. Chances are, we can spare 1GB of host memory.
2022-01-30 10:56:15 +03:00
kd-11
d063f0b335
vk: Fix working buffer calculation for emulated D16F operations
2022-01-30 10:56:15 +03:00
Eladash
781b2b4548
Implement fs::isfile ( #11447 )
2022-01-29 22:10:48 +03:00
Nekotekina
16aae4eb77
Fixup creating image path
2022-01-26 15:46:16 +03:00
Nekotekina
3a1082fe0d
Fix overlays::image_info constructor
2022-01-26 15:46:16 +03:00
kd-11
ffe00e8619
gl: Clean up format bitcast checks and register D32F type for FORMAT_CLASS16F
...
- Also hides a dangerous export for vulkan, same as GL
2022-01-26 12:08:36 +03:00
kd-11
3fa45ff994
Fix missing typeless info update
2022-01-26 12:08:36 +03:00
Eladash
73ff506b88
overlay_controls.cpp: Improve image_info ctor withstandability
2022-01-26 10:35:52 +03:00
kd-11
3a1676e558
vk: Fix float16 requirement issue
2022-01-25 21:34:21 +03:00
Nekotekina
0db9850a73
Add loop building utilities for ASMJIT
...
Refactor copy_data_swap_u32 a bit
2022-01-25 03:16:37 +03:00