Commit Graph

763 Commits

Author SHA1 Message Date
twinaphex 52d7ac54ec (GL) Refactors pt. 2 2014-10-01 19:34:55 +02:00
twinaphex e7e43a5c59 (GL) Refactors pt. 1 2014-10-01 18:23:02 +02:00
twinaphex a0dabeb4ac (GL) Optimization to gl_copy_frame 2014-10-01 17:15:02 +02:00
twinaphex d982350702 (GL) Cleanups/refactoring 2014-10-01 16:59:43 +02:00
Twinaphex 807818d4c6 (Apple) Reimplement input - get rid of g_current_input_data global
and instead initialize driver.input_data
2014-09-30 15:44:40 +02:00
twinaphex 00e605d9ba Take out MODE_MENu - and introduce g_extern.is_menu 2014-09-25 06:33:28 +02:00
twinaphex 395e2ed756 Add "Force-disable sRGB FBO" option for buggy Intel OpenGL drivers
on Windows - should hopefully fix messed up colors with it enabled (untested)
2014-09-21 05:23:51 +02:00
twinaphex a752db392f Revert "Do life cycle state checking outside of graphics driver for"
This reverts commit 06bea05634.
2014-09-14 07:53:18 +02:00
twinaphex 06bea05634 Do life cycle state checking outside of graphics driver for
menu display driver's 'frame' function
2014-09-14 06:02:05 +02:00
twinaphex 259d75fa6e (GLUI) Fix Savestate load/save and resume 2014-09-14 05:57:53 +02:00
Lioncash 3912b3fee4 retroarch_logger: Append the calling function name to the log message.
Makes tracing back a little easier.
2014-09-13 20:02:53 -04:00
Lioncash 085a74d33f gl: Silence a possible null dereference warning 2014-09-12 22:41:30 -04:00
Lioncash 64272ef327 Squash some more potential null pointer dereferences 2014-09-11 23:04:02 -04:00
twinaphex 75d2e13dcb Make drivers non-const 2014-09-11 07:06:20 +02:00
twinaphex 09668a06a0 Begin implementing every function in video/audio/input driver
interfaces so we don't have to do lookups everywhere before
calling them
2014-09-09 06:07:11 +02:00
Lioncash 7b98632b18 gl: Remove dead code 2014-09-08 19:47:47 -04:00
Mike Robinson d7cd930d40 Avoid flicker during BFI and slow-motion or pause 2014-08-31 11:05:09 +01:00
Mike Robinson 3f8f4a85ee Show image frame before BFI black frame
Image frame should be shown as soon as possible to minimize display
latency.
2014-08-28 17:57:02 +01:00
Mike Robinson 8c79dc972c Disable BFI during fast foward
Fast forward causes ugly flicker when BFI is enabled.
2014-08-27 22:40:19 +01:00
twinaphex 8f0509fa29 (GL) Fix build in case HAVE_FBO is not defined 2014-08-25 01:39:48 +02:00
twinaphex fcbbf08109 (Recording) Bake in HAVE_RECORD implicitly 2014-08-12 05:28:43 +02:00
twinaphex 78fcd416e7 Take out input_overlay_enable 2014-07-25 18:57:07 +02:00
Themaister 20f37f20e8 De-opaque gl.c. 2014-06-17 17:08:46 +02:00
Themaister 53bc4c08ed Check recording based on g_extern.rec and not g_extern.recording.
Fixes some segfaults where g_extern.recording and g_extern.rec mismatch.
Makes it possible to record without loading content directly from CLI.
2014-06-16 15:50:53 +02:00
Themaister 1e4266f9f8 Fix unused variable warnings. 2014-06-13 18:00:42 +02:00
Themaister 02f2129dd8 Optimize overlay rendering a bit.
Dump all overlay vertex data into one VBO.
2014-06-13 17:47:32 +02:00
twinaphex 5532babfd6 (Overlays) Add explicit overlay_enable option 2014-06-12 22:15:32 +02:00
twinaphex a7cb3e22a7 (Menu) Replace some more RGUI strings 2014-06-10 02:44:19 +02:00
twinaphex 4a4822e187 (Menu) Replace more rgui_ references to menu_ 2014-06-10 02:15:29 +02:00
Themaister d129ff3d13 Make font rendering more robust.
Dynamically sized buffers, etc.
2014-06-08 14:08:26 +02:00
Themaister 54c7521bf8 Drop useless win_width/height arguments to font init. 2014-06-08 14:08:26 +02:00
Themaister e545d695ec Begin big rewrite of GL/raster font rendering path. 2014-06-08 14:08:26 +02:00
Themaister ba40be9099 Use correct arguments if sRGB and GLES3. 2014-06-05 17:41:10 +02:00
Themaister 2094e8fb2f Auto-enable some extensions if GLES3. 2014-06-05 15:17:29 +02:00
TroggleMonkey 7bc8d79cb1 Give float FBO's priority over sRGB FBO's (half-undo commit 48331e82).
sRGB FBO's should be a fallback when both are set to true: sRGB FBO's avoid
banding, but float FBO's also avoid clipping.  Users wanting to avoid both
might prefer float FBO's, but they're not supported on as many platforms,
so sRGB FBO's are the next best thing.  Also make errors more specific and
indent nearby #ifdef/#endif pairs to make them easier to match visually.
2014-05-31 00:55:08 -04:00
twinaphex 6307202a6d (Menu) render_messagebox/render/frame functions from menu_ctx no longer
get a rgui handle passed to them
2014-05-30 21:51:12 +02:00
twinaphex c020f362b6 Remove hacky restart function in video interface 2014-05-30 17:57:21 +02:00
Themaister 01e0fac94f Return gl->quitting.
Quit state might be set just once depending on the context driver.
2014-05-29 10:33:17 +02:00
twinaphex 125a4e3c43 (PS3 Cg) Fixed crash at game start - Cg state was never properly
deinited for PS3 before and we relied on a very dirty hack to set
CgContext to NULL - we can get rid of all that crap now.

PS3 build is now 'fixed' - only thing remaining is that we should
have a mechanism inside the menu to 'reinit' any graphics assets that
were previously set before we lost the state (for instance - RMenu
has one texture image it loads at init_assets time).
2014-05-29 01:36:41 +02:00
twinaphex 4d7a1bd21f (GL) Make driver more resilient in case gl is NULL 2014-05-29 00:43:47 +02:00
twinaphex 5b59b7e267 (GL) Less chance of segfaults if gl is NULL 2014-05-29 00:30:48 +02:00
twinaphex b683feb389 (RARCH_CONSOLE) More cleanups to PS3 input/graphics drivers - don't do
early exit out of graphics/input free functions and ditto for init
function
2014-05-28 23:32:14 +02:00
twinaphex e1387a7b0b Take out image driver 2014-05-28 21:14:33 +02:00
twinaphex 961c1189fd (PSGL) More PSGL ifdefs 2014-05-27 22:27:16 +02:00
twinaphex c5f43963c0 (PS3) Add raw PSGL ifdefs 2014-05-27 22:15:25 +02:00
twinaphex 0ea15de950 (GL) Force fp_fbo to false for PS3 for now 2014-05-27 21:55:54 +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
twinaphex b162329eab (GL) Hoist some more identical lines out of if (stencil) else block 2014-05-22 21:26:57 +02:00
twinaphex 669f59d864 (GL) Take identical line out of if-else blocks 2014-05-22 21:24:38 +02:00
twinaphex d636d4a10a (GL) Add RARCH_GL_MAX_RENDERBUFFER_SIZE 2014-05-22 21:00:17 +02:00
twinaphex 194f90f3f9 (GL) Add custom versions of RARCH_GL_DEPTH_ATTACHMENT and RARCH_GL_STENCIL_ATTACHMENT 2014-05-22 20:58:32 +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 9cbdb708c9 (GL) Turn GL_FRAMEBUFFER into manual define (PSGL needs different
define, so does Mac PPC)
2014-05-22 20:23:02 +02:00
twinaphex f8e40f613b (Input) Move console input drivers to input/ directory - should start getting rid of
all these platform-specific folders cluttering up the codebase tree
(GL) Build fix for PS3 - current MiniGL implementation doesn't support SRGB
(Griffin) shader_common only baked in if HAVE_SHADERS defined
2014-05-13 17:01:27 +02:00
Themaister 38c0777b3c Fix indent. 2014-05-11 22:33:34 +02:00
twinaphex d9e31151ed (Lakka/GL) Take out HAVE_LAKKA hack in gl.c - animations/tweening needs to
be fixed though
2014-05-11 20:47:44 +02:00
Themaister 7559ca12ef Refactor sRGB FBO handling a bit. 2014-05-11 19:35:54 +02:00
Themaister 9d8654cfe2 Nits. 2014-05-11 19:02:01 +02:00
TroggleMonkey 48331e822a Give sRGB FBO's priority over float FBO's:
Both pass through linear RGB similarly, but sRGB should be faster.
If both are enabled, the .cgp author won't need float32-only features like
packing multiple values.  This also makes testing/usage priority the same.
Add sRGB FBO logging to mirror float FBO logging.
Make LUT mipmapping consistent with FBO's (ignore it for magnification.)
2014-05-11 11:53:09 -04:00
Themaister a0da1f040f Check GLES with GL_FRAMEBUFFER_SRGB. 2014-05-11 14:57:35 +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
twinaphex 0d2752a276 Add driver.menu-ctx->frame triggering inside gl_frame function -
Lakka GL iteration should be invoked here instead of the ifdef.

Currently delta animation goes way too slow if 'frame' function of
lakka driver is hooked up properly - hence the #LAKKA hack is still
in place.
2014-05-09 22:44:40 +02:00
Themaister ef2037abe8 Remove float FBO for GLES.
The extension doesn't work as a rendertarget anyways.
2014-05-09 16:38:56 +02:00
Jean-André Santoni 7dda9f0b00 Lakka menu display and icons 2014-05-08 01:12:51 +07:00
Themaister 583514ae95 Add support for GLES 3.1+. 2014-05-03 15:21:14 +02:00
twinaphex ba46770f3c Rework frontend.c and make it possible to compile without HAVE_MENU
defined again
2014-04-30 04:00:39 +02:00
Themaister e9161f67fe Avoid reading back random RGUI frames in async recording. 2014-04-27 10:40:24 +02:00
Themaister 09d7155c7a Fix GL_DEBUG for GLES. 2014-04-21 14:46:59 +02:00
Themaister 80a12ae1d6 Don't create PBO scaler if not needed. 2014-04-19 17:27:49 +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 1cbb47229a Make video_shared_context an option.
Might be part of libretro API later if necessary. Must be discussed with
other frontend developers first.
2014-04-19 16:37:39 +02:00
Themaister 105872a42c Add HW context support to X/EGL and KMS/EGL. 2014-04-19 16:06:25 +02:00
Themaister f658112756 Add experimental support for separate HW contexts. 2014-04-19 15:37:00 +02:00
Themaister f8d065eeb6 [HW render] set known blending equation. 2014-04-17 15:32:36 +02:00
Themaister d941f70dff Should fix build on Pi. 2014-03-15 14:16:29 +01:00
Themaister d0302c9800 Begin adding opaque interface to gfx_context. 2014-03-09 16:50:18 +01:00
twinaphex 39c1ec4672 Pass data param to more shader functions 2014-03-07 05:51:56 +01:00
twinaphex 091ae18870 (GL) Fixup params to shader->init 2014-03-07 05:32:17 +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 fcf30143b4 (PS3) Change HAVE_RGL to HAVE_GCMGL 2014-02-25 22:01:46 +01:00
twinaphex fd7f4d45cd Move image files to gfx/image/ 2014-02-25 21:24:15 +01:00
twinaphex c42a00a39f (OSX PPC) Change anonymous unions, define GLint64/GLuint64/GLsync
for Leopard and Snow Leopard, other changes..
2014-02-11 16:07:00 +11:00
Themaister 94a0cef1d4 Fix libretro GL core screenshots. 2014-02-06 23:37:06 +01:00
Themaister 8120198ed8 Make C++ compiler happy. 2014-02-06 22:52:48 +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
Themaister 8c9e1a5f5c Fix some unused function warnings.
Clang 3.4 is more aggressive on this.
2014-01-22 16:39:39 +01:00
twinaphex f23e41bd17 Safety checks for accessing video_poke function pointers 2014-01-08 19:42:42 +01:00
Themaister 33d50e2010 Check GL_RENDERER for ATI as well. 2014-01-08 18:09:49 +01:00
twinaphex 61218b4a66 (OSX) Get rid of unused variable warning/variable is used before it's initialized 2014-01-06 16:20:20 +01:00
Themaister f2a8a73322 Add workaround for ATI Catalyst's lack of GL_RGB565 support. 2014-01-05 22:29:57 +01:00
Themaister bee70f8318 Fix ifdefs regarding READ_PIXELS. 2014-01-05 22:22:15 +01:00
twinaphex e9ce0aaaa4 (PS3) Custom aspect ratio works now 2014-01-05 18:48:09 +01:00
Themaister 9c218bcf07 Fix unpack row len with 16-bit cores on desktop.
Missed call to UNPACK_ROW_LENGTH :(
2014-01-03 14:42:38 +01:00
Themaister 69b104f9e4 Comment about BGRA8888. 2014-01-01 21:58:02 +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