Commit Graph

225 Commits

Author SHA1 Message Date
twinaphex 7378f21a36 (OSX PPC) Add _EXT versions of GL_RENDERBUFFER and GL_DEPTH24_STENCIL8 2014-05-22 20:45:41 +02:00
twinaphex 9fd55c301c (GL) Define RARCH_GL_RENDERBUFFER and RARCH_GL_DEPTH24_STENCIL8 2014-05-22 20:44:33 +02:00
twinaphex 2eea12e17e COLOR_ATTACHMENT_0 and GL_FRAMEBUFFER_COMPLETE are defined differently
for PSGL and OSX PPC as well
2014-05-22 20:32:51 +02:00
twinaphex 6c87c2494c (OSX PPC) Add OSX PPC define 2014-05-22 20:30:21 +02:00
twinaphex 9cbdb708c9 (GL) Turn GL_FRAMEBUFFER into manual define (PSGL needs different
define, so does Mac PPC)
2014-05-22 20:23:02 +02:00
Themaister bc8bb13050 Add mipmapping and sRGB FBO support. 2014-05-11 13:39:04 +02:00
twinaphex 08965cfa0d Change HAVE_FFMPEG ifdefs into HAVE_RECORD - recording will get
a proper interface soon so there can be multiple implementations
instead of just ffmpeg
2014-05-03 00:21:07 +02:00
Themaister e9161f67fe Avoid reading back random RGUI frames in async recording. 2014-04-27 10:40:24 +02:00
Themaister c39d27fd8d Add async readback to GLES3.
Have support for PBOs and glMapBufferRange.
2014-04-19 17:22:25 +02:00
Themaister 095718c855 Only bind shared context if necessary. 2014-04-19 16:59:26 +02:00
Themaister f658112756 Add experimental support for separate HW contexts. 2014-04-19 15:37:00 +02:00
Themaister d0302c9800 Begin adding opaque interface to gfx_context. 2014-03-09 16:50:18 +01:00
twinaphex fcf30143b4 (PS3) Change HAVE_RGL to HAVE_GCMGL 2014-02-25 22:01:46 +01:00
Themaister 032ba14d3b Properly implement GPU screenshot for GLES.
Have to use GL_RGBA/GL_UNSIGNED_BYTE as well as reading from back buffer
only.
2014-02-06 21:35:57 +01:00
twinaphex e9ce0aaaa4 (PS3) Custom aspect ratio works now 2014-01-05 18:48:09 +01:00
Themaister 08ba1ad14e Use GL_RGB565 internal format when available.
This is a feature from ES2_compat extension.
It fixes the speed issue associated with using 16-bit textures on
desktop GL. Improves performance a bit as well as there's less bandwidth
usage during shading.

On my HD3000 laptop, performance improved with ~10%.
2014-01-01 21:58:02 +01:00
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