Nekotekina
bcbe324534
geometry.h: make conversion operators explicit
...
It requires static_cast<> to call them.
2020-02-11 13:21:45 +03:00
Eladash
dcb30df7c8
rsx capture: Fix capture recovery after a crash
2020-02-10 21:39:39 +00:00
Eladash
bdab26ec09
rsx: rewrite io mappings
...
Along with some with fixes to cellGcmSys HLE.
2020-02-10 21:39:39 +00:00
kd-11
f47333997f
rsx: Validate memory blocks before checking for overlap
2020-02-10 21:48:35 +03:00
kd-11
3787108ee7
rsx: Typo fix in audit condition
2020-02-10 21:48:35 +03:00
Nekotekina
034267adb2
Compilation fix
2020-02-10 16:57:56 +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
9d1bb60ad7
cellGcm HLE: fix cellGcmMapMainMemory
...
Fix arguments order, softcode RsxReports::report offset.
2020-02-08 22:18:56 +03:00
Eladash
b7043ce000
Make rsx::get_address report caller location
2020-02-08 22:18:56 +03:00
kd-11
c64935f9dd
rsx: Clean up graphics state notifications and add notification for change in point size
...
- Adds a backend notification when point size changes.
- Refactors all those separate notifiers into one reusable template.
2020-02-08 18:13:05 +03:00
kd-11
54da9ac7e5
overlays: Fixup
...
- Avoid calling join on self thread.
- Avoid use-after-free.
2020-02-07 19:28:41 +03:00
kd-11
e45360de2b
overlays: Fix use after free
...
- Overlay can be closed when secondary thread is asleep!
Wait for it to wake before proceeding with deletion.
2020-02-07 16:15:02 +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
kd-11
43dae6c14d
gl: Implement RCB/RDB
2020-02-06 17:54:05 +03:00
kd-11
2b5c24b304
gl: Fix memory barrier implementation and stub for RCB/RDB
...
- It's a miracle it even compiled
2020-02-06 17:54:05 +03:00
kd-11
50b1e26b17
gl: Fix a long-standing regression with typeless transfer caused by a typo.
...
- The parameters for the final upload should be 'unpack_info' not 'pack_info'!
2020-02-06 12:44:46 +03:00
kd-11
18e0559438
gl: Fix per-level sub-image sizes to comply with OpenGL guidelines for compressed textures
2020-02-06 12:44:46 +03:00
kd-11
3cc42c1bf8
gl: Fix broken image transfer operations
2020-02-05 18:18:09 +03:00
kd-11
b6422c9a33
rsx: Fixup
...
- Destination Y coordinate must be 'rebased' onto the current slice by subtracting its offset.
Only the local path was affected this time
2020-02-05 18:18:09 +03:00
Nekotekina
c0f80cfe7a
Use attributes for LIKELY/UNLIKELY
...
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Nekotekina
1a78e0e80c
Make RPCS3 compile in C++2a mode
2020-02-04 23:43:55 +03:00
kd-11
9d9b5c4d66
rsx: Rewrite coverage test to take sum of areas into account.
...
- TODO: A proper sweep algorithm to calculate sum of overlapping rectangles
2020-02-04 16:20:52 +03:00
kd-11
b9ec012922
rsx: Allow for proper data checks when WCB/WDB is enabled
2020-02-04 16:20:52 +03:00
Nekotekina
c4a01875d0
Space fix commit
2020-02-03 11:16:26 +03:00
Silent
7f4e546f19
Protect m_storage.find(key) to fix a race
2020-02-02 22:28:14 +03:00
kd-11
7d2ed9200d
rsx: Remove sections that are wholly inherited by new blocks
...
- Allows sections reclaimed by the surface store due to overlap/inheritance to be identified and removed.
- Additionally, potentially lowers the number of flushes required per block with multiple overlaps improving efficiency and theoretically performance.
2020-02-01 15:14:29 +03:00
Nekotekina
15391f45d0
Modernize RSX logging (rsx_log variable)
2020-02-01 11:52:22 +03:00
Nekotekina
1d0f359406
logs: add more log channels instead of GENERAL
2020-01-31 16:44:48 +03:00
kd-11
36d5db7f30
rsx: Plug texture data leak in the 'exact match' path.
...
- Followup to previous texture data leak fix for the replaced section path.
2020-01-31 14:56:53 +03:00
kd-11
c9e35926f5
rsx: Preserve pixel data when splitting sections
...
- Ironically rhis data leak is caused by trying to fix another type of data leak
2020-01-30 21:07:36 +03:00
Eladash
92466165f6
Increase Maximum Vblank Rate and Clocks Scale
...
Allow x30 times the speed of vblank rate + clocks scale of original PS3.
In theory a 60 fps limit game which scales frame limit perfectly with vblank rate can be played at up to 1800 fps with this change.
And:
* Fixed lv2 sleep with Clocks Scaling
* Make these settings dynamicaly adjustable.
* Avoid code duplication
2020-01-29 21:42:41 +01:00
kd-11
1206a5d4b7
rsx: Tweak blit engine heurestics a bit
...
- Reject writes to RTT if the source data is of unknown origin.
non-RTT data and only 1 line in length is suspicious and often GPU data like programs or other rendering inputs.
2020-01-29 12:54:06 +03:00
Nick Renieris
1e69de1205
overlays/perf: Graph label tune-up
...
Place graph text on top, split in 2 lines, center it horizontally.
Also if it's wider than the graph, match up graph's width to it.
2020-01-26 17:55:11 +01:00
kd-11
79216917b3
rsx: Workaround for broken rtt resampling
...
- Avoids WCB requirement for now to keep res scaling working correctly.
- TODO: Fix this properly
2020-01-26 13:58:48 +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
kd-11
44f2cacf7b
rsx: Blit engine tuning
...
- Attempt to identify blit operations that will be flushed immediately
after and just do them on CPU instead if the transformation is trivial.
- If only a single blit section is contributing to an atlas merge op, the
threshold should be 100%. The only acceptable result here is a
truncation.
2020-01-26 13:58:48 +03:00
kd-11
7a275eaa3a
rsx: Fix incomplete blit operations getting used as texture inputs
...
- Raise passing 'score' from 50% to 90% to filter out very incomplete
merge operations.
- Catch unfit sections passing the match test; possible for blit_dst
data but will likely be always harmless. Disabled in release builds by default.
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
adcc3e9c4b
rsx: Optionally sync on texture read semaphore
...
- Some games use texture semaphore for zcull sync which is rather bizzare.
However, it works on realhw as the depth test happens before fragment shader completion
- Due to the high performance penalty incurred by this act, this
behavior is only enabled by the "strict rendering mode" option.
2020-01-21 22:21:51 +03:00
Megamouse
4dbad6cce6
fix some random warnings
2020-01-19 16:38:17 +01: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
kd-11
48407752a6
formatting: Unify indentation type in the newly added files to tabs
2020-01-18 19:52:52 +03:00
kd-11
bad4d1ff05
rsx: Improve present image scanning
...
- Adds support for partial (letterboxed) source images by taking insets
into account.
- Bugfix for potential access violation when capturing screenshot on
vulkan
2020-01-18 19:52:52 +03:00
kd-11
7453e46a7c
rsx: Refactor out complex present code into separate files
...
- Also restructures present code to have image lookup in a separate
re-usable function.
2020-01-18 19:52:52 +03:00
kd-11
b36b9e4822
vk: Fixup for total number of combined samplers using the dynamic binding structure
2020-01-18 11:17:19 +03:00
kd-11
0a2b6a290d
vk: Fixup
...
- Scaling is not needed for a direct typeless transfer!
2020-01-17 14:31:14 +03:00