Henrik Rydgård
1221a6e928
Minor code cleanups
2024-10-28 17:50:34 +01:00
Herman Semenov
192650f551
[Core/HLE/GPU/D3D11/GLES] Using for based loop C++17 and replaced on structured binding map C++17
2024-09-18 11:10:10 +02:00
Henrik Rydgård
096985f51f
Provoking vertex (software transform): Simpler solution
...
Simply rotate each primitive in the index buffer to simulate a different provoking vertex.
Since at this point we have already generated a plain primitive index
buffer, it's easy to manipulate like this.
An even better solution would be to generate rotated index buffers
directly during decode, although that code is super critical and does
not need more complexity..
We could now also enable this for hardware transform but I'm leaving
that for later.
2024-07-17 14:40:52 +02:00
Henrik Rydgård
6b1e57a840
We never draw non-indexed in software transform mode, so get rid of the path.
2024-07-17 14:40:52 +02:00
Henrik Rydgård
665f03ff62
Add provoking vertex to caps, flip the flag around
2024-07-17 14:40:52 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
0b76d443e2
D3D11 texture replacement: Support more mip levels. Fixes crash in texture pack.
...
Fixes #19312
2024-07-02 11:56:27 +02:00
Henrik Rydgård
22d353ec85
D3D11: Filter out useless compiler warning (about pow(-val, x))
2024-04-09 17:38:58 +02:00
Henrik Rydgård
cb79783539
Expand primitives: Check the vertex count too.
...
Still getting a few crashes, let's get rid of the last of them from this,
hopefully.
2024-01-28 22:48:40 +01:00
Henrik Rydgård
db94b0b696
Pass the limit on the number of indices to generate to BuildDrawingParams.
2024-01-15 10:09:04 +01:00
Henrik Rydgård
341fe04f4b
Apply nearest filter for pixel-mapped draws
2024-01-11 12:56:03 +01:00
Henrik Rydgård
0b6ea4b2e5
Use the Tokimeki / old Juiced 2 method for Breath of Fire III
...
Allows us to delete a bunch of complex code.
2024-01-11 10:44:13 +01:00
Henrik Rydgård
126d88ecfc
Back out clearly inconsequential/useless .reserve() calls
2023-12-29 08:27:56 +01:00
Henrik Rydgård
61acce195c
Avoid decoding indices when we don't need them.
2023-12-20 14:25:19 +01:00
Herman Semenov
0748ce610f
[GPU/Common/D3D11/Directx9/GLES/Vulkan] Using reserve if possible
2023-12-15 14:08:22 +03:00
Henrik Rydgård
33e48e9675
OpenGL: Fix some confusion between gpu->BeginHostFrame and gpu->BeginFrame, fixing black screen
2023-12-11 23:05:37 +01:00
Henrik Rydgård
aca3bbc9a0
DrawEngine: Remove the confusing MaxIndex accessor, replace with directly reading numDecodedVerts_
2023-12-10 11:58:47 +01:00
Henrik Rydgård
12a98baf59
Cleanups, make the various SubmitPrim implementations more similar
2023-10-12 11:58:48 +02:00
Henrik Rydgård
e4ea4831e9
Delete the vertex cache option from the code.
2023-10-10 15:43:43 +02:00
Henrik Rydgård
10ccbfd68c
Unify the clearing of variables after a draw call
2023-10-06 15:39:59 +02:00
Henrik Rydgård
d4703e9534
Decoded position format is always the same
2023-10-06 15:39:58 +02:00
Henrik Rydgård
e63bb0459c
Add a new stat, so we can see per game if the optimization has an effect
2023-10-03 11:01:37 +02:00
Henrik Rydgård
92ffef2626
Remove some state from IndexGenerator, fix bugs. Mostly works except vertex cache.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
9b411af1f5
It's running.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
abbd1c83bd
Revert "Merge pull request #18184 from hrydgard/expand-lines-mem-fix"
...
This reverts commit 65b995ac6c
, reversing
changes made to 01c3c3638f
.
2023-09-27 20:04:37 +02:00
Henrik Rydgård
966144fa64
Bounds check writing to the index buffer when expanding lines/rects/points
2023-09-20 19:26:36 +02:00
Henrik Rydgård
3f2ef508c9
Make it easier to reason about space in the inds buffer by moving an offset instead of the pointer.
2023-09-20 19:23:24 +02:00
Henrik Rydgård
10f93875c6
Fix the semantics of DenseHashMap to be consistent even when inserting nulls
2023-09-11 12:07:18 +02:00
Henrik Rydgård
8a6e288fcc
Add checkboxes in developer tools to allow disabling ubershaders.
...
Might be helpful to diagnose performance problems on user devices.
Additionally, moves the texture replacement controls to the top. They
should probably be moved somewhere else entirely...
See #17918
2023-08-17 20:16:04 +02:00
Henrik Rydgård
ace217008a
In D3D11, force block compressed textures to have dimensions divisible by 4
...
Fixes #17745 (crash when loading certain texture packs in D3D11)
This is an old unfortunate limitation. Only applies to the top mip
level, which makes it obvious that it's kinda unnecessary for the
hardware and indeed, Vulkan and OpenGL don't have this limitation.
2023-07-20 19:44:00 +02:00
Henrik Rydgård
952e125c7e
Break out rendering of "notices" from OnScreenDisplay. They can now also be used as views.
...
Use it for the new message in ControlMappingScreen, when you try to map
a combo when that's disabled. It'll have more uses.
2023-07-07 15:23:19 +02:00
Henrik Rydgård
186b0f105c
Simplify the vertex cache ID handling
2023-06-12 13:16:13 +02:00
Henrik Rydgård
7178c0cd42
Restore fragmentshader ID flags double and texalpha. Add a ubershader mode that uses dynamic state.
2023-05-25 10:19:01 +02:00
Henrik Rydgård
f16f879b41
Some renaming to follow the standard of appending _ to member vars
2023-05-23 18:00:50 +02:00
Henrik Rydgård
d51d1413a3
DrawEngineCommon: Rename decoded to decoded_
2023-05-23 16:46:43 +02:00
Henrik Rydgård
9512bc6174
Don't cache render target copies for shader blending, only cache copies for overlap
...
Fixes #17451 , while also keeping the Dante performance fix from #17032 .
Of course, it's possible that something else could slow down now... But
hopefully not. This could also fix other problems.
2023-05-11 12:04:29 +02:00
Henrik Rydgård
d56e27aa2c
Let's have DispatchFlush check for drawcalls before calling DoFlush, too.
2023-05-03 23:49:41 +02:00
Henrik Rydgård
16b243b007
Centralize allocation of vertex decode buffers
2023-04-24 12:11:58 +02: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
75bcb9b10c
Some renaming, flag updates
2023-03-18 11:46:22 +01: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
d8c3269cc6
Fix zipped texture packs (it didn't load the ini from the zip, the rest worked).
...
Plus a few other things.
2023-03-14 17:53:01 +01:00
Henrik Rydgård
c32e3f89f1
D3D11 mipmap stride fix
2023-03-12 23:31:51 +01:00
Henrik Rydgård
b44e879d21
Support DXT1/3/5 (BC1,2,3) in D3D9
2023-03-12 11:37:17 +01:00
Henrik Rydgård
f2673c8f7b
Change BGRA to be a texture-specific flag. Fixes R/B swap in DDS textures in D3D11.
2023-03-12 10:19:12 +01:00
Henrik Rydgård
7e4dc23bcc
Fix BC textures in D3D11 - except that they're red/blue swapped. Ugh.
2023-03-11 23:55:43 +01:00
Henrik Rydgård
f936a6e9ce
Structs and enums and build files
2023-03-11 11:19:33 +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
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
86c1d5711a
Merge pull request #17017 from unknownbrackets/d3d11-equal-clear
...
D3D11: Correct equal clear check
2023-02-27 09:18:11 +01:00