Commit Graph
105 Commits
Author SHA1 Message Date
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
Unknown W. Brackets 03f3f99e39 Don't use ivec in the fragment shader.
Attempt at #1777.  Needs the + 0.5 to round properly on mobile.
2013-05-12 13:09:02 -07:00
Henrik Rydgård b3355b2f7c Mac build fix. Rename WindowZoom ini parameter to force-reset it as it
should always be 1 on Android for now.
2013-05-07 23:28:19 +02:00
Unknown W. Brackets f2b4c4a0bc Pre-round the colortest/alphatest reference val. 2013-05-07 07:52:49 -07:00
Henrik Rydgard c04ce5a64e Implement projective texture mapping. It's not used a great deal but good to have. 2013-04-17 21:41:47 +02:00
BeaR fa3a1fbd52 Add support for spotlights 2013-04-09 18:26:06 +02:00
Henrik Rydgard 5427f20b90 Don't "DirtyShader" at the end of frame, instead just "stop". Fixes issues caused by vertex arrays left enabled still hanging around. 2013-04-07 23:31:04 +02:00
Unknown W. Brackets afbde31b42 Add some OpenGL related reporting errors. 2013-03-24 09:45:43 -07:00
Henrik Rydgard b1108f3290 Respect the size of the current FBO when drawing. Some cleanup. 2013-03-16 00:40:37 +01:00
Henrik Rydgard bc15617392 Make un-buffered rendering much smarter, removing flicker.
This turns it into a very viable option for many games. You do lose some FX
but it can as a result even be used as a workaround for the massive glow
in Wipeout...
2013-03-03 13:00:21 +01:00
raven02 d99ca71a47 Add u_colormask and use it in enableColorTest 2013-02-25 05:45:35 +08:00
Henrik Rydgard 28979e9250 Some work toward better FBO handling. Fixes some things, breaks some things.. 2013-02-21 21:37:19 +01:00
Henrik Rydgard eb130db387 Fix sign of depth in "Through" projection matrix. Thanks xele02. Fixes ToE, Dissidia, etc. 2013-02-20 00:13:18 +01:00
Henrik Rydgard 2301a3b49e Flip texcoord vertically when texturing from FBO to compensate for OpenGL coordinate systems 2013-02-15 00:31:39 +01:00
Henrik Rydgard 36f49706e0 Add option to stretch to display (turns off the black bars fixing the aspect ratio). 2013-02-13 18:21:21 +01:00
Unknown W. Brackets 3503d4ed68 Clear the shader ids when clearing the cache. 2013-02-13 02:10:51 -08:00
Henrik Rydgard 6b3ddae554 Fix UV error introduced in previous commit 2013-02-06 21:38:19 +01:00
Henrik Rydgard aaf00e047b Don't convert texcoords to float either. 2013-02-06 20:30:10 +01:00
Henrik Rydgard bdc467769e Some shader and vertex format optimizations 2013-02-05 01:37:00 +01:00
Henrik Rydgard bf51291527 Don't translate bone weights to floats unnecessarily. Minor optimization to ApplyShader, pushing it down the profile from 2% to 0.5% in Wipeout. 2013-02-04 23:10:40 +01:00
Henrik Rydgard e04f5156ee Fix a few graphics issues, optimize shader ID generation (fewer shaders) 2013-01-22 22:03:41 +01:00
Henrik Rydgard 1b1a275dcc GPU "dirty" optimization, wip vertexcache 2013-01-20 13:15:46 +01:00
Henrik Rydgard 7271e3fcd5 Fix fog and stencil buffer clearing. The latter fixes the sky in MotoGP. 2013-01-14 20:44:11 +01:00
Henrik Rydgard 03eacd1af3 Save 16K. 2013-01-07 13:00:28 +01:00
Henrik Rydgard a1bf5a2a10 Save on gl[Enable/Disable]VertexAttribArray calls. 2013-01-06 23:50:05 +01:00
Henrik Rydgard d663e28bde More work and optimization. Still not quite there. 2012-12-21 21:49:09 +01:00
Henrik Rydgard 4c23d668e1 Cleanup and reorganize gpu code a little 2012-12-21 16:50:14 +01:00
Henrik Rydgard 4bf2e52623 HW transform: Avoid 4x3 matrices for GLES 2.0 compat. Add option to turn hw transform on. 2012-12-21 11:08:54 +01:00
Henrik Rydgard 79bd4e3d41 Lighting fixes (sw + hw) 2012-12-20 23:28:58 +01:00
Henrik Rydgard c3b778daab More work on hw transform. 2012-12-20 18:31:21 +01:00
Henrik Rydgard 4f376a2c34 Hardware vertex transform, preliminary and optional. No lighting yet. Disabled until it works right... 2012-12-20 15:07:58 +01:00
Henrik Rydgard b8d596cbec Add some infrastructure for flexible vertex formats 2012-12-19 18:35:37 +01:00
Henrik Rydgard 4046146164 Add experimental wireframe mode for debugging. Fix texenv color. Code cleanup. 2012-12-19 15:14:41 +01:00
Henrik Rydgård a0d8017c22 Fix for previous commit 2012-12-05 11:13:36 +07:00
Henrik Rydgård 700921deb3 Fix rendering on MacOSX (shader compiler very fussy...). Minor prep for hw transform. 2012-12-05 10:55:06 +07:00
Henrik Rydgard 980d13fe50 Assorted GPU fixes: Advance vertex pointer, fixes missing triangles in SPT. More logging. Separate proj matrices for through and normal mode (through matrix don't need to get updated as often). Some cleanup. 2012-11-28 13:45:22 +01:00
Henrik Rydgard 2822ce2737 Temporarily disable most of the viewport code as it broke some games. Kept the flip detection. 2012-11-26 20:38:26 +01:00