Commit Graph

209 Commits

Author SHA1 Message Date
twinaphex 0a15a17d44 Update years on all license headers 2014-01-01 01:50:59 +01:00
Themaister 46c3dd6d20 Clean up float FBO handling a bit.
Fallback to UNORM if not supported.
2013-12-04 12:55:51 +01:00
twinaphex f8c37fc933 (Menu) Simplify menu preprocessor conditionals - there is now
one common catch-all define called HAVE_MENU
2013-11-08 04:36:47 +01:00
twinaphex bef038e73e (RGL PS3) Optimizations for glBufferSubData 2013-11-02 14:44:13 +01:00
twinaphex 3e914f42b3 (RGL PS3) Optimizations 2013-11-02 03:03:48 +01:00
twinaphex aaa8fc1f37 (GLES2 GL) Query GL_EXT_unpack_subimage and if it's there, use it -
Tegra 4 should support it etc.
2013-10-29 23:21:15 +01:00
Themaister 76c92bb0b4 Rework overlay driver interface.
Takes multiple images, each with individual positions, textures, etc.
2013-10-15 16:06:59 +02:00
twinaphex 48c042d56c (360) More build fixes 2013-09-29 18:04:56 +02:00
ToadKing be08d003c9 [GL] fix OSD messages breaking if one was too long 2013-08-22 23:21:52 -04: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 c19bdc7c2c Kill some stale code. 2013-08-11 01:24:48 +02:00
Themaister 2b28050c15 Build fixups. 2013-08-11 01:16:08 +02:00
Themaister 6b4924c844 Be more conservative about texture memory usage. 2013-08-11 00:56:53 +02:00
Themaister e44249b73f Use glsym symbol loader instead of ugly poking. 2013-08-11 00:54:27 +02:00
Themaister 6df083fc0f Add support for bottom-left origin in libretro GL. 2013-08-11 00:53:46 +02:00
Themaister e28f5d7cc1 Fix incompatibilities with GL core. 2013-08-11 00:50:38 +02:00
Themaister b9fce188ea Initial work on core GL context support. 2013-08-11 00:50:04 +02:00
twinaphex 627c30b10c Take out GRIFFIN macro hacks 2013-07-18 19:54:00 +02:00
Themaister 43a6346d26 Adds video_hard_sync_frames.
Allows to control the maximum amount of frames that can be queued on
GPU.
2013-05-26 13:43:24 +02:00
Themaister 18fd41f77e Avoid Pi hack.
Derp. Was configured to low GPU RAM split ...
2013-05-18 22:10:29 +01:00
Themaister f61cc333e9 Be more explicit about FBO formats.
GLES doesn't support 32-bit FBOs.
They seem to only be exposed via OES_rgb8_rgba8 and ARM_rgba8
extensions.
2013-05-18 21:53:26 +02:00
Themaister 9406b0a771 More explicit logging of FBO errors. 2013-05-18 16:51:10 +01:00
Themaister f5d4008018 Check g_settings.video.hard_sync per frame.
Don't use hard_sync default in RGUI.
2013-05-04 22:49:06 +02:00
Themaister 741ed2cc03 Add experimental video_hard_sync. 2013-05-03 14:04:29 +02:00
Themaister c17714ffbb Add full screen mode to set_texture_enable. 2013-04-13 16:49:25 +02:00
Themaister e389220df8 Refactor frame_counter.
Graphics drivers get the task of updating this.
If threaded driver is used, main thread cannot update the counter
due to race conditions.
2013-04-13 14:28:12 +02:00
twinaphex 33798edb27 Drop most of the unnecessary GL shader wrapper functions/macros -
these were necessary before we made the shader backends
2013-04-13 09:01:25 +02:00
twinaphex db0ff2a212 (RARCH_CONSOLE) Build fixes 2013-04-07 18:03:25 +02:00
Themaister 4cdfcf30d5 Refactor set_rgui_texture.
More generic and avoids poking directly into RGUI state.
2013-04-07 14:07:45 +02:00
twinaphex 1c5144f9bd (RMenu) Move RMenu logic out of graphics driver context files 2013-04-06 17:44:07 +02:00
Themaister e649db253c Reintroduce CGP refactor.
Fix several issues that caused crashes.
2013-04-06 12:00:10 +02:00
twinaphex 0340f2043c Revert "Major refactor to CGP parsing."
This reverts commit 211e17250c.
2013-04-06 04:37:17 +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 52edca883e Drop stencil for now in HW render context.
Doesn't seem to work reliably anyways.
2013-04-02 23:29:26 +02:00
Themaister 211e17250c Major refactor to CGP parsing.
Adds saving functionality for CGPs.
2013-04-01 15:34:02 +02:00
Themaister 50af927de6 Add depth/stencil buffers to HW GL. 2013-03-29 02:50:42 +01:00
Themaister af40f3e9b8 Add initial GL direct rendering test. 2013-03-27 16:15:15 +01:00
Themaister 773c511179 Add floating point FBO support. 2013-03-25 16:42:41 +01:00
twinaphex 15215c47f1 (Grifin) Move griffin to root (to indicate it's no longer console-specific 2013-03-18 05:46:19 +01:00
twinaphex 3bc487be87 Merge branch 'ios' of git://github.com/meancoot/RetroArch 2013-03-15 20:05:15 +01:00
Themaister 63d946c69f Add set_rgui_texture interface to video_poke. 2013-03-10 19:14:28 +01:00
meancoot 9fadca2a54 Merge branch 'master' of https://github.com/Themaister/RetroArch into ios 2013-03-09 20:09:32 -05:00
twinaphex 037edbd247 (360) Build fixes 2013-03-09 01:02:30 +01:00
twinaphex 566a5ebb9c Move FBO enums to gl_common.h 2013-03-06 01:57:30 +01:00
ToadKing d28cb94717 start of RGUI port to Android
currently detects menu button to bring up RGUI, but GL does not draw it
yet and you cannot exit from the (invisible) RGUI menu yet
2013-02-27 20:20:29 -05:00
meancoot a37a19e40d First revision of iOS port. Only tested on simulator thus far. 2013-02-06 10:14:05 -05:00
Themaister eb979732b4 Add alpha modulation to overlays. 2013-01-29 21:51:15 +01:00
Themaister 312980ee30 Add support for full-screen overlays. 2013-01-11 16:23:04 +01:00
twinaphex a6f89670c9 (PS3) No longer needlessly loads RMenu background image three
times in a row
2013-01-06 07:03:17 +01:00
twinaphex 08afcbfa3d (RARCH_CONSOLE) Use void* for param passing type 2013-01-03 03:02:52 +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 4c27922ab7 Don't rotate overlay if game is rotated. 2012-12-24 00:21:42 +01:00
Themaister 35bf5c82c1 Make OVERLAY optional. 2012-12-23 18:39:01 +01:00
Themaister b4cd58afe7 Rework overlays as a video driver interface. 2012-12-20 11:16:22 +01:00
Themaister 5eb7432fff Add overlay rendering to GL.
This allows e.g. Android to render a keypad overlay for touch.
2012-12-19 13:26:11 +01:00
twinaphex 34951c121b (PS3) Use g_extern.draw_menu instead of block_swap 2012-12-18 08:20:44 +01:00
twinaphex dacab094f0 (RMenu) menu_loop renamed into rmenu_iterate - iterates menu code for one frame 2012-12-15 16:40:02 +01:00
Themaister beca1c44f3 Move all font stuff to gfx/fonts.
Rename stuff so griffin doesn't break.
2012-12-15 00:27:30 +01:00
Themaister b239785038 Context-ize GL font rendering. 2012-12-15 00:07:31 +01:00
Themaister 8501c404f6 Fix CXX_BUILD. 2012-12-14 22:33:04 +01:00
Themaister 5700febb2c Refactor font renderering.
Virtualize for multiple backends, and name files more sanely.
2012-12-14 20:25:40 +01:00
twinaphex 707bcd483f (Android) Some patches for RMenu compatibility 2012-12-14 01:29:01 +01:00
notaz ee112fc375 Manually define GL_BGRA_EXT if needed.
It's missing in imgtec/SGX headers for some reason.
2012-12-13 01:00:50 +02:00
Themaister be0223b501 Use gl->conv_buffer instead of extra buffer. 2012-12-08 12:35:10 +01:00
meancoot 95fa37b178 (OpenGL ES) Pack texture rows manually instead of making multiple calls to glTexSubImage2D. 2012-12-07 02:03:17 -05:00
Themaister ca9f5fd1e8 Break really long lines in gl_common. 2012-12-02 10:49:17 +01:00
twinaphex 3f50384a3b (Android/GL) Avoid some function pointers 2012-12-02 03:30:46 +01:00
Themaister aae7bf60e2 Fix build if FFmpeg is not compiled in. 2012-11-23 10:28:22 +01:00
Themaister 7445e891a8 Use INT_8_8_8_8_REV for readbacks.
Allows use of scaler_ctx, also a lot faster on Intel chips, possibly
others as well.
2012-11-21 22:12:56 +01:00
Themaister 6d4d1f8796 Use asynchronous PBO readbacks when recording.
This *greatly* optimizes GPU recording performance
by making readbacks asynchronous in GL.
This is only enabled for desktop GL and when recording is enabled.
2012-11-21 16:24:28 +01:00
Themaister 28bb46483c Drop video_force_16bit.
This option is silly now.
2012-11-20 23:23:18 +01:00
twinaphex 3bdfb3a011 (PS3/XDK) Get rid of redundant apply_fbo_state_changes function 2012-11-19 00:01:55 +01:00
Themaister f898709b1c Remove useless variable. 2012-11-18 21:34:34 +01:00
Themaister 99326a332d Use correct internal format on PS3. 2012-11-18 18:23:20 +01:00
Themaister 3e77039a42 Rewrite how gl.c interfaces with shader backends. 2012-11-14 22:51:08 +01:00
twinaphex 71f71c909d (Android) Implement macro override calls for Android - for bypassing
several layers of function call indirection
2012-11-03 10:18:08 +01:00
twinaphex a3c14626a4 (GL) Use macro defines for context functions - will override this for
Griffin targets in order to avoid function pinter
2012-11-03 09:18:31 +01:00
Themaister 1908a81e1c Add RETRO_DEVICE_POINTER.
Implemented only for X11 so far.

Also clears up viewport_size call.
Changed to viewport_info to also grab X/Y info.
2012-10-28 00:38:31 +02:00
Themaister e53dd431b4 Begin merging D3D9 driver. 2012-10-26 22:18:26 +02:00
ToadKing 409a482dc5 Add viewport screenshot support to GLES 2012-10-22 19:03:57 -04:00
twinaphex 9bc0f382ab (PS3/RMenu) refactored HAVE_CG_MENU out of existence - now
replaced with HAVE_RMENU - menu code has been moved over to
PS3 context file
2012-10-22 06:12:12 +02:00
twinaphex f37095e994 (PS3) 16bit textures work correctly now - the 'blending' done
on consoles (PS3/Wii) for the ingame menu needs to be done in
software rendering - will also help with RMenu for PC
2012-10-22 03:56:28 +02:00
Themaister 2145d1c4e2 Use RGB565 in VC context. 2012-10-20 21:55:58 +01:00
Themaister cc4e41dafb Merge branch 'master' into rgb565
Conflicts:
	gfx/gl.c
2012-10-20 11:31:38 +02:00
Toad King c7dad59402 Add EGLImage support to GL driver.
On videocore, uploading image textures using OpenVG instead of OpenGL ES saves us about 4.5 milliseconds per frame.
2012-10-19 23:08:53 -04:00
Themaister 93078889cc Begin reworking RGB565 as default pixel format. 2012-10-20 01:12:02 +02:00
Themaister 6d3c12b9bd Use HAVE_GLSL instead of HAVE_XML.
Replace where it makes sense.
2012-10-16 19:43:05 +02:00
twinaphex 9a38d021c2 Rename confusing 'driver' member to 'ctx_driver' in gl struct 2012-10-09 17:47:48 +02:00
Themaister e351dcc59c Should allow fast path for PS3 on glTexImage2D. 2012-10-02 20:16:55 +02:00
Themaister 5b0525d2e2 Drop HAVE_PBO. Use custom conversion routines.
Measured custom 15->32 conversion to be up to 10x faster on my setup.
2012-10-02 01:04:47 +02:00
Themaister 5688f939a7 Use GL_BGRA_EXT on GLES. 2012-09-29 20:06:48 +02:00
TwinAphex51224 accbb57e10 (PS3) Set NO_GL_FF_VERTEX for PSGL-based builds 2012-09-25 04:07:36 +02:00
Themaister d0e220bbf1 Refactor all GL context handling code. 2012-09-25 01:37:23 +02:00
Themaister b2316efe05 No GLES2 extensions are used. Drop header include. 2012-09-16 01:29:45 +02:00
Themaister 759a4c811d Use GL_LUMINANCE_ALPHA for fonts. 2012-09-15 23:15:19 +02:00
Themaister ff60bcb5e5 Add experimental X/EGL support. 2012-09-15 15:17:34 +02:00
Twinaphex 3c8b967008 (GL) Make EGL context file - have PSL1GHT build use eglGetProcAddress
- doesn't currently link
2012-09-14 11:07:50 +02:00
Themaister 4c99652a60 Rework attribute and MVP passing in GL. 2012-09-11 23:32:00 +02:00
Themaister 6f28393c11 Refactor extension handling slightly. Allow a path without GL_UNPACK_ROW_LENGTH. 2012-09-11 12:34:20 +02:00