165 Commits

Author SHA1 Message Date
twinaphex
d2c87e3039 Convert most C99-style for loop initial declarations to C89-compliant
ones
2013-10-22 15:08:17 +02:00
Themaister
551fd27204 Add support for wrapping modes.
Not terribly useful atm due to POT, but at least it's there.
Has some use mostly with LUTs ... NPOT + REPEAT requires extension on
GLES2 at least.
2013-08-16 00:30:54 +02:00
Themaister
6b4924c844 Be more conservative about texture memory usage. 2013-08-11 00:56:53 +02:00
Themaister
911558462a Use core blend correctly when using core context. 2013-08-11 00:56:00 +02:00
Themaister
c71777f5ec Clear out uniform struct and use stock shader. 2013-08-11 00:56:00 +02:00
Themaister
5045fc4a4f Fix GLSL regression. 2013-08-11 00:56:00 +02:00
Themaister
b292caf92b Experimental support for PassPrev/PASSPREV.
Allows to access passes in a "negative index"
way. Helps stitching together multipass shaders from
other multipass shaders.

Also adds new, cleaner symbols, IN.mvp_matrix, IN.tex_coord, etc.
2013-08-11 00:56:00 +02:00
Themaister
60b7d633a1 Don't append #version if it's already done. 2013-08-11 00:55:05 +02:00
Themaister
318b26cc0d Fix Android build. 2013-08-11 00:55:05 +02:00
Themaister
e44249b73f Use glsym symbol loader instead of ugly poking. 2013-08-11 00:54:27 +02:00
Themaister
805e623779 Use 3.1 in libretro-test-gl when CORE is used. 2013-08-11 00:53:46 +02:00
Themaister
e5abd138ea More fixes to core context. 2013-08-11 00:53:46 +02:00
Themaister
79275b28ff Fallback when initial shader init fails. 2013-06-05 10:44:27 +02:00
Themaister
b4b83cdf41 Use VBOs in GLSL.
Future proof a bit as future GL versions
require use of VBOs. Also avoids spamming client-side
data to GL all the time.

VAOs are not used, but that is only relevant if we actually
create a GL3+ context.
2013-05-21 10:44:25 +02:00
Themaister
9406b0a771 More explicit logging of FBO errors. 2013-05-18 16:51:10 +01:00
Themaister
6dd7ea935e Add GL_SHADER_STOCK_BLEND.
Replace stock shader with a special shader which does not apply color.
This is a necessary on Android.
2013-04-20 15:46:50 +02:00
Themaister
2c8ddeb109 Add gfx_shader_resolve_relative.
Translates relative paths (from CGP) into absolute paths,
suitable for loading files, and saving cgp some place else.
2013-04-15 23:48:25 +02:00
twinaphex
142c3b8892 (GLSL) Same deal here - go through backend interface for functions
and drop public scope for functions
2013-04-12 22:07:17 +02:00
Themaister
1e9e703375 Add support for CGP/GLSL.
Serves to unify shader support across the board
on platforms which cannot use Cg (EGL, GLES).
Spec is exactly the same as CGP except that extension is
.glslp. Expected extension on individual shaders are .glsl.
2013-04-10 22:38:45 +02:00
Themaister
f88ea04c28 Remove fixed shader index in set_shader. 2013-04-07 13:00:21 +02:00
Themaister
0d1c3097e3 Drop glsl_modern global. 2013-04-07 12:51:26 +02:00
Themaister
50c184042e Rewrite XML shader loading.
Use gfx_shader abstraction.
2013-04-07 12:41:05 +02:00
Themaister
e649db253c Reintroduce CGP refactor.
Fix several issues that caused crashes.
2013-04-06 12:00:10 +02:00
twinaphex
eb0feac9e3 (PS3/All) Purge fixed-style shaders again - this time avoiding
breakage on PS3. Maister -you will need to redo shader_parse.c
again though - and this time I need to test it on PS3 to avoid
a regression that happened two pages prior again
2013-04-06 05:46:09 +02:00
twinaphex
0340f2043c Revert "Major refactor to CGP parsing."
This reverts commit 211e17250c5a786861373cd8d4d9e7ba1780ee8b.
2013-04-06 04:37:17 +02:00
twinaphex
58b6de008b Revert "Purge fixed-style second_pass_shader."
This reverts commit 160bbf021848493ffc6dd7749e108901b83ae65a.
2013-04-06 03:54:38 +02:00
Themaister
160bbf0218 Purge fixed-style second_pass_shader. 2013-04-06 00:03:28 +02:00
Themaister
262b867ae0 Update MSVC2010 build.
Add RGUI, add folder query for Windows, fix GL HW render bug.
2013-04-04 20:25:41 +02:00
Themaister
d550a263ae Merge branch 'cgp-refactor' of github.com:Themaister/RetroArch into cgp-refactor 2013-04-03 21:09:03 +02:00
Themaister
248e3ddfe6 Deprecate "ruby" prefix and legacy XML shaders. 2013-04-02 23:14:14 +02:00
Themaister
211e17250c Major refactor to CGP parsing.
Adds saving functionality for CGPs.
2013-04-01 15:34:02 +02:00
Themaister
773c511179 Add floating point FBO support. 2013-03-25 16:42:41 +01:00
Themaister
e326db8fb5 Drop debugging log. 2013-03-25 15:08:12 +01:00
Themaister
a8dd5da5bb Add frame_count_mod to XML and Cg shaders.
Allows frame count shaders to avoid floating point inaccuracies
when frame count gets large. Avoids having to mod manually in shader.
2013-03-25 14:47:33 +01:00
meancoot
a37a19e40d First revision of iOS port. Only tested on simulator thus far. 2013-02-06 10:14:05 -05:00
Themaister
551a464978 Rework index parameter to set_shader(). 2013-01-08 04:08:15 +01:00
twinaphex
085a90d018 Get rid of RARCH_GPU_PERFORMANCE_MODE 2013-01-04 21:32:22 +01:00
Themaister
e9cfb95900 Add fallback path for RGBA.
This is necessary for GLES devices which do not support BGRA_EXT.
2013-01-03 01:20:35 +01:00
Themaister
276b588217 Add custom xml parser. Use as fallback. 2013-01-02 15:18:42 +01:00
Themaister
0b4cf2d053 Update license headers to 2013. 2013-01-01 01:41:15 +01:00
twinaphex
707bcd483f (Android) Some patches for RMenu compatibility 2012-12-14 01:29:01 +01:00
Themaister
e5acc803e9 Fix Python state tracker. 2012-11-18 21:23:34 +01:00
Themaister
fd58a38ff2 Greatly refactor XML code juggling in shader_glsl. 2012-11-18 19:40:18 +01:00
Themaister
c9c1404d70 Add support for loading GLSL sources externally. 2012-11-18 17:39:39 +01:00
Themaister
86e21686f7 Refactor out buggy 'in-line' path handling. 2012-11-18 17:16:20 +01:00
Themaister
3e77039a42 Rewrite how gl.c interfaces with shader backends. 2012-11-14 22:51:08 +01:00
twinaphex
e0e5e8cb1b (Android GLSL) MAX_PROGRAMS 8 instead of 16, MAX_TEXTURES 4 instead
of 8, PREV_TEXTURES 3 instead of 7
2012-11-03 09:35:18 +01:00
Themaister
461cf0fef3 Pre-cache uniform locations in GLSL. 2012-10-21 03:05:10 +02:00
Themaister
93078889cc Begin reworking RGB565 as default pixel format. 2012-10-20 01:12:02 +02:00
twinaphex
be1abb6f38 (Android) Runs now - note - we might want to refactor HAVE_XML ifdefs
to HAVE_GLSL since I currently don't have HAVE_XML defined for
Android NDK
2012-10-16 15:38:25 +02:00