Commit Graph
91 Commits
Author SHA1 Message Date
Henrik Rydgård 67ca4419fe Fix minor bug where we didn't clear dirtyUniforms if early-outing from UpdateUniform. 2013-11-13 10:02:58 +01:00
Henrik Rydgard 54217deb16 Speed up UpdateUniforms a little 2013-11-12 17:06:03 +01:00
Henrik Rydgård 0471a8c886 Only set fogdepth to highp on PowerVR. May fix #4333 2013-10-28 15:38:25 +01:00
Henrik Rydgard 80702109f5 Move gpu vendor detection to native with the rest of the gl init.
Also disable vertical layout for mainscreen entirely.
2013-10-16 00:48:44 +02:00
Unknown W. Brackets 85c013c5b6 Fix a crash in OpenGL on game shutdown. 2013-10-12 01:39:50 -07:00
Henrik Rydgård ae94e5c078 Must reset lastShader after swtiching shaders outside the "framework". 2013-10-10 20:11:57 +02:00
Henrik Rydgard 4c2c015774 Expose the experimental "bPrescaleUV" as "Texture Coord Speedhack"
It's actually quite beneficial in some games, can substantially reduce
glUniform4fv calls.

Also throw in a second shot at glDrawRangeElements.
2013-10-08 22:59:40 +02:00
Henrik Rydgard 7a0b1e40c6 Update native (making GLES3 features possible on desktop). Minor optimization. 2013-10-08 21:50:43 +02:00
Henrik Rydgård 0a4750909e Try to avoid unnecessary calls to glEnable/DisableVertexAttribArray 2013-10-08 17:47:47 +02:00
Henrik Rydgård 4b019bfcbb Remove '_' from attribute names as Adreno hates them in glBindAttribLocation.
Sigh.

Also remove some logging.
2013-10-08 17:26:33 +02:00
Henrik Rydgård 0ecac31abd Use glBindAttribLocation to simplify shader usage a little. 2013-10-08 17:18:59 +02:00
Henrik Rydgard f645988b8f More precision annotations in shader generators, other microoptimizations 2013-10-07 20:15:00 +02:00
Henrik Rydgard 9dc9c89918 Possible fix to bezier texture coordinate problem reported by CPkmn 2013-09-23 22:02:58 +02:00
Henrik Rydgard 01def3b6cc Missed these 2013-09-21 23:44:11 +02:00
Henrik Rydgard 82e5787bbe Preparation for proper spline/bez: Convert control points to a simple format.
The bezier/spline code will no longer need to handle morph and splines,
when it's finally written. This is done by pre-skinning in software and
pre-decoding to get rid of the morph.
2013-09-21 23:37:14 +02:00
Unknown W. Brackets abe805b62a Prevent a buffer overflow on bad shader. 2013-09-17 08:40:20 -07:00
Unknown W. Brackets ca1168df3c Enable the G3D log on Windows by default. 2013-09-07 13:43:07 -07:00
Henrik Rydgard 8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
Henrik Rydgard 55aa3d13c7 Win32: Switch to a UNICODE build. This took quite a bit of fixing. 2013-08-26 19:00:16 +02:00
Unknown W. Brackets 7f6cf3ec29 Add a few gstate accessors for texture type stuff. 2013-08-24 11:34:37 -07:00
Unknown W. Brackets 12c5f5e1e6 Use constants for other uv gen mode usages.
And also change them to treat 3 as coords as well.
2013-08-19 00:43:54 -07:00
Henrik Rydgard 4d4b2990ec GPU ShaderManager: Naming convention, inline a function 2013-08-10 18:39:27 +02:00
raven02 08a315b7db Fix typo 2013-07-31 02:35:03 +08:00
raven02 271171dbe3 Use getUVGenMode() 2013-07-31 01:44:03 +08:00
raven02 0daa550538 Add getWeightMask() 2013-07-30 23:55:11 +08:00
raven02 50f98fe498 Add texture level parameter 2013-07-30 23:23:02 +08:00
raven02 75c9ce2498 GPUstate :Add getTextureWidth() & getTextureHeight()
and
2013-07-30 23:09:22 +08:00
Unknown W. Brackets b46ab5f5a4 Always defined WIN32_LEAN_AND_MEAN.
Might as well, less mess everywhere else.
2013-07-28 21:04:20 -07:00
Unknown W. Brackets 7b7801d59a Switch to including Windows.h from an intermediate.
This makes it easier for Xbox which uses a separate header.
2013-07-28 21:04:19 -07:00
Henrik Rydgard 50a2d1b87f More work on prescaled UV 2013-07-28 00:33:51 +02:00
Henrik Rydgard 8602c276ca Remove that silly factor 2 for floating point texcoords and weights.
No longer needed since we treat the various vertex formats separately.
2013-07-27 22:14:34 +02:00
Henrik Rydgard e36e976877 Collapse skinning shaders with #bones < 4 to a single one.
Significant perf win for skinned characters in FF:CC and maybe other games.
2013-07-27 20:09:22 +02:00
Henrik Rydgard bccfd9f2d7 Don't set the projection matrix twice, check for -1 bone matrices (seen in logs..) 2013-07-27 17:32:24 +02:00
Unknown W. Brackets abd9dc6137 Use the light computation/type GE accessors. 2013-07-21 19:44:30 -07:00
Unknown W. Brackets 988614f6d0 Use lightning GE state accessors where appropriate. 2013-07-21 19:44:30 -07:00
Unknown W. Brackets c0da6b97c5 Add and use some color/alpha test accessors. 2013-07-21 19:44:30 -07:00
raven02 7ac496529b Vendor Based Alpha and Color Testing 2013-07-21 01:14:36 +08:00
Henrik Rydgard 3e24949f8a Try different approach to rounding the inputs to the alpha test. Appears to fix some problems on PowerVR. 2013-07-17 23:03:21 +02:00
Henrik Rydgard 81411a74ed Experimental: Make orientation change possible on Android. 2013-07-16 22:51:25 +02:00
Henrik Rydgard bf1e07661a Cheap HW transform solution for raven02's texture scaling fix. 2013-07-10 01:23:35 +02:00
Unknown W. Brackets 9608067ca2 Cleanup initialization order. 2013-07-07 20:31:04 -07:00
Unknown W. Brackets 386d51081c Optimize linked shader lookup in ApplyShader().
We already iterate all (skipping that with an if helps, though), and the
list of shaders in most games is pretty small.  Using a map is not gaining
much, and actually makes the whole thing slower.

Cuts from 9.84% time in Tales of Phantasia X (lots of flushes) to 1.85%.
2013-06-30 20:33:50 -07:00
Henrik Rydgard 8aca797f21 Fix silly light direction math bug (probably no effect mostly). 2013-06-24 20:48:31 +02:00
Henrik Rydgard 916184d2f4 Optimize the most common light type, directional, by doing the normalization beforehand. May shorten some shaders below Mali's limit with luck. 2013-06-20 23:30:21 +02:00
Henrik Rydgard e7097ca95a Fall back to software transform when hardware transform fails. Should help Mali devices.
This is done per shader so the speed hit should not be as bad as turning hw transform off entirely.
Displays a red error at the top of the screen so that we don't trigger this accidentally.
2013-06-06 10:09:37 +02:00
raven02 a945cf0e13 Fix incorrect texture in Dragon Ball Z Shin Budokai 2 2013-05-31 23:00:35 +08:00
Henrik Rydgard 2d8632cd7a Remove texture coordinate difference between HW and SW transform. Partly fixes #1963 2013-05-30 13:37:18 +02:00
Henrik Rydgard cdef31f9fc Turn off the use of uniform arrays in shaders as some devices don't like them, and the speedup seems to be very small if any. 2013-05-26 14:03:02 +02:00
Henrik Rydgard 9af5499b21 Optimize bone matrix updates. 2013-05-18 21:18:45 +02:00
Henrik Rydgard 1b210fab14 Use arrays and for loops in GLSL shaders for bone processing, to shrink the shaders which are becoming too big for some mobile GPUs. Might fix #1816. 2013-05-18 20:45:52 +02:00