Henrik Rydgård
6009bf7b74
Merge pull request #12952 from unknownbrackets/vulkan-safesize
...
Vulkan: Match safe size behavior on all backends
2020-07-13 15:59:09 +02:00
Unknown W. Brackets
56f4335915
GLES: Delay buffer use in vertex cache.
...
This creates the buffer on frame 2, starts using it on frame 3.
2020-05-24 14:47:41 -07:00
Unknown W. Brackets
c051e9ec2c
GLES: Fix disabled vertex cache code.
2020-05-24 14:05:54 -07:00
Henrik Rydgård
370678c498
Do a similar thing for D3D (let the backend handle the dirtying).
2020-05-24 20:57:59 +02:00
Henrik Rydgård
bebf649705
OpenGL/Vulkan: Rework the contract around dynamic state. Removes some ugly dirtying from the GL render manager.
2020-05-24 20:27:58 +02:00
Unknown W. Brackets
ea1f0a1195
Vulkan: Match safe size behavior on all backends.
...
Before, we would not mark a safe size for some Vulkan clears where depth
was not cleared, deviating from other backends. We also never detected
that on PowerVR. This makes things more consistent.
2020-05-23 00:25:39 -07:00
Unknown W. Brackets
d88099e701
GLES: Specify buffer type just to be safe.
...
Probably doesn't matter, but maybe some drivers take it as a hint?
2020-05-16 23:48:56 -07:00
Unknown W. Brackets
ef43ec5f33
GPU: Split up software transform into phases.
2020-05-08 23:09:24 -07:00
Unknown W. Brackets
b413a58945
GLES: Add safety handling for offset depal.
...
Just in case...
2020-05-07 23:30:17 -07:00
Unknown W. Brackets
48980d8786
GLES: Simplify the framebuf offset detection.
...
It's clearly not been understood well as changes were made, so let's dump
a bunch of comments on it.
2020-05-07 23:12:14 -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
30ede8240c
GPU: Move hw transform decision to draw engine.
2020-04-04 11:14:32 -07:00
Unknown W. Brackets
c42fb72419
GPU: Update uniforms w/ consistent render mode too.
2020-04-04 11:03:07 -07:00
Henrik Rydgård
3aa575daef
OpenGL: Call ApplyDrawState before SoftwareTransform
2020-01-26 15:29:45 +01:00
Henrik Rydgård
8c2e318416
OpenGL dataformat cleanup - pass Draw::DataFormat to the GLRenderManager.
...
Avoids triple GLenum all over the place, and also clearly shows that the
mapping is wrong.
2019-10-24 22:41:41 +02:00
Henrik Rydgard
9736bc431a
The block transfer setting should not affect clearing memory behind a render target, especially since that's already gated behind a compat flag.
2019-02-08 14:46:16 +01:00
Henrik Rydgård
d8f4a70396
Remove constraint that virtual framebuffers have to represent VRAM.
...
Prerequisite for #11531 , virtual readbacks.
2018-11-12 08:19:14 +01: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
03b9492f08
[spline/bezier]Sharing textures to avoid heavily textures creation/deletion in one frame. At least, it occurs about 1000 and very slow down in Pursuit Force.
2018-10-07 23:54:12 +09:00
xebra
453e274fbe
[spline/bezier]Fix around vertex type flags.
2018-10-07 23:54:11 +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
1b076f8324
[spline/bezier]Improve HW tess on Opengl to combine 3 textures into a single texture and use it.
2018-10-07 23:54:03 +09:00
xebra
966ff32ee7
[spline/bezier]Improve the logic of copying control-points.
2018-10-07 23:53:36 +09:00
Unknown W. Brackets
a4c0640f01
GE Debugger: Factor out host calls some.
...
Moving more of this to cross platform for the web debugger.
2018-09-01 08:32:03 -07:00
xebra
5536cdd827
[spline/bezier]Fix tex coords.
2018-06-26 01:47:13 +09:00
Henrik Rydgård
03175b74ef
Merge pull request #10957 from unknownbrackets/depal-bounds2
...
GPU: Dirty tex when clearing or rendering to self
2018-06-06 22:22:01 +02:00
Unknown W. Brackets
dca159c47e
GPU: Correct sw flat shading color on Vulkan/D3D.
...
It was only correct on GLES before. This only fixes software transform.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
61fc1cdcfb
GPU: Dirty tex when clearing or rendering to self.
...
This way if we're blitting, we'll re-blit.
2018-06-06 05:52:49 -07:00
Henrik Rydgård
c964bc4ba2
Fix another of these pesky GL task switching bugs.
2018-05-30 19:29:26 +02:00
Henrik Rydgård
0d6be3a476
GLES: Refresh the draw context in DrawEngineGLES on DeviceRestore. How did we miss this?
2018-05-27 22:25:15 +02:00
Henrik Rydgård
b730d187e8
Add some paranoid checks guided by stack traces from Google Play
2018-05-27 22:12:59 +02:00
Henrik Rydgård
117dad8a48
Just add some constants for the GL texture slots.
2018-04-13 09:11:08 +02:00
Henrik Rydgård
36fd2711d6
Revert "Remove further remains of hardware skinning."
...
This reverts commit 40db61a680
.
2018-04-10 12:22:41 +02:00
Henrik Rydgård
8953d7ff73
Revert "Comment fixes, reindentation."
...
This reverts commit 6fa9fcefb2
.
2018-04-10 12:14:23 +02:00
Henrik Rydgård
69309aa400
Revert "Remove some remains of software skinning"
...
This reverts commit 2d33d526b8
.
2018-04-10 11:21:56 +02:00
Henrik Rydgård
ca0fb77080
Assorted cleanups. Don't assert on no clear mask.
2018-04-06 23:29:44 +02:00
Henrik Rydgård
b06df3536e
Auto unregister push buffer on deletion.
2018-04-05 17:53:03 +02:00
Henrik Rydgård
feb3870f7d
Also take control over Begin/End
2018-04-05 17:34:32 +02:00
Henrik Rydgård
8d6bbc54a9
Minor refactoring moving creation/deletion of GLPushBuffer to GLRenderManager
2018-04-05 17:31:12 +02:00
Henrik Rydgård
6858c77612
Don't allow wrapping on framebuffer textures. Fixes GTA on old NV Shield
2018-03-17 01:54:11 +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
2d33d526b8
Remove some remains of software skinning
2018-03-16 20:38:05 +01:00
Henrik Rydgård
6fa9fcefb2
Comment fixes, reindentation.
2018-03-05 00:03:47 +01:00
Henrik Rydgård
40db61a680
Remove further remains of hardware skinning. Fixes #10661
2018-03-05 00:03:47 +01:00
Henrik Rydgård
23980065ba
Unify all the DrawEngine::SubmitPrim
2018-02-26 11:07:30 +01:00
Unknown W. Brackets
0474ff5c23
GLES: Use aligned memory for textures.
...
We use SSE on them, and they used to be aligned, and must be aligned in
PSP RAM, so keep them aligned.
This only really affects 32-bit, since allocs will typically be aligned on
64-bit anyway.
Fixes #10601 .
2018-02-11 08:13:57 -08:00