Commit graph

123 commits

Author SHA1 Message Date
Henrik Rydgård
ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
Henrik Rydgård
b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Henrik Rydgård
c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
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