Commit graph

337 commits

Author SHA1 Message Date
Henrik Rydgard
c8b1064d20 GL Cleanup: No longer redundantly store the shader ID inside the shader objects 2016-01-17 20:33:14 +01:00
Unknown W. Brackets
c3a0c14f39 Prevent leaking VBOs on shutdown also. 2015-12-28 14:13:24 -08:00
Unknown W. Brackets
f2410e2110 Oops, actually free old vertex cache buffers.
And reuse them, since, why not?
2015-12-28 14:13:24 -08:00
Unknown W. Brackets
8aed1c5f8e Decimate buffer names less frequently.
Sometimes there can be a lot, so let's decimate in chunks, and only based
on memory pressure.
2015-12-28 14:13:22 -08:00
Unknown W. Brackets
d39c8a5994 Decimate buffer objects less often.
I think it was previously deleting used objects, oops.
2015-12-28 14:13:21 -08:00
Unknown W. Brackets
199d8ac0c0 Reuse buffers of the same size for dynamic data.
This is a lot faster than changing their sizes all the time.
2015-12-28 14:13:20 -08:00
Unknown W. Brackets
164594b044 Use a VAO for all drawing, and VBOs throughout. 2015-12-19 09:18:34 -08:00
Henrik Rydgard
70cb4372c1 Assorted fixes to auto resolution. Fixes too low resolution and also #8002, plus notification spam 2015-09-25 19:10:09 +02:00
Unknown W. Brackets
dff4aeb30f Correct uv bound pointers in arm vertexjit. 2015-09-13 14:55:10 -07:00
Unknown W. Brackets
88eea00fe4 Add a safety against vertcache breaking uv checks. 2015-09-13 11:09:21 -07:00
Unknown W. Brackets
5c233fa545 Add initial decoding check for uv bounds. 2015-09-13 10:00:33 -07:00
Unknown W. Brackets
a3078a6ae1 Move late state apply after sw transform decode.
Need this so ApplyDrawStateLate() can use data from the decode.
2015-09-13 06:53:55 -07:00
Unknown W. Brackets
5360422310 Defer bind of shader blend copy until after verts. 2015-09-13 06:52:47 -07:00
Henrik Rydgard
ab3468ea02 Move native/gfx_es2/gl_state.cpp/h into GPU/GLES/GLStateCache.cpp/h 2015-09-06 13:45:17 +02:00
Henrik Rydgard
08735b806f Remove silly use of gstate.SetVSyncInterval 2015-09-06 13:36:33 +02:00
Henrik Rydgard
1c0158bfe6 Further reduce the use of ifdef USING_GLES2 and friends. 2015-09-05 23:39:10 +02:00
Henrik Rydgard
2430c283a5 More GPU cleaning, removing uses of GPUState.h where not needed.
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.

Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Unknown W. Brackets
8fdceba7ca Add timing for all the basics.
This way we can see overall stats for a frame.
2015-07-03 12:05:08 -07:00
Henrik Rydgard
26624709f7 Hook up the frame profiler to a few measurements 2015-05-24 23:45:36 +02:00
Henrik Rydgard
5d0d67140f Reverse Y when checking for rotated rects in Direct3D 9. Fixes #7738. 2015-05-12 20:01:04 +02:00
Henrik Rydgard
ed8a3eaf6d Move the vertex decoder cache into DrawEngineCommon 2015-04-08 21:35:00 +02:00
Henrik Rydgard
aeb03d1bc9 Workaround for crash in Pangya Fantasy Golf reported in #6398
(Simple sanity check when decoding software skinned vertices)
2015-03-01 15:33:34 +01:00
Unknown W. Brackets
7379d37e73 Bail on bad verts after grabbing byte increment. 2015-02-28 01:28:30 -08:00
Henrik Rydgard
e5706ac9ff Remove accidentally added Flush() call (was debugging something else) 2015-02-04 17:41:51 +01:00
Henrik Rydgard
f18f54fa5a Don't prepare to fetch translations unless we actually are going to use them.. In a couple of places in the code. 2015-02-04 13:41:21 +01:00
Henrik Rydgard
033798c796 Expand spline data into a separate buffer. Prevent overflowing it by reducing the size of spline draws if necessary (but shouldn't really happen).
Might help #7386
2015-01-29 16:04:00 +01:00
Henrik Rydgard
c2500744e1 D3D9 rectangle rendering fix (maxindex) 2015-01-15 23:58:07 +01:00
Unknown W. Brackets
d663cda2de Transform rects using indices.
Not a hge difference.  Minor cleanup.
2015-01-15 12:26:35 -08:00
Unknown W. Brackets
f311d4008d Leave VBOs and index buffers bound for reuse. 2015-01-11 17:03:45 -08:00
Unknown W. Brackets
40ea889b6a Cache the VBO/index buffer to avoid redundancy.
Well, mostly just redundant unbinds.
2015-01-11 16:56:29 -08:00
xebra
1a6102178c [spline/bezier]Remove unnecessary initialization of array. 2014-12-16 22:30:06 +09:00
Henrik Rydgard
b4b7cd0722 GLES: Merge the two ShaderID classes as they are identical.
I don't expect the number of bits required to grow or shrink massively for either type of shader in this backend.
2014-12-14 19:24:11 +01:00
Henrik Rydgård
a767c8e704 Merge pull request #7176 from xebra/spline_bezier2
Fix huge bezier patch issue
2014-12-13 18:14:59 +01:00
xebra
7577a49832 [spline/bezier]Fix huge bezier patch issue related to #5500 2014-12-14 01:49:48 +09:00
Henrik Rydgård
5d6d552e57 Merge pull request #7175 from xebra/spline_bezier
Improve spline/bezier tesselation
2014-12-13 17:45:15 +01:00
xebra
43e3028add [spline/bezier]Writing vertices to the buffer directly. 2014-12-14 01:08:00 +09:00
Lioncash
dc436aebe8 GPU: Get rid of unused variable warnings 2014-12-12 09:29:41 -05:00
xebra
fe051f30a2 [spline/bezier]Fix surface normal at flat shading. 2014-11-29 21:58:11 +09:00
xebra
368ebf7da3 [spline/bezier]Fix order of quad indices. 2014-11-25 23:48:22 +09:00
Henrik Rydgard
1fe2af3421 Fix D3D NFSU crash #7030 in a cleaner way than #7033 :) 2014-10-29 23:51:23 +01:00
Unknown W. Brackets
2b16b5b79b Use XXH64 on 64-bit systems.
I'm not able to reproduce any real performance difference, but I know
there are some games which do more hashing and it may help there.
2014-10-26 17:49:24 -07:00
Henrik Rydgard
7cb5e7f53f Some very minor optimizations. Remove little-used stat counter. 2014-10-19 21:12:25 +02:00
Henrik Rydgard
6c313385ab Reduce the diff between the two draw engines 2014-09-18 00:40:25 +02:00
Henrik Rydgard
5e2c30c640 Move GetCurrentSimpleVertices to DrawEngineCommon 2014-09-17 21:37:53 +02:00
Unknown W. Brackets
01bdb6e160 Cleanup some minor vertex cache stuff. 2014-09-15 07:08:55 -07:00
Unknown W. Brackets
64d955ea49 d3d: Share the bounding box code. 2014-09-14 14:04:09 -07:00
Unknown W. Brackets
f0c37e3f61 d3d: Use minihashing in the vertex cache. 2014-09-14 13:50:57 -07:00
Unknown W. Brackets
afd9d864be Clear alpha only when clearing stencil.
Not sure if this will fix anything.
2014-09-14 08:00:35 -07:00
Unknown W. Brackets
d60fd955d6 Vertex cache a bit more frequently.
Rely upon the minihashing a bit more.
2014-09-13 14:03:13 -07:00
Unknown W. Brackets
456b2613f0 Avoid full rehashes when failures are frequent. 2014-09-13 14:03:13 -07:00