162 Commits

Author SHA1 Message Date
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
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
79275b28ff Fallback when initial shader init fails. 2013-06-05 10:44:27 +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
b2fba94850 Don't load state tracker if not necessary. 2013-04-16 22:30:28 +02:00
Themaister
2b0697205d Set LUT uniforms for vertex shader as well. 2013-04-16 14:27:24 +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
Themaister
a148abf131 Fix build.
Need to include config.h.
2013-04-13 00:01:28 +02:00
twinaphex
b7ebfa6945 (GL/PS3) Get rid of gl_cg_reinit - no longer needed anymore 2013-04-12 22:19:37 +02:00
twinaphex
a6db35875d (Cg/HLSL) Since everything goes through the shader backend interface now,
we can drop public scope on all the functions and make them static
instead
2013-04-12 21:25:16 +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
c8fa2483bb Fix rotation when using Apply Shader.
load_preset() duped prg[0] too early, before
prg[0].mvp was set. This caused MVP to not be set correctly,
not allowing rotation to work correctly when using pass-through
last shader.
2013-04-10 20:55:48 +02:00
twinaphex
6aadc5f2c2 (Cg) Remove Cg menu shader 2013-04-10 11:28:44 +02:00
Themaister
f88ea04c28 Remove fixed shader index in set_shader. 2013-04-07 13:00:21 +02:00
Themaister
0c0a9b4ddb Fix Win32 build. 2013-04-07 02:02:41 +02:00
twinaphex
142c6335c9 (Cg/PS3) Embed menu shader 2013-04-06 21:05:30 +02:00
Themaister
7a20cfa79c Don't crash if Cg is init with NULL. 2013-04-06 20:50:22 +02:00
twinaphex
9a4ddfd2e0 Forgot a conditional check in shader_cg.c before doing freeing of
menu_cg_program - some other cleanups to do with setting stock
shaders in Cg
2013-04-06 16:29:00 +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
8396f71004 Revert "Don't dump frame_count_mod unless needed."
This reverts commit eeddfea4255959567459080a05496c885e4fde41.
2013-04-06 04:37:05 +02:00
twinaphex
881e7a299d Revert "Don't compile in debug dump."
This reverts commit a5dfbb8a85310ba6efae28a4cce66e2751b5fca0.
2013-04-06 04:36:54 +02:00
twinaphex
2484c4e526 Revert "(Cg) Take out second_pass_shader / FBO functionality - everything"
This reverts commit deeaf981f73e827c5cd97d6639564579024e36e7.
2013-04-06 03:55:17 +02:00
twinaphex
820fcbaa07 Revert "Don't set prg[2] with load_plain()."
This reverts commit a19d1e9776456e8c803e5cc632196869d652de3e.
2013-04-06 03:53:27 +02:00
Themaister
a19d1e9776 Don't set prg[2] with load_plain(). 2013-04-06 00:22:27 +02:00
twinaphex
deeaf981f7 (Cg) Take out second_pass_shader / FBO functionality - everything
will go through CGP files from now on
2013-04-05 23:48:18 +02:00
Themaister
a5dfbb8a85 Don't compile in debug dump. 2013-04-01 15:41:01 +02:00
Themaister
eeddfea425 Don't dump frame_count_mod unless needed. 2013-04-01 15:40:11 +02:00
Themaister
211e17250c Major refactor to CGP parsing.
Adds saving functionality for CGPs.
2013-04-01 15:34:02 +02:00
twinaphex
76ddce84a3 (RGL PS3) Cleanups - we don't need string/enum reporting 2013-03-29 18:58:50 +01:00
twinaphex
426b3a255d Revert "(PS3) Add third-pass shaders (ifdeffed for PS3 for now - could" -
going to do this better

This reverts commit 8b4e6bed938cf3461e8a8ad2b786c9bf96512302.
2013-03-29 01:55:08 +01:00
twinaphex
8b4e6bed93 (PS3) Add third-pass shaders (ifdeffed for PS3 for now - could
be added to PC as well)
2013-03-28 20:59:49 +01:00
twinaphex
986806ca78 (RMenu) RMenu cleanups pt. 2 2013-03-25 18:36:15 +01:00
Themaister
773c511179 Add floating point FBO support. 2013-03-25 16:42:41 +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
Themaister
82a3e373c0 Should set RMENU smooth options correctly. 2013-02-17 01:20:34 +01:00
twinaphex
f4454b004f (Android) Bump up to version r11
(PS3) Get rid of ifndef
2013-02-11 12:34:16 +01:00
twinaphex
5fad427e15 (PS3) Improvement on prevous commit 2013-02-11 00:11:42 +01:00
twinaphex
1734586c24 (PS3) Fixes setting CGP preset file 2013-02-10 22:45:25 +01:00
Themaister
1643b30146 Update Cg shader settings when loading .cgp.
Needed in RMenu as .cgp are treated more like presets.
2013-02-10 21:38:20 +01:00
Themaister
551a464978 Rework index parameter to set_shader(). 2013-01-08 04:08:15 +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
0b4cf2d053 Update license headers to 2013. 2013-01-01 01:41:15 +01:00
Themaister
9b58fac354 Always compile in config file support. 2012-12-23 13:55:59 +01:00
Themaister
b1ea2dcc1e Log vertex/frag profiles used in Cg. 2012-11-18 23:51:38 +01:00
Themaister
86e21686f7 Refactor out buggy 'in-line' path handling. 2012-11-18 17:16:20 +01:00
Themaister
0e729bcaa0 Style nits. 2012-11-15 09:40:31 +01:00