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
72bed6f2b5
Some DeviceLost/DeviceRestore cleanup
2023-02-26 11:05:52 +01:00
Henrik Rydgård
0d57f3beee
Unify GPUCommon::DoState.
2023-02-25 12:21:03 +01:00
Unknown W. Brackets
3f20562b9f
Vulkan: Store saw equal depth flag in cache.
2023-01-05 18:24:29 -08:00
Henrik Rydgård
f069de2dd2
Pass the vertex decoder into the vertex shader IDs generator
...
Instead of just the vertex type.
This will allow things like the vertex decoder supplying defaults, in
order to reduce the number of unique vertex shaders at the cost of
slightly larger vertex data.
This doesn't actually do that yet though, it's just a refactor that can
be done separately.
Part of #16567
2022-12-30 22:57:05 +01:00
Unknown W. Brackets
aac2faa674
GPU: Automatically reduce depth range on == test.
...
Fixes graphic issues in Blade Dancer, possibly other games.
2022-11-13 08:13:22 -08:00
Unknown W. Brackets
3333f2a5aa
GPU: Avoid clears for non-simple depth values.
...
Some drivers don't round depth the same way for a clear vs for drawing,
which can cause mismatches. We only do this if we see equals-style depth
comparison funcs used in drawing.
2022-11-08 20:06:08 -08:00
Unknown W. Brackets
6c36f03a0d
GPU: Purify vertTypeIsSkinningEnabled().
2022-11-06 08:40:54 -08:00
Unknown W. Brackets
66472c39ce
GPU: Use skinned position always in bounding check.
...
Meanwhile, move to a flag on decoder options instead of global check.
2022-11-06 08:23:31 -08:00
Unknown W. Brackets
8b80c5fb28
GPU: Allow/use indices in bounding box check.
...
Not sure any games actually use this, but it's supported.
2022-10-22 16:05:29 -07:00
Unknown W. Brackets
6ddf22487b
GPU: Correct bounding box for larger counts.
...
Matches tests on a PSP with float/transform format.
2022-10-22 16:05:29 -07:00
Unknown W. Brackets
fc39f042ae
softgpu: Avoid unnecessary flushing for curves.
...
We don't need to flush all drawing between curves in softgpu, let them
queue up.
2022-09-22 00:08:38 -07:00
Unknown W. Brackets
6877ff1af2
softgpu: Fix state/continuation for imm prims.
2022-09-18 06:16:26 -07:00
Unknown W. Brackets
35ba01e01f
softgpu: Refactor imm draws to bypass vert read.
2022-09-18 06:16:25 -07:00
Henrik Rydgård
ce82fce8de
Use subpass dependencies to implement shader framebuffer read in Vulkan.
2022-09-16 19:19:42 +02:00
Henrik Rydgård
c846c2dfa8
Remove confusing resetFramebufferRead flag from secondary framebuffer binding
2022-09-03 14:48:07 +02:00
Henrik Rydgård
c784c0e94b
Some renaming. Store the BlendState/MaskState.
2022-09-02 21:07:29 +02:00
Henrik Rydgård
c9048c3748
Shrink the DeferredDrawcall struct, because why not. Assorted cleanup
2022-09-01 11:59:33 +02:00
Unknown W. Brackets
18e1efece1
GPU: Add a way to defer dirty rechecks.
...
These are situations where we have temporary state which will require
recalc again later.
2022-08-28 08:34:48 -07:00
Henrik Rydgård
41e327a66b
Cleanup and testfixes
2022-08-03 13:34:59 +02:00
Henrik Rydgård
e6403d7157
Split GetPointer into two versions, to help with const correctness
2022-07-24 13:26:19 +02:00
Henrik Rydgård
66ddbe9513
Remove the rather problematic limit on framebuffer copies
2022-05-01 12:49:19 +02:00
Unknown W. Brackets
76f9103e97
softgpu: Add a table and initial dirty flags.
...
Not actually using the dirty flags to skip state, but have moved to
Execute_* functions and everything else like other graphics backends.
2022-01-23 08:08:40 -08:00
Unknown W. Brackets
de46b0998a
GPU: Correctly initialize HW tessellation support.
...
Oops, shouldn't call a virtual in a constructor.
2021-05-08 09:10:23 -07:00
Henrik Rydgård
391b8155c5
More work on detangling the concepts and making things make more sense.
2020-11-08 13:14:23 +01:00
Henrik Rydgård
886a8b1ac6
Remove Timer.cpp/h. Move various collections into Common/Data/Collections.
2020-10-05 21:05:23 +02:00
Henrik Rydgård
1b3413945b
Some header include cleanup
2020-09-16 09:20:41 +02:00
Unknown W. Brackets
15c25be42b
GPU: Switch vertex/lookup hashes to XXH3.
...
This is faster pretty much everywhere.
2020-08-27 20:37:49 -07:00
Unknown W. Brackets
ac60e2ecd4
GPU: Track HW tess at start of frame too.
...
This also makes it so we don't force the setting off when you change
backends, and just ignore it if unsupported.
2020-04-04 11:52:32 -07:00
Unknown W. Brackets
46b9454e73
GPU: Reset hw transform once per frame.
...
Might prevent potential crashes if it changes mid-frame.
2020-04-04 11:21:22 -07:00
Unknown W. Brackets
30ede8240c
GPU: Move hw transform decision to draw engine.
2020-04-04 11:14:32 -07:00
xebra
df4179fdb5
[spline/bezier]Remove unused stuff.
2018-12-24 04:06:12 +09:00
Unknown W. Brackets
8a7ec4fc19
GPU: Fix curve breakage due to cull flipping.
2018-12-16 13:00:36 -08:00
Unknown W. Brackets
b1e68c653c
GPU: Avoid a missing virtual destructor warning.
2018-12-01 13:59:47 -08:00
xebra
04708fe88a
[spline/bezier]Unify SubmitSpline/Bezier.
2018-11-13 18:22:34 +09:00
xebra
eca9386c05
[spline/bezier]Reduce static buffers. Get rid of the spline buffer using half of the vertex buffer.
2018-10-07 23:54:31 +09:00
xebra
ef53195ae8
[spline/bezier]Surround with namespace Spline.
2018-10-07 23:54:28 +09:00
xebra
41823f8780
[spline/bezier]Fix GLES texture resolution of HW tess to real 2D to avoid huge width in FF4CC mist dragon morphing.
2018-10-07 23:54:23 +09:00
xebra
89786b943d
[spline/bezier]Instanced rendering for B-Spline is very slow when using weak GPU, so disabled it and simplify the shaders.
...
Add changing the quality of HW tessellation.
2018-10-07 23:54:22 +09:00
xebra
a48a5b32f0
[spline/bezier]Unify hardware tessellation of bezier and spline.
2018-10-07 23:54:06 +09:00
xebra
3c0fb44f2e
[spline/bezier]Improve hwtess to use cached weights.
2018-10-07 23:54:05 +09:00
xebra
1e84a62e96
[spline/bezier]Implement weights cache system.
2018-10-07 23:53:50 +09:00
xebra
966ff32ee7
[spline/bezier]Improve the logic of copying control-points.
2018-10-07 23:53:36 +09:00
Henrik Rydgård
1517a93d08
Restore the vertexCount to 32-bit, needed in some tesselation situations
2018-06-26 19:49:49 +02:00
zhang wei
cfc353ee81
handle cull mode by indices, improve performance for GVGNP, refer to #10172
2018-04-27 16:33:35 +08:00
Henrik Rydgård
8953d7ff73
Revert "Comment fixes, reindentation."
...
This reverts commit 6fa9fcefb2893d1e9f3250337aa4f8243b6e3b6d.
2018-04-10 12:14:23 +02:00
Henrik Rydgård
648b4eac51
Shrink the vertexCount field in DeferredDrawCall to the 16 bits required.
2018-03-18 09:42:05 +01:00
Henrik Rydgård
614cabb115
Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
...
The raw pipeline cache got pretty large. Instead, store IDs like GL.
There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård
4cf5999bc8
Move the vertTypeID calculation out of DrawEngine. Need to shorten SubmitPrim as much as possible.
2018-03-05 12:28:10 +01:00
Henrik Rydgård
6fa9fcefb2
Comment fixes, reindentation.
2018-03-05 00:03:47 +01:00