Unknown W. Brackets
288d18447d
softgpu: Detect full triangles as rectangles.
...
Seen in a dump from Infected, improves FPS ~25% there.
2022-09-11 22:39:32 -07:00
Unknown W. Brackets
ce4fee7373
softgpu: Refactor triangle cull processing.
2022-09-11 22:39:32 -07:00
Unknown W. Brackets
8a6e8066bf
softgpu: Store vertex colors as packed RGBA8.
...
No need to keep it expanded at 4x the space for both colors.
2022-09-11 18:41:06 -07:00
Unknown W. Brackets
8a2115be46
softgpu: Enable early Z tests a bit more often.
...
This helps in cases where sfail doesn't matter.
2022-09-11 18:39:39 -07:00
Unknown W. Brackets
5f2e20d8ca
softgpu: Reduce some minor bin item field sizes.
2022-09-11 18:39:14 -07:00
Unknown W. Brackets
f02e6b8e39
GE Debugger: Add some constants to expressions.
...
Hard to remember, but at least can be copy/pasted.
Allows for things like "alphatest.func == GREATER".
2022-09-11 13:51:10 -07:00
Unknown W. Brackets
7d07e4e75d
GE Debugger: Add fields to register expressions.
...
This means a conditional breakpoint can now use, for example,
vtype.through == 1 to check the through mode flag.
No constants, but this makes it easier to get right. Would be nice to
have an autocomplete of the field names, of course...
2022-09-11 13:09:03 -07:00
Unknown W. Brackets
55c70332a1
GE Debugger: Eval breakpoints as if register set.
2022-09-11 11:05:30 -07:00
Unknown W. Brackets
aa377662dd
GE Debugger: Provide addrs in breakpoint conds.
...
Easier to just refer to the full address.
2022-09-11 10:57:04 -07:00
Henrik Rydgård and GitHub
75efcd9dfd
Merge pull request #16000 from unknownbrackets/gedebugger
...
Cleanup some crashes in GE debugger or with large textures
2022-09-11 19:41:11 +02:00
Henrik Rydgård and GitHub
b3ba77152f
Merge pull request #16004 from hrydgard/shader-depal-d3d11
...
Implement shader depal for D3D11, texture match refactorings
2022-09-11 19:34:11 +02:00
Henrik Rydgård
cf959a8467
Remove CLUT matching case that shouldn't be there yet.
2022-09-11 19:33:31 +02:00
Unknown W. Brackets
8c55e18ea8
softgpu: Switch vert continue buffer to members.
...
Better this than static. May be easier to handle imm prims correctly.
2022-09-11 08:54:34 -07:00
Unknown W. Brackets
e72309745e
softjit: Implement accurate fog color blending.
2022-09-11 08:50:07 -07:00
Unknown W. Brackets
b90fc7137f
softgpu: Correct accuracy of fog calculation.
...
This matches values from a PSP exactly, with the help of immediate mode
vertex values (since this directly allows specifying the fog factor
without any floating point math.)
2022-09-11 08:24:40 -07:00
Unknown W. Brackets
2e3b73abaa
softgpu: Restrict sprite fast path to throughmode.
...
Its UV checks already should have generally, but let's be safe. It
doesn't validate state like fog, etc.
2022-09-11 08:22:37 -07:00
Henrik Rydgård
3e7f6b57aa
Shadergen issues found by the test
2022-09-11 16:52:33 +02:00
Henrik Rydgård
a30896e21f
Switch more texture matching calculations to use bytes for matching.
2022-09-11 16:52:30 +02:00
Henrik Rydgård
4491c480a6
Texture/framebuffer matching: Do margin check in bytes.
2022-09-11 16:18:04 +02:00
Henrik Rydgård
694dbe1271
Add ShaderDepalMode enum, use in shader ID. Replaces smoothed bit.
2022-09-11 14:40:01 +02:00
Henrik Rydgård
9bd8b11bf8
Implement shader depal for D3D11.
2022-09-11 13:41:17 +02:00
Henrik Rydgård and GitHub
35c9cbd6b0
Merge pull request #16003 from hrydgard/clut-download-compat
...
CLUT download: Replace the backwards block transfer check with a new compat flag
2022-09-11 12:20:25 +02:00
Henrik Rydgård
5e6b064835
DownloadFramebufferForCLUT: Apply the fix mentioned in #8590
2022-09-11 10:30:43 +02:00
Henrik Rydgård
33a93e238a
CLUT download: Replace the broken block transfer check with a new compat flag.
...
This compat flag should be temporary until we've implemented
a readback-free path for CLUTs from framebuffers, both when texturing
from static textures and other framebuffers.
2022-09-11 10:27:21 +02:00
Henrik Rydgård and GitHub
d86127ac5e
Merge pull request #15999 from unknownbrackets/softgpu-texsize
...
softgpu: Clamp/wrap textures at 512 pixels
2022-09-11 10:12:38 +02:00
Henrik Rydgård and GitHub
37b51393a8
Merge pull request #16002 from unknownbrackets/softgpu-vertexdec
...
vertexjit: Use consistent skinInDecode
2022-09-11 10:11:02 +02:00
Henrik Rydgård and GitHub
04c02340f1
Merge pull request #15998 from unknownbrackets/softgpu-rect
...
softgpu: Allow almost flat rectangles to go fast
2022-09-11 08:54:04 +02:00
Unknown W. Brackets
4889d5285d
vertexjit: Use consistent skinInDecode.
...
Just a little cleanup.
2022-09-10 21:54:04 -07:00
Unknown W. Brackets
15d5fa48f7
softgpu: Check depth test early on simple stencil.
...
If we don't need to write stencil on sfail/zfail, we can do the depthtest
early, which allows us to more often skip texture sampling.
This gives a good improvement in Chains of Olympus.
2022-09-10 21:24:19 -07:00
Unknown W. Brackets
90e009edb9
softgpu: Clamp/wrap textures at 512 pixels.
...
A texture larger than 512 is "valid", but simply wraps/clamps at 512.
Importantly, the texture coords are still calculated at the specified
size, which can be up to 32768.
2022-09-10 20:23:09 -07:00
Unknown W. Brackets
1056301c95
D3D11: Prevent crash on larger textures.
2022-09-10 20:16:05 -07:00
Unknown W. Brackets
3242bb8d66
TexCache: Allow valid bufw sizes.
...
These don't cause crashes anymore.
2022-09-10 20:15:43 -07:00
Unknown W. Brackets
6c6d817ce7
Vulkan: Avoid crash if large texture attempted.
...
Doesn't do the clamp/wrap thing, but at least this won't crash.
2022-09-10 20:14:37 -07:00
Unknown W. Brackets
100cbec620
GE Debugger: Fix crash on bp before list running.
2022-09-10 19:45:08 -07:00
Unknown W. Brackets
18c9a4d9c9
GE Debugger: Fix crash stepping with large tex.
...
Some math was overflowing in allocations, and it would allocate zero
bytes. Let's just refuse textures more actively.
2022-09-10 19:31:53 -07:00
Unknown W. Brackets
f5f5c9ea87
softgpu: Avoid calling unordered coords tl/br.
...
These are just corners, we don't know if they're top or not at this point.
2022-09-10 14:58:27 -07:00
Unknown W. Brackets
13ca08b235
softgpu: Avoid over-aggressive rect conversion.
...
The TL and BR have to match between UVs and pos, not enough for UV to be
in order. This was causing an artifact on Chains of Olympus' title.
2022-09-10 14:56:13 -07:00
Unknown W. Brackets
2505ae2858
GE Debugger: Fix logging of texture size.
2022-09-10 13:36:01 -07:00
Unknown W. Brackets
e7d49cd7d0
softgpu: Allow almost flat rectangles to go fast.
...
Improves transform rectangles used in Chains of Olympus, for example on
the title screen.
2022-09-10 13:29:40 -07:00
Unknown W. Brackets
6004d4a459
softgpu: Refactor duplicate rectangle compat check.
...
This just moves the logic to a single place for changes.
2022-09-10 13:28:35 -07:00
Henrik Rydgård
a2ca85bc87
Add logging for LoadCLUT from framebuffer. See #15923 . Logs nicely in Burnout Dominator.
2022-09-10 19:32:39 +02:00
Henrik Rydgård
e56e5947d5
Vulkan: Declare gl_Position as invariant. See #11583
...
The code that computes shader outputs declared as invariant gets certain
optimizations disabled that could change the value - it makes it more
likely that different ways to do the same calculations end up with the same value.
This can help some types of Z fighting problems and similar.
Generally not a big deal for performance, plus, we're rarely vshader-bottlenecked...
2022-09-10 00:26:23 +02:00
Luboš Vonásek and GitHub
5be9455bf5
Merge branch 'hrydgard:master' into compat_openxr_gta
2022-09-08 18:39:11 +02:00
Lubos
c9f08a85c6
OpenXR - Do not mashup Common/GPU
2022-09-08 18:25:10 +02:00
Henrik Rydgård and GitHub
f3c097680e
Merge pull request #15982 from hrydgard/renderpass-refactor
...
Vulkan: Refactor renderpass handling
2022-09-08 09:35:55 +02:00
Henrik Rydgård
e7195d5a99
Match FragmentShaderFlags definition with the other PR.
2022-09-08 09:18:29 +02:00
Henrik Rydgård
974cd38b1f
Some more debug names to vulkan objects
2022-09-08 09:16:40 +02:00
Unknown W. Brackets
e6b4495e22
GPU: Make NotifyConfigChanged() calls consistent.
...
They're generally centralized in Common.
2022-09-07 23:41:00 -07:00
Henrik Rydgård
cdda203438
Fix compiler warnings
2022-09-08 01:31:10 +02:00
Henrik Rydgård
347f7c4e5a
Vulkan: Improve tagging of pipelines for debugging purposes
2022-09-08 00:47:22 +02:00