Commit Graph
2594 Commits
Author SHA1 Message Date
Henrik Rydgård 3d5526a175 Allow specifying the VFS when loading INI files.
Will be useful in the tex replacer.
2023-03-07 10:04:10 +01:00
Henrik Rydgård 3b39e9e068 Turn the VFS into a class, to be able to reuse it for other purposes. 2023-03-06 16:42:47 +01:00
Henrik Rydgård ebd8a63914 Merge pull request #17032 from hrydgard/cache-framebuffer-copy
Cache framebuffer copies (for self-texturing) until the next TexFlush GPU instruction
2023-03-06 09:03:39 +01:00
Unknown W. Brackets 9fcc1509e4 GPU: Correct depth clip/cull for zero scale. 2023-03-05 08:51:45 -08:00
Unknown W. Brackets 92a18eed01 GPU: Discard framebuffer copy when clearing.
This avoids retaining the framebuffer copy any longer than the current
framebuffer target.
2023-03-01 22:11:20 -08:00
Henrik Rydgård 4d0fbdb96f Add a safety check - don't cache partial copies. 2023-03-01 22:51:23 +01:00
Henrik Rydgård 7a7117f2f7 Cache framebuffer copies (for self-texturing) until the next TexFlush instruction.
Fixes #17030 , or at least improves on it - for optimal performance that
big framebuffer used for bloom should be split like in Killzone, but it's not trivial.

The regression in 1.14 is fixed with this, at least.

I tried it with a few other games with no issues - it seems games are
using TexFlush when needed. But let's see if it really is safe to rely
on that...

There might also be other places we should call DiscardFramebufferCopy
in.
2023-03-01 22:42:22 +01:00
Unknown W. Brackets 9c21184352 vertexjit: Simplify CPU core check.
This also avoids allocating the memory we won't use if it's off.
2023-02-28 07:03:12 -08:00
Henrik Rydgård 970f7993df Android: Make font rendering work even absent support for R4G4B4A4 textures.
This shouldn't normally happen as conforming drivers are required to
support that texture format, but the software driver that we
accidentally choose on Poco C40 (see issue #16391) doesn't.

That we choose that driver will be fixed separately. This fix on its own
at least lets the user comfortably navigate to settings and switch to
OpenGL.
2023-02-28 00:01:29 +01:00
Henrik Rydgård 72bed6f2b5 Some DeviceLost/DeviceRestore cleanup 2023-02-26 11:05:52 +01:00
Henrik Rydgård 3dc47c7fef Unify TextureCache ::StartFrame as much as possible.
Tiny optimization avoiding a Vulkan pool reset on most frames.
2023-02-25 23:20:41 +01:00
Henrik Rydgård 8fb75e0c12 Unify most of the DebugGetShader* functions 2023-02-25 16:42:09 +01:00
Henrik Rydgård c74f5b2189 Prepare for unifying more stuff 2023-02-25 16:01:32 +01:00
Henrik Rydgård c4f4439b8c Merge pull request #17000 from hrydgard/more-rendering-cleanup
More rendering cleanup
2023-02-25 13:11:05 +01:00
Henrik Rydgård 8b431b39ba Wrap the display globals in a struct (#16998)
* Wrap the display globals in a struct

Makes it easier to search/replace these, for future refactorings.

* Some renaming

* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)

* Attempt at buildfixing ios

* UWP buildfix
2023-02-25 13:09:44 +01:00
Henrik Rydgård 0d57f3beee Unify GPUCommon::DoState. 2023-02-25 12:21:03 +01:00
Henrik Rydgård 49e5460c9c Remove count parameter from SetViewports. No use foreseen. 2023-02-25 07:12:53 +01:00
Henrik Rydgård 1b5148bb6c Remove kinda-duplicate function. 2023-02-24 23:54:04 +01:00
Unknown W. Brackets df1bd64662 riscv: Add morph+skin to vertexjit. 2023-02-16 18:45:10 -08:00
Unknown W. Brackets 71f4b116fe riscv: Implement skinning in vertexjit. 2023-02-16 18:32:58 -08:00
Unknown W. Brackets 27e60a9f2e riscv: Sum weighted matrices in vertexjit.
Not yet doing pos/norm, so not used yet.
2023-02-16 18:32:58 -08:00
Henrik Rydgård adda49d05d Add a heuristic avoiding joining framebuffers horizontally
...when texturing from the other one.

Greatly improves GPU performance in Rainbow Six: Vegas.

Fixes #9324.
2023-02-15 15:35:28 +01:00
Henrik Rydgård ae9291f3b5 More work on depth copies. Seems to be enough for Iron Man. 2023-02-15 07:35:07 +01:00
Henrik Rydgård 62a6f351d5 Initial work on depth copies 2023-02-15 07:35:07 +01:00
Henrik Rydgård 27a03de826 CreateRAMFramebuffer: Don't create a depth buffer by default 2023-02-15 07:35:07 +01:00
Henrik Rydgård 6b902a7d6b Minor code cleanup, one very minor stride bugfix 2023-02-15 07:35:07 +01:00
Henrik Rydgård 18b08637f6 Merge pull request #16968 from unknownbrackets/riscv-vertexjit
riscv: Include morph in vertexjit
2023-02-15 07:31:01 +01:00
Unknown W. Brackets 9f43010004 riscv: Reuse some color morphing code.
Small optimization loss in 5551, but fairly minimal and I think it's worth
it.
2023-02-14 20:46:05 -08:00
Unknown W. Brackets 684aa75388 riscv: Include morph in vertexjit. 2023-02-14 20:20:55 -08:00
Henrik Rydgård 3dc9fd86e1 Merge pull request #16962 from unknownbrackets/riscv-vertexjit
riscv: Correct offset prescale in vertexjit
2023-02-14 09:41:45 +01:00
Unknown W. Brackets ada6aa77e0 riscv: Correct offset prescale in vertexjit.
Also implement doubling while here.
2023-02-13 17:16:48 -08:00
Unknown W. Brackets e1c391b1c8 riscv: Use vertexjit for hardware skinned verts. 2023-02-13 17:15:49 -08:00
Unknown W. Brackets 991c596490 riscv: Set constants once in vertexjit. 2023-02-13 16:57:13 -08:00
Henrik Rydgård 86a19cebfd Merge pull request #16957 from unknownbrackets/riscv-vertexjit
riscv: Initial vertexjit
2023-02-13 08:33:05 +01:00
Unknown W. Brackets dc4136d547 riscv: Add prescale to vertexjit. 2023-02-12 23:05:35 -08:00
Unknown W. Brackets 77b2e63876 riscv: Add colors to vertexjit.
This don't feel very efficient, but they overall beat non-jit.
2023-02-12 23:05:35 -08:00
Unknown W. Brackets ee10fae04e riscv: Add basic steps to vertex decode. 2023-02-12 23:05:34 -08:00
Unknown W. Brackets 219e0db4e5 riscv: Initial vertexjit. 2023-02-12 14:28:51 -08:00
Henrik Rydgård 1938fa44d4 Split the depth copy shader into depth copy and depth encode, dynamic depth scale in Draw2D 2023-02-11 18:24:07 +01:00
Henrik Rydgård a083a65f77 Depal: Get depth scale factors dynamically 2023-02-11 16:12:58 +01:00
Henrik Rydgård 547ecec074 Replace the rest of the uses of DepthSliceFactor 2023-02-11 14:45:14 +01:00
Henrik Rydgård 99e6fd62f7 Remove a baffling depth offset I don't quite get 2023-02-11 14:41:25 +01:00
Henrik Rydgård 241f8e75bc Replace some uses of DepthSliceFactor 2023-02-11 14:37:48 +01:00
Henrik Rydgård 5bdbe6984c Simplify GetDepthScaleFactors 2023-02-11 13:34:08 +01:00
Henrik Rydgård a2c9491a06 Remove a division by 0 that I hadn't noticed before. 2023-02-11 13:27:44 +01:00
Henrik Rydgård d40aa17198 Remove ToScaledDepthFromIntegerScale 2023-02-11 13:27:44 +01:00
Henrik Rydgård 805591e493 Replace all uses of ToScaledDepthFromIntegerScale. 2023-02-11 13:27:44 +01:00
Henrik Rydgård 9053d8ccc7 Flip a sign for consistency 2023-02-11 13:27:44 +01:00
Henrik Rydgård 116b3ba8cc Increase precision of GetDepthScaleFactors to match ToScaledDepthFromIntegerScale 2023-02-11 13:27:44 +01:00
Henrik Rydgård 639ca31814 Address feedback 2023-02-11 11:23:00 +01:00