Henrik Rydgård
6945deec01
Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy
2023-04-28 21:04:05 +02:00
Henrik Rydgård
68be93467e
Fix some checks around translation.
2023-04-27 12:05:11 +02:00
Henrik Rydgård
6274eb7cae
Follow the intent of the game's lookups rather than the practice, to reduce banding.
2023-04-25 23:17:40 +02:00
Henrik Rydgård
484f2c5954
Fix texcoord issue with SOCOM post effect
2023-04-25 23:02:12 +02:00
Henrik Rydgård
16b243b007
Centralize allocation of vertex decode buffers
2023-04-24 12:11:58 +02:00
Henrik Rydgård
321a112eff
Rename SimpleBuf -> AlignedVector, use regular aligned memory instead of pages.
2023-04-24 12:04:34 +02:00
Henrik Rydgård
ef5abac1d3
Fix an oversight when saving replacement textures on scoped storage
...
We ended up not properly mangling the filename when changing extensions
if the file URI is an Android content URI.
Fixes #17320
2023-04-22 00:05:07 +02:00
Henrik Rydgård
c70b71f945
Fix night vision in D3D9/ES2 as well.
2023-04-21 00:05:27 +02:00
Henrik Rydgård
913c460fe0
Fix night vision in SOCOM games (in fact, fix the CLUT8 effect properly)
...
I failed to notice that when doing the shift to apply the "texel offset"
translating CLUT8 to a CLUT16 lookup, we also need to shift the mask
used to choose color components to read.
2023-04-20 23:46:45 +02:00
Henrik Rydgård
db13fa6e66
Apply the SOCOM fix to D3D9/ES2 depal shaders too
2023-04-20 10:10:26 +02:00
Unknown W. Brackets
b4d55713cb
GPU: Always update size when shrinking.
...
Previously, we only updated size when we didn't need to recreate.
This would sometimes cause it to recreate over and over, hurting perf.
2023-04-19 23:42:02 -07:00
Henrik Rydgård
a20c620e16
Merge pull request #17297 from hrydgard/socom-clut-trickery
...
Workaround for some SOCOM games' misuse of CLUT8 to texture from framebuffer
2023-04-18 10:11:20 +02:00
Henrik Rydgård
b1f8830bd8
Don't try to present from little temp framebuffers used by Godfather to draw text.
...
The framebuffer does contain the top of the video frame at the present
time though, so things have partially gone well. However the rest of the
frame lies after it in VRAM. What we probably technically should do when
we see this is to assemble an image from both the framebuffer we find
and VRAM contents exceeding the range of that image, but seems kinda
impractical.
This works, but there seems to be some other issue with how the text is
rendered or copied. Could be a color precision issue confusing the game
I suppose.
2023-04-17 12:24:31 +02:00
Henrik Rydgård
9a3ff69091
Workaround for some SOCOM game's misuse of CLUT8 textures.
...
Emulating this correctly would be possible too but would only work at 1x
rendering resolution.
2023-04-17 09:34:26 +02:00
Unknown W. Brackets
0490ad0039
softgpu: Add NEON variants as well.
2023-04-16 13:09:56 -07:00
Unknown W. Brackets
860fc176d8
softgpu: Use more SSE in lighting.
2023-04-16 11:59:57 -07:00
Unknown W. Brackets
2868495cf8
softgpu: Use SSE for lighting ceil if available.
...
Tiny optimization, helps only a little.
2023-04-16 11:13:43 -07:00
Unknown W. Brackets
b5206df04f
softgpu: Calc worldnormal a bit less often.
...
This is clearer anyway.
2023-04-16 10:16:32 -07:00
Unknown W. Brackets
59fb374c38
softgpu: Small optimization to clut updates.
2023-04-16 10:16:06 -07:00
Henrik Rydgård
b90833a462
OpenGL texture filtering: enforce key.mipEnable when we're forcing mips.
...
Fixes #17268 , but I feel we could possibly get rid of the bool entirely
since we have maxlevel. Only GL and D3D even looks at this flag.
Oh well, that's for later.
2023-04-14 14:36:07 +02:00
Henrik Rydgård
178fe27263
Merge pull request #17269 from unknownbrackets/debugger-minor
...
Debugger: Avoid unaligned reads in expressions
2023-04-12 10:38:08 +02:00
Unknown W. Brackets
9cebfc31b3
Debugger: Avoid unaligned reads in expressions.
...
Potentially, a watch or break condition could crash if it was unaligned
between mirrors. This might happen if it's not the condition you wanted,
especially. Play it safe.
2023-04-12 01:14:30 -07:00
Henrik Rydgård
88899984e3
Correctly pass un-rotated width/height to presentation pipeline.
2023-04-11 22:27:26 +02:00
Henrik Rydgård
652612cf15
Fix issue in present where we applied the UV range at the wrong place when post-processing.
...
Fixes #17249
2023-04-11 22:27:26 +02:00
Henrik Rydgård
4f6e5e73a6
PresentationCommon: Simplify Y flip handling.
...
Don't manipulate the UVs, manipulate the vertex coordinates instead.
This will simplify the next change that will fix the pixel accuracy
problems in post-processing.
2023-04-10 21:58:34 +02:00
Henrik Rydgård
d26700820c
Minor buildfix/cleanup
2023-04-09 22:47:34 +02:00
Henrik Rydgård
d630d3c751
Presentation: Switch from indexed trilist to plain tristrip
...
Insignificant performance difference, but nice to get rid of the index
buffer.
2023-04-08 13:02:18 +02:00
Henrik Rydgård
ccab375ddb
Merge pull request #17246 from hrydgard/i18n-indexing
...
I18N: Switch to getting categories by index instead of by string lookup
2023-04-08 09:20:51 +02:00
Henrik Rydgård
3616e0fb3c
Revert "Turn off light ubershader generation on Broadcom GPUs."
...
See #16824
This reverts commit 1374fb040c
.
2023-04-07 16:43:50 +02:00
Henrik Rydgård
ee6234ecb6
I18N: Switch to getting categories by index instead of by string lookup
...
Also gets rid of the shared_ptr usage, and generally makes things nicer.
Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Lubos
cc1dd22e0f
OpenXR - Option to disable HUD detection added
2023-04-05 22:49:46 +02:00
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