Commit graph

9032 commits

Author SHA1 Message Date
Henrik Rydgård
cf28556d6d When integer scaling, take the internal render resolution into account. 2023-04-05 09:48:28 +02:00
Henrik Rydgård
8f96ec371e Rename iBufFilter -> iDisplayFilter 2023-04-05 09:34:18 +02:00
Henrik Rydgård
3a69569580 Don't use inaccurate depth with Vulkan on any GPU except some special-cased Mali drivers.
Fixes #17044
2023-04-03 22:36:13 +02:00
Henrik Rydgård
c08c711006 Fix portrait mode integer scaling 2023-04-02 22:35:51 +02:00
Henrik Rydgård
d223d3c316 Rename CenterDisplayOutputRect to CalculateDisplayOutputRect 2023-04-02 22:29:08 +02:00
Henrik Rydgård
2fa93982ea Add support for integer scale factor for display
This is mainly useful if you want an authentic pixellated look with 1x
rendering (or software) and nearest display filter. It'll simply round
down the auto-scaled sized to the nearest integer scale factor,
configuring exactly which one isn't that interesting since they all are
gonna look good.

Fixes #17093
2023-04-02 22:29:08 +02:00
Henrik Rydgård
9f6338e098
Merge pull request #17222 from hrydgard/broadcom-disable-ubershader
Turn off light ubershader generation on Broadcom GPUs.
2023-04-02 18:32:10 +02:00
Henrik Rydgård
d996fb74d4 MSVC: Set language standard to c++17.
Noticed that we were getting some new warnings after merging the
constexpr stuff.
2023-04-02 17:55:15 +02:00
Henrik Rydgård
1374fb040c Turn off light ubershader generation on Broadcom GPUs.
Attempt at working around #16824
2023-04-02 17:39:28 +02:00
Henrik Rydgård
3af961f3ba Revert DrawPixel changes 2023-04-02 16:41:29 +02:00
Henrik Rydgård
fc62d587c0 Fix whitespace issues 2023-04-02 16:36:39 +02:00
Герман Семенов
122b63b9a8 GPU: using if constexpr C++17 optimization 2023-04-02 16:36:37 +02:00
Henrik Rydgård
5e6d181eb6 Vulkan: Disable framebuffer fetch (through input attachments) for now.
This is a conceptually cool trick that just doesn't seem to be worth
it, compared to the old approach of copy + blend-in-shader. I haven't
found any game that benefits more than absolutely minimally, and having
two paths to test isn't great, when the win is so small.

So I'm disabling it. I'm keeping the code for now, but might clear it
out later.

Fixes #17069
2023-04-01 23:07:32 +02:00
Luboš Vonásek
de089c3fee
Merge branch 'hrydgard:master' into hotfix_openxr_glitches 2023-04-01 20:17:25 +02:00
Lubos
ee3e53581d OpenXR - Camera lags fixed 2023-04-01 18:36:14 +02:00
Henrik Rydgård
81608b0505
Merge pull request #17214 from unknownbrackets/softgpu-alpha
softgpu: Fix over-optimization of alpha test
2023-04-01 10:24:22 +02:00
Unknown W. Brackets
a88b8a14f6 softgpu: Fix over-optimization of alpha test.
When alpha blend is off, was previously skipping the alpha test if only it
was enabled.  See #17213.
2023-03-31 23:53:37 -07:00
Unknown W. Brackets
2c5b0999e8 softgpu: Make debug-only optim more consistent.
Of course it doesn't matter when optimizations are enabled in any compiler
that can build PPSSPP...
2023-03-31 23:52:23 -07:00
Henrik Rydgård
5332850b00 More accurate check for LoadCLUT from framebuffer margins.
Fixes #16819
2023-03-31 21:24:21 +02:00
Henrik Rydgård
ba705dcabd Fix typo 2023-03-28 15:44:35 +02:00
Henrik Rydgård
55e9d9a3eb Code cleanup 2023-03-28 11:18:45 +02:00
Henrik Rydgård
cdfe4524ea ReplacedTexture: Opportunistically delete the waitable 2023-03-28 09:21:41 +02:00
Henrik Rydgård
1fbabed7ff Simplify the semantics, makes more sense now. 2023-03-27 22:09:10 +02:00
Henrik Rydgård
4e41233bb7 Replacement: Save textures even if already replaced, if the png is missing.
Fixes #17182

Not exactly sure what behavior we really want, but I think this one is
OK, and at least more similar to the old one. Now we save
already-replaced textures if the named replacement texture is missing, and there
isn't already a hash-named one in new or the "root".
2023-03-27 15:43:18 +02:00
Henrik Rydgård
acb61e4781
Merge pull request #17189 from unknownbrackets/minor-cleanup
Miscellaneous cleanup from recent changes
2023-03-26 09:44:29 +02:00
Henrik Rydgård
f3076294b2
Merge pull request #17192 from unknownbrackets/saveicon-download
GPU: Add xfer flag to ignore create vfb flags
2023-03-26 08:51:27 +02:00
Unknown W. Brackets
2d13b40123 GPU: Rename match flags to avoid confusion. 2023-03-25 23:25:42 -07:00
Unknown W. Brackets
05c225655d GPU: Add xfer flag to ignore create vfb flags.
Save icons need CPU reads to work.
2023-03-25 23:19:21 -07:00
Unknown W. Brackets
5aeaeb83de GPU: Fix intra-block transfers in ToP CE.
Used in Olive Village.
2023-03-25 23:06:44 -07:00
Unknown W. Brackets
f1834fcdde Replacement: Correct padding w/ threads disabled. 2023-03-25 17:12:43 -07:00
Henrik Rydgård
b13c5c2d1b Add compat setting to force using maximum depth resolution
Fixes #17014

Even if our depth-testing-equal heuristic believes that the game needs
lower depth resolution.

This removes some depth-fighting artifacts (that are present on the real
PSP, but nice to avoid) in Outrun, Split/Second and Cars: Race-o-Rama -
essentially reverting these to the behavior we had before the heuristic.

(The heuristic is good though - it means less compat.ini hacks going in
the other direction).

In the case of Outrun, this relies on two passes that pass exactly the
same vertex coordinates twice resulting in the exact same final
geometry. This is actually guaranteed by the spec if the vertex math is
exactly the same and "invariant" is set on the position output, though
I guess you never know.. Haven't seen any issues at least.

Also sneak in disabling some validation messages from using extra Vulkan
validation layers other than the default.
2023-03-26 00:27:58 +01:00
Henrik Rydgård
d586ec0d5e Don't create Host objects except in headless/unittest 2023-03-25 10:47:01 +01:00
Henrik Rydgård
9e125eeba7 Remove NotifyUserMessage from Host 2023-03-25 10:32:09 +01:00
Henrik Rydgård
451ee14ebc Don't forget to call CheckDepthUsage when using imm draws.
Fixes #17169
2023-03-23 17:14:12 +01:00
Henrik Rydgård
6950801e25 Not much point with a single line cleanup function. Also remove redundant check. 2023-03-19 00:04:48 +01:00
Henrik Rydgård
0580b09eeb Improve default replacer ini. Various cleanup 2023-03-19 00:00:59 +01:00
Henrik Rydgård
baf8cbf278 Tweaks 2023-03-18 15:07:45 +01:00
Henrik Rydgård
f5e8d39e42 Force mipmapping on when drawing using replacement textures that contain mipmaps. 2023-03-18 15:01:53 +01:00
Henrik Rydgård
3302e6a76b Lookup filtering overrides at texture load time instead of at runtime. 2023-03-18 13:03:05 +01:00
Henrik Rydgård
9a228b1f23 Avoid calling FindReplacement unnecessarily. 2023-03-18 12:03:32 +01:00
Henrik Rydgård
97c9b9e4f7 Break out PollReplacement from TextureCacheCommon::FindReplacement 2023-03-18 12:01:24 +01:00
Henrik Rydgård
75bcb9b10c Some renaming, flag updates 2023-03-18 11:46:22 +01:00
Unknown W. Brackets
5b0748a61c
Merge pull request #17137 from hrydgard/log-fixes
Log fixes
2023-03-17 18:51:47 -07:00
Henrik Rydgård
5f76fbe1ad Implement padding-on-copy for compressed textures as well. 2023-03-17 14:00:14 +01:00
Henrik Rydgård
79f4e73110 Replacer: Perform the padding to pow2 size during CopyLevelTo, not during load. Saves memory. 2023-03-17 14:00:14 +01:00
Henrik Rydgård
df41a5cebd Improve default ini, logging fixes 2023-03-17 13:59:57 +01:00
Henrik Rydgård
1b0d5ec3aa Remove a unused state from ReplacedTexture, rename POPULATED to UNLOADED 2023-03-17 00:52:38 +01:00
Henrik Rydgård
6a430f2a14 ReplacedTexture: Some initialization. For UASTC, seems we need to clear the transcoder state. 2023-03-17 00:02:01 +01:00
Henrik Rydgård
8484dd4917 Nicer logging if no texture.zip file is there 2023-03-16 22:59:26 +01:00
Henrik Rydgård
f154f4a29d Warning fix 2023-03-16 15:06:38 +01:00