Commit Graph
3315 Commits
Author SHA1 Message Date
Henrik Rydgård d10fae7274 Scan the root of loaded texture packs to find all the hash-named files. 2023-05-01 23:23:37 +02:00
Henrik Rydgård 2e3a676d71 Support BC1,2,3 formats also if packed in a DX10-style DDS. 2023-05-01 20:55:31 +02:00
Henrik Rydgård 02880d7d7d Less broken behavior with integer scale factor + auto render resolution
Unfortunately these don't make the same decision (integer scale factor
tries to make sure the whole image can fit in the window, while auto
render resolution is glad to step up a level), but at least the user is
not faces with a black screen.

Not sure what's actually the best thing here, possibly this case should
be disallowed somehow.
2023-04-30 10:18:47 +02:00
Unknown W. Brackets 2f3a0ea0b5 Debugger: Simplify expression error handling. 2023-04-29 09:15:14 -07:00
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årdandGitHub 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
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årdandGitHub 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 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
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 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
Герман СеменовandHenrik Rydgård 122b63b9a8 GPU: using if constexpr C++17 optimization 2023-04-02 16:36:37 +02: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årdandGitHub acb61e4781 Merge pull request #17189 from unknownbrackets/minor-cleanup
Miscellaneous cleanup from recent changes
2023-03-26 09:44:29 +02:00
Henrik RydgårdandGitHub 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 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 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