Henrik Rydgård
ed7947c94b
Finish the move of Populate to ReplacedTexture
2023-03-10 17:50:16 +01:00
Henrik Rydgård
9e8e2e41fa
Move most of Populate to ReplacedTexture, although not the cpp
2023-03-10 17:43:12 +01:00
Henrik Rydgård
96111537e2
Move PopulateLevel to the texture
2023-03-10 17:26:41 +01:00
Henrik Rydgård
36f78a46c1
Rename PREPARED->POPULATED
2023-03-10 17:21:23 +01:00
Henrik Rydgård
207e2259e7
Cleanup texture saving a bit
2023-03-10 15:39:45 +01:00
Henrik Rydgård
f459a8f71a
Fix ini-less texture replacement
2023-03-10 14:58:44 +01:00
Henrik Rydgård
53791b1816
Restore functionality of the allowVideo flag, while preserving the early-out.
2023-03-10 14:18:42 +01:00
Henrik Rydgård
07fc551e4e
State fixes, disable logspam
2023-03-10 14:16:14 +01:00
Henrik Rydgård
9f45271730
Tex replacer state machine instead of flags
2023-03-10 13:43:48 +01:00
Henrik Rydgård
06b83115a5
Replacer: Avoid tracking video textures
2023-03-10 12:20:55 +01:00
Henrik Rydgård
654f4bff40
Split out ReplacedTexture into its own file.
2023-03-09 21:19:20 +01:00
Henrik Rydgård
cb10862510
Move texture replacer to GPU/Common.
...
Add new files ReplacedTexture.cpp/h too.
2023-03-09 21:11:53 +01:00
Henrik Rydgård
b253225815
Fix another replacer lifecycle issue, causing unnecessary texture invalidation.
2023-03-09 15:03:17 +01:00
Henrik Rydgård
44c4e63753
Simplifies and speeds up D3D11 texture uploads. Also, fixes a bug with replacement off
2023-03-09 14:43:59 +01:00
Henrik Rydgård
092bbf5eaa
Fix saving of textures
2023-03-09 10:51:15 +01:00
Henrik Rydgård
bda09be109
Texture color format doesn't belong as a per-level property, that's not supported.
...
All levels of a texture must have the same format.
2023-03-09 00:10:46 +01:00
Henrik Rydgård
4ba2001479
Replacer: Make the cache data model texture-centric instead of level-centric
2023-03-09 00:10:46 +01:00
Henrik Rydgård
226197f30f
Replace "none_" with nullptr.
2023-03-08 13:17:10 +01:00
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