Commit Graph
8582 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