Commit Graph

191 Commits

Author SHA1 Message Date
twinaphex a47c4db5e5 Backport Lioncash - Fix some compile warnings realted to casting 2014-07-23 07:17:31 +02:00
Themaister d129ff3d13 Make font rendering more robust.
Dynamically sized buffers, etc.
2014-06-08 14:08:26 +02:00
Themaister f1db922c26 Add sanity check for Cg/GLSL attrib indices. 2014-05-28 19:30:36 +02:00
Themaister d304907e7f Set up shader defines for aliases. 2014-05-26 18:47:49 +02:00
Themaister dab36b5870 Support aliased pass names from CGP/GLSLP. 2014-05-26 18:47:49 +02:00
Themaister b0e014adc6 Expose currently selected shader via poke interface. 2014-05-26 18:47:49 +02:00
Themaister 83b37812b8 Set parameter uniforms. 2014-05-26 18:47:48 +02:00
Themaister 4722b6af75 Experiment with shader parameters. 2014-05-26 18:47:48 +02:00
Themaister 25e56d8db0 Kill support for XML shaders.
Long overdue ...
2014-05-25 17:16:45 +02:00
Themaister 96c324da08 Avoid needless branch. 2014-05-16 18:11:47 +02:00
Themaister 59c64f9c5a Fix off-by-one error with PASSPREV.
Fix include bug in cg2glsl.py.
2014-05-16 16:17:02 +02:00
Themaister 7559ca12ef Refactor sRGB FBO handling a bit. 2014-05-11 19:35:54 +02:00
Themaister bc8bb13050 Add mipmapping and sRGB FBO support. 2014-05-11 13:39:04 +02:00
twinaphex b2b5c6daec (Image) Put image functions through abstract interface
(Image) Add image_driver to retroarch.cfg to specify image driver to use
(Menu)  Add Image Driver to Drivers section
2014-05-10 20:26:58 +02:00
TroggleMonkey c15d188ecf Refactored duplicate Cg/GLSL LUT texture loading code into shader_common.c.
Fixed a bug where "Apply Shader Changes" in RGUI saved/set the wrong
texture filter for LUT textures.
Unofficially extended Cg shader spec with an LUT mipmap option:
To mipmap LUT "foo," add 'foo_mipmap = "true"' to your .cgp/.glslp file.
Mipmapping is currently implemented for the OpenGL driver only.
2014-05-08 13:41:04 -04:00
Themaister f2c78c36e3 [Android] Add support for GLES3 HW render. 2014-04-14 13:17:05 +02:00
twinaphex 39c1ec4672 Pass data param to more shader functions 2014-03-07 05:51:56 +01:00
twinaphex ea88399281 (XDK D3D) Refactor initing code completely - make it more inline
with PC D3D driver
2014-03-07 05:31:24 +01:00
twinaphex fd7f4d45cd Move image files to gfx/image/ 2014-02-25 21:24:15 +01:00
twinaphex f5321d69c8 (PSGL) Remove psglu.h header include 2014-02-24 17:30:08 +01:00
twinaphex 0a15a17d44 Update years on all license headers 2014-01-01 01:50:59 +01:00
Themaister 0d3428ad15 Add texture_image_free().
Cleans up deinit code for textures.
2013-12-31 19:16:29 +01:00
Themaister 77a62573a2 Fix crash in GLSL when overlays with many textures are used.
Have to call shader->use() for each set_coords or we overflow
the attribs array cached buffer.
2013-12-26 23:34:40 +01:00
Themaister f61a91c2fd Don't call glDetachShader().
Some drivers don't like it.
2013-12-26 02:18:43 +01:00
Themaister f2371cf691 Delete shader objects early instead of late.
Less error prone. Also saves some memory.
2013-12-26 02:16:30 +01:00
Themaister 6d6e964672 Fixup CXX_BUILD.
Cleans lots of sign-related warnings as well.
2013-11-16 17:31:49 +01:00
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