Unknown W. Brackets
5f521bcfb0
Reuse buffer objects when possible.
...
glBufferData() recreates anyway.
2014-06-07 16:20:12 -07:00
Unknown W. Brackets
4971206e92
Allocate vertexcache buffer names in chunks.
...
Partially implements #6045 .
2014-06-07 16:15:37 -07:00
Unknown W. Brackets
8d1b3ae7aa
Fix a vertexdec crash from the ge debugger.
2014-06-06 21:06:29 -07:00
Unknown W. Brackets
8f9a2b9882
Unbind the fbo texture when it's not used.
...
Just in case there are problems with decimating it or etc.
2014-05-27 01:45:20 -07:00
Unknown W. Brackets
ff8f1fa569
Avoid the GE debugger affecting vertexFullAlpha.
2014-05-04 09:54:54 -07:00
Unknown W. Brackets
d91ad87daa
Small perf improvements in DecodeVertsStep().
2014-04-05 12:32:10 -07:00
Unknown W. Brackets
bb2fb12edd
Inline SetupVertexDecoder() in SubmitPrim().
...
Everything SubmitPrim() calls is expensive...
2014-04-05 01:25:04 -07:00
Unknown W. Brackets
e7639f666c
Ensure stuff run on every prim are inlined.
...
These both get a ton of calls and show up on profiles.
2014-03-30 00:42:26 -07:00
Unknown W. Brackets
466a5418d2
Cut time in EstimatePerVertexCost().
...
From profling, this cuts 4% time while lighting is enabled, and 14% while
disabled (on ARM.) But maybe should just inline this...
2014-03-30 00:42:26 -07:00
Unknown W. Brackets
a4327702f1
Reduce some includes under GPU/.
2014-03-29 16:51:38 -07:00
Unknown W. Brackets
69c2500dc6
Make sure vai->flags are set while hashing.
...
Since we decode the verts in this case we have a fresh flag. Might
be #5718 ?
2014-03-25 08:19:38 -07:00
Henrik Rydgård
cf3d75975d
Merge pull request #5720 from unknownbrackets/texcache
...
Optimize xxHash for ARM/NEON devices
2014-03-25 09:32:15 +01:00
Unknown W. Brackets
b800762ceb
Add a NEON-optimized version of XXH32.
...
This takes at least 40% less time to hash on NEON/ARM devices.
2014-03-25 00:34:55 -07:00
Henrik Rydgard
dc07d3410a
More checks for alpha test elimination
2014-03-24 17:33:20 +01:00
Henrik Rydgard
2c76e6d023
Correctly keep track of "full alpha" in vertices (x86 jit only).
2014-03-24 11:19:44 +01:00
Henrik Rydgard
f2f0355d94
Split up ApplyShader into ApplyVertexShader and ApplyFragmentShader.
...
Will allow the alphatest avoiding optimization later.
2014-03-24 10:55:07 +01:00
Henrik Rydgard
b174996c1c
Add a conservative check that prevents alpha testing in a few cases.
...
This will become really powerful if we add some code to the vertex decoder
to check for non-full alpha in the vertices, and set gstate_c.vertexFullAlpha if none
is found (probably want to do the reverse, set it to true and clear if any non-255 alpha is found).
Alpha testing is a performance killer on many mobile GPUs so big efforts to
avoid it can be worth it.
2014-03-23 16:32:38 +01:00
Henrik Rydgard
20d480a374
Minor GPU code cleanups
2014-03-23 16:32:38 +01:00
Henrik Rydgard
8b92dcea47
Transform: Compute the "DCID" (draw call ID) incrementally instead of an extra pass.
2014-03-23 01:51:51 +01:00
Henrik Rydgard
b4d99b1981
Revert "Avoid caching when HW T&L with morph enabled."
...
This reverts commit 557eae7ca9
.
2014-03-15 10:46:04 +01:00
raven02
557eae7ca9
Avoid caching when HW T&L with morph enabled.
2014-03-14 21:04:32 +08:00
Henrik Rydgard
9e6d7abf4e
Minor cleanup
2014-02-12 11:10:44 +01:00
Unknown W. Brackets
7380c5b664
Stop showing z = 1.0 for non through in debugger.
...
Oops.
2014-02-09 00:33:15 -08:00
Unknown W. Brackets
e7eca477b0
Add a tab to show vertex values to the GE debugger.
...
Should be pretty useful, especially for depth issues.
2014-02-08 22:03:29 -08:00
Unknown W. Brackets
d2108a962e
Switch from USING_GLES2 to MOBILE_DEVICE.
...
Still using USING_GLES2 for, well, GLES2. But for things that are really
about mobile, we need a new define. Devices are coming that don't use
GLES2.
2014-02-08 16:37:58 -08:00
Unknown W. Brackets
79864a5ee0
Fix some initialization order warnings.
2014-01-10 22:21:24 -08:00
Unknown W. Brackets
473fb866e6
softgpu: Implement vertex preview.
...
And move ConvertMatrix4x3To4x4() into a common place since there were
differing implementations, which was only confusing.
2013-12-29 13:45:10 -08:00
Henrik Rydgård
9e42086e21
Logspam reduction
2013-12-09 13:45:17 +01:00
Sacha
756f651eb2
Buildfix for older compilers, such as GCC 4.6.3
2013-11-22 16:22:41 +10:00
Unknown W. Brackets
70b6a4a796
Small optimization to vertex preview.
2013-11-20 22:36:48 -08:00
Henrik Rydgard
e3d471f590
Fix issues with texturing from render targets with prescaled UV (texcoord speed hack)
2013-11-19 23:38:36 +01:00
Unknown W. Brackets
ed16e42ca8
Cleanup, don't even need z here.
2013-11-17 14:49:51 -08:00
Unknown W. Brackets
018d95180a
Fix 3d vertex preview.
2013-11-17 14:31:21 -08:00
Unknown W. Brackets
a3bd2f1365
Fix Vec3ByMatrix44() and use it for matrix math.
2013-11-17 14:10:57 -08:00
Unknown W. Brackets
b541c81ba3
Clean up Mat3x3 etc. constness.
2013-11-17 13:27:51 -08:00
Unknown W. Brackets
fcc77f525f
Implement some basic vertex previews on prim.
...
3D doesn't work correctly (sometimes it does...) 2D should be working.
2013-11-17 13:27:50 -08:00
Henrik Rydgard
b0ccf5981c
Don't bother with glDrawRangeElements, seems to not improve perf.
2013-11-14 17:33:43 +01:00
Henrik Rydgard
3b63ef7005
Remove the SubmitPrim param forceIndexType, optimize BBOX more.
2013-11-14 14:03:03 +01:00
Henrik Rydgard
35ae239eb9
Optimize bbox some more
2013-11-14 12:25:53 +01:00
Henrik Rydgard
4f93654a88
Oops, accidentally enabled some bbox debugging code
2013-11-14 11:49:06 +01:00
Henrik Rydgard
8a69543ec4
BBOX: Transform the planes by the matrix so we don't need to transform the box
2013-11-14 11:44:13 +01:00
Henrik Rydgard
179934ec9f
Decode step by step when sw skinning
2013-11-13 18:10:57 +01:00
Henrik Rydgard
46313ced55
Prepare transform pipeline for step by step decoding
2013-11-13 18:10:57 +01:00
Henrik Rydgard
7e67476b00
Simple unoptimized software skinning.
...
Does not take advantage of the possible reduction in state changes yet.
2013-11-13 18:10:57 +01:00
Henrik Rydgård
ab3fe9ba86
Extract the software transform code into its own file.
2013-11-13 14:56:34 +01:00
Henrik Rydgard
cf15ec8a53
Add BBOX support (very conservative test)
2013-11-12 17:06:03 +01:00
Henrik Rydgard
f4ad7c64e5
Fix issue with texcoord speed hack (bPrescaleUV) in software transform
...
(and also thus rectangles of course even when hw transform is enabled)
2013-11-10 11:18:26 +01:00
Unknown W. Brackets
a1fa65f631
Stupid typos, broke 4444 and 565.
2013-11-03 18:43:24 -08:00
Henrik Rydgard
f0fd7679ce
Preliminary ARM vertex decoder JIT. Has a weird issue in PosS16.
...
Other minor changes and fixes.
2013-11-03 20:15:42 +01:00
Henrik Rydgard
810b1a061f
Vertex decoder JIT for x86 and x64. Handles the most common vertex formats.
2013-11-03 15:27:12 +01:00