gamerforEA
c0fbf3091e
Remove unnamed namespaces from headers
2020-02-27 00:38:55 +03:00
kd-11
569e1c2df6
rsx: Fix typo. Noted by github user @gamerforEA
2020-02-26 19:40:35 +03:00
Nekotekina
5e75a0c497
Disable cotire on travis
...
Make some workarounds for clang because it poorly supports -Wold-style-cast
2020-02-21 17:03:54 +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
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
Eladash
b7043ce000
Make rsx::get_address report caller location
2020-02-08 22:18:56 +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
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
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
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
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
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
db014d8a58
rsx: Fix section length calculations when generating new blit targets.
2020-01-16 17:57:31 +03:00
kd-11
309251ce7a
rsx: Touch locked dst memory after blit transfer operations in case it is locked by WCB/WDB
2020-01-16 11:12:08 +03:00
Dravonic
94d2f97f27
Multithreaded shader compliation follow-up ( #7190 )
...
* Multithreaded load pipeline entries shader compliation stage
Co-authored-by: kd-11 <15904127+kd-11@users.noreply.github.com>
2020-01-06 21:59:59 +03:00
kd-11
7f09def94e
rsx/vp: Properly initialize output registers.
...
- All registers tested on hw show contents to be 0, 0, 0, 1.
Make default output registers match this pattern.
2020-01-05 18:06:08 +03:00
Megamouse
c9aee27d48
VK: remove unused init function declaration
2020-01-03 14:22:40 +01:00
Eladash
9690854e58
Some cleanup
...
* Prefer default initializer over std::memset 0 when possible and more readable.
* Use std::format in trophy files name obtaining.
* Use vm::ptr<>::operator bool() instead of comparing vm::ptr to vm::null or using addr().
* Add a few std::memset calls in hle where it matters (or in some places just to document an actual firmware memcpy call).
2019-12-31 22:27:27 +03:00
Megamouse
ef6f565dbd
silence some annoying warnings
2019-12-28 15:40:57 +01:00
Emmanuel Gil Peyrot
9b77febd10
RSX: Remove two empty cpp files
2019-12-23 00:02:57 +03:00
Eladash
db4041e079
Implement rounded_div
...
Round-to-nearest integral based division, optimized for unsigned integral.
Used in sceNpTrophyGetGameProgress.
Do not allow signed values for aligned_div(), align().
2019-12-20 14:47:04 +03:00
Nekotekina
377e7d2a73
C-style cast cleanup VI
2019-12-04 17:56:22 +03:00
Nekotekina
185c067d5b
C-style cast cleanup V
2019-12-03 17:23:00 +03:00
Nekotekina
28eacc616a
C-style cast cleanup III
2019-12-01 00:32:44 +03:00
kd-11
8ca53f9c84
rsx: Remember to min-max the anchor indices of a polygon or triangle fan
2019-11-24 19:01:57 +03:00
kd-11
429a76a140
rsx: Remove redundant check
2019-11-23 16:11:18 +03:00
kd-11
41e7d2aa0a
rsx: Select correct image aspect for blit engine targets.
2019-11-19 13:18:15 +03:00
kd-11
41c3180276
rsx: Fix invalid format checks for DMA sections which are typeless
2019-11-19 13:18:15 +03:00
kd-11
9dab0575fa
rsx: Add missing format check for the RTV<->DSV transfer case
...
- TODO: Rewrite resource handling routines
2019-11-18 13:17:00 +03:00
kd-11
4a0e1c79ed
rsx: Improve format validation for blit engine
...
- Check all possible cases where format mismatch is possible.
- Warn if a slow path is going to be taken. Should help with future
optimizations.
2019-11-18 13:17:00 +03:00
kd-11
2408922806
rsx: Do not ignore clamping for some routines that do not have implied range
2019-11-18 13:17:00 +03:00
kd-11
0a32d478df
vk: Enable auto-growing of the data heaps for the performance case
2019-11-10 17:53:12 +03:00
kd-11
f359342721
rsx: Implement mutable ring buffers with grow support
2019-11-10 17:53:12 +03:00
Emmanuel Gil Peyrot
56f82d2701
rsx: Wrap gsl::span definition into Utilities/span.h
2019-11-09 20:00:50 +01:00
Emmanuel Gil Peyrot
f76720ceb0
Remove extraneous ::narrow<int>() calls
...
GSL’s gsl::span didn’t use the correct type for its index_type, which is
why they were needed.
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
72cdf0b04c
Replace gsl::span’s implementation with tcbrindle’s
...
This implementation optimises correctly on all relevant compilers,
unlike GSL’s which gave extremely slow code on any compiler other than
MSVC.
Supersedes #6948 .
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
ef368c5171
rsx: Replace gsl::byte with C++17’s std::byte
2019-11-09 19:30:05 +01:00
kd-11
7072489a6e
rsx: Implement point sprite coordinate generation
...
- When the point sprite flag is set, overrides the input similar to the
2D mask. The returned X and Y values are always the gl_PointCoord values
for the fragment.
- Stacks with the 2D mask to override the z and w coordinates.
2019-11-09 12:50:53 +03:00