Henrik Rydgård
abbd1c83bd
Revert "Merge pull request #18184 from hrydgard/expand-lines-mem-fix"
...
This reverts commit 65b995ac6c
, reversing
changes made to 01c3c3638f
.
2023-09-27 20:04:37 +02:00
Henrik Rydgård
45bc4d8750
Make GetIndexBounds friendlier to autovectorization. Works on x86 at least.
2023-09-24 12:15:04 +02:00
Unknown W. Brackets
b610e2f314
GPU: Handle invalid blendeq more accurately.
2023-09-23 13:08:25 -07:00
Henrik Rydgård
81f47caf2f
Clarify the primitive expansion, add reporting
2023-09-22 10:27:02 +02:00
Henrik Rydgård
966144fa64
Bounds check writing to the index buffer when expanding lines/rects/points
2023-09-20 19:26:36 +02:00
Henrik Rydgård
3f2ef508c9
Make it easier to reason about space in the inds buffer by moving an offset instead of the pointer.
2023-09-20 19:23:24 +02:00
Henrik Rydgård
e6a864ee04
Make clear detection a bit more lenient. Allows using clears in Assassin's Creed and likely more.
2023-09-18 23:57:20 +02:00
Henrik Rydgård
f4b0cddda3
ShaderId: Safer way to check for backend.
2023-09-18 16:25:00 +02:00
Henrik Rydgård
946d4b6251
Avoid causing shader gen failures due to bad blend eq values
2023-09-18 16:12:27 +02:00
Henrik Rydgård
6600b7ab08
Improved logging
2023-09-12 17:15:26 +02:00
Henrik Rydgård
be65cf0fc2
Assert improvements
2023-09-12 17:15:26 +02:00
Henrik Rydgård
844f1de041
Revert "Merge pull request #18008 from hrydgard/naruto-video-flicker-heuristic"
...
This reverts commit 985af4b03d
, reversing
changes made to 64d04782ea
.
2023-09-12 12:19:37 +02:00
Henrik Rydgård
10f93875c6
Fix the semantics of DenseHashMap to be consistent even when inserting nulls
2023-09-11 12:07:18 +02:00
Unknown W. Brackets
3c7b05c3e8
PPGe: Use texture windows for atlas text.
...
This makes it software rendering, which correctly applies clamp/wrap
limits at 512x512, still has readable text. Other textures may still be
wrong.
2023-09-10 23:54:55 -07:00
Unknown W. Brackets
5c4e08fe19
arm64jit: Use FMLA for TC precale.
2023-09-10 23:04:15 -07:00
Unknown W. Brackets
646e3b269d
arm64jit: Skip vertexjit prolog/epilog if possible.
2023-09-10 23:04:15 -07:00
Unknown W. Brackets
a8493c0e19
arm64jit: Optimize weight loading a bit.
2023-09-10 23:04:15 -07:00
Unknown W. Brackets
f1f3e6fba2
arm64jit: Optimize vertex full alpha tracking.
2023-09-10 13:08:33 -07:00
Henrik Rydgård
05d8752a64
Vulkan: Correct the calculation for max possible mip levels
2023-09-07 15:20:16 +02:00
Henrik Rydgård
6799e8a67b
Add a little reminder that saving new textures is on, if they are.
2023-09-07 13:57:52 +02:00
Henrik Rydgård
0aa67e5276
Add some texture loading safety checks
...
I hit a spurious, non-reproducible debug assert in Archer McLean's Mercury.
Just want to rule out some bad code paths.
2023-09-06 15:38:47 +02:00
Unknown W. Brackets
e4cf2c3a13
arm64jit: Correct vertexjit bug on invalid case.
2023-09-04 23:42:59 -07:00
Henrik Rydgård
3e6788defe
Merge pull request #18022 from hrydgard/screen-scaler-ingame-fix
...
Android: Fix changing display resolution scale in-game
2023-08-31 08:45:39 +02:00
Henrik Rydgård
62c9041060
Merge pull request #18011 from hrydgard/collapse-degenerate-volume-textures
...
Detect the simplest Tactics Ogre case (US/EU) early
2023-08-31 08:45:11 +02:00
Henrik Rydgård
92e600a1c0
Merge pull request #18013 from hrydgard/remove-bad-heuristic
...
Replace a too-simple heuristic with a compat flag, fixing Castlevania flicker.
2023-08-31 08:18:53 +02:00
Henrik Rydgård
4b89fab91c
NativeInitGraphics: Update core parameter pixel width/height (since we lose resized flag)
2023-08-30 23:42:13 +02:00
Henrik Rydgård
7e0e9a6d2b
Shrink TexCacheEntry by 4 bytes and clean up a naming issue
...
Was a little confused by the "/2". It's not really useful to cache this
value anyway.
2023-08-30 16:37:38 +02:00
Henrik Rydgård
131163bf4c
Replace a too-simple heuristic with a compat flag.
...
Should fix the flicker in Castlevania.
Fixes #17517
The heuristic worked for Rainbow Six but broke Castlevania, so I'd rather
use a compat flag instead of breaking a different game until we can find a
more reliable heuristic for Rainbow Six.
2023-08-30 10:59:57 +02:00
Henrik Rydgård
0d0c11a1ed
Remove unnecessary check, add comment.
2023-08-30 10:29:14 +02:00
Henrik Rydgård
30a165b1dd
Detect the simplest Tactics Ogre case (US/EU) early
...
Removes the need for the compat.ini flag for these versions, since we
can just treat the texture exactly as a regular 2D texture.
2023-08-30 10:27:19 +02:00
Henrik Rydgård
42b0ccd07d
Revert some unnecessary log changes from #18001
2023-08-29 23:13:45 +02:00
Henrik Rydgård
985af4b03d
Merge pull request #18008 from hrydgard/naruto-video-flicker-heuristic
...
Add heuristic for memory->framebuffer copies, fixing video flicker in Naruto UNH 2
2023-08-29 13:21:40 +02:00
Henrik Rydgård
c563d4e57d
NotifyFramebufferCopy: Pick the target framebuffer by scoring.
2023-08-29 12:53:18 +02:00
Henrik Rydgård
e3bdf1a70b
Add heuristic, fixing video flicker in Naruto UNH 2 caused by copy to wrong target.
2023-08-29 11:46:24 +02:00
Henrik Rydgård
af1a1c5182
Improve logging of bad filenames
2023-08-29 10:45:00 +02:00
Henrik Rydgård
de679e2761
Generalize the odd/even mip level check
2023-08-29 10:44:18 +02:00
Henrik Rydgård
0cdfaffb48
Enable the FakeMipmapChange flag for US/EU Tactics Ogre, fixing replacement problem.
...
For correct lookups, without our texture replacement actually supporting
volume textures, we need to use this mechanism here too.
The game actually uses two mipmaps, but they're identical and point to
the same memory, so we treat them as a regular 2D texture instead for
purposes of both texturing and replacement. This is presumably legacy
from the initial Japanese version that needs to use multiple texture
layers. Similarly it does in in pairs.
This does actually not fully fix texture replacement for the Japanese
version, unfortunately. For that we need more proper support for these
weird textures in the texture replacement code - when I refactored it
before for more natural handling of regular mipmapping, this kinda got
lost.
2023-08-28 20:58:57 +02:00
Henrik Rydgård
412c4547cd
textures.ini loader logging improvement
2023-08-28 16:34:58 +02:00
Henrik Rydgård
5c42aa07fc
Minor log improvement
2023-08-28 16:11:47 +02:00
Henrik Rydgård
a529a9c408
Improve the logging in the CLUT load path
2023-08-28 14:39:24 +02:00
Henrik Rydgård
16d073c4ad
Add compat flag to not load CLUTs from old framebuffers
2023-08-24 10:30:37 +02:00
Unknown W. Brackets
622c69dbb9
x86jit: Expose option to select new IR based jit.
2023-08-20 22:28:54 -07:00
Henrik Rydgård
714558853c
Enable anisotropic filtering for replacement textures with mipmaps
2023-08-18 15:21:07 +02:00
Henrik Rydgård
13cfd9c3d6
Add Mesa as a known GPU driver "vendor".
2023-08-17 22:06:03 +02:00
Henrik Rydgård
89ff606ccb
D3D9 fix. Make a check more break-point-able.
2023-08-17 20:46:43 +02:00
Unknown W. Brackets
f03cd0b2ad
Merge pull request #17899 from unknownbrackets/riscv-minor
...
Minor RISC-V cleanups, frame profiler fix
2023-08-13 11:19:42 -07:00
Unknown W. Brackets
41cddce167
TexCache: Encourage vectorization.
...
This gets clang to vectorize on RISC-V V, although it looks suboptimal
(probably faster than not using vector, though.) Also improves other
platforms, but our specializations seem better.
2023-08-13 10:21:04 -07:00
Henrik Rydgård
d82ecf1d3e
IniFile: Store sections in unique_ptrs, instead of directly.
...
This fixes an issue when you create two sections consecutively and
retain pointers to them, and then modify them, such as happens in the
postshader ini initialization. Previously, one of the section pointers
could get invalidated since the section vector got resized. Now, the
pointed-to sections don't move around in memory, only the list of them
does.
2023-08-13 13:41:43 +02:00
Henrik Rydgård
ebfd76d742
Add back the self-render check that kept Ridge Racer working.
...
This hack was removed in #17838
2023-08-08 15:42:52 +02:00
Henrik Rydgård
74a471d7a5
Merge pull request #17846 from hrydgard/debug-overlay-everywhere
...
Debug overlay everywhere
2023-08-03 20:55:35 +02:00