Commit Graph

205 Commits

Author SHA1 Message Date
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
Twinaphex
079585d428 (GL) Clean up ifdefs - cut down on them (PS3 now uses HAVE_PSGL,
PSL1GHT now uses HAVE_OPENGL_MODERN)
2012-09-11 09:55:03 +02:00
Themaister
756f8fb3db Cleanup PBO handling. Makes it optional via ./configure. 2012-09-10 23:17:48 +02:00
Themaister
9871b8d56f Add preliminary PBO mode for GL. (GLES). 2012-09-10 11:15:48 +02:00
Twinaphex
61b0811501 (Android/GLES) Add HAVE_OPENGLES defines to gl.c - remaining stuff todo -
GL_QUADS not supported on GLES - GL_UNPACK_ROW_LENGTH/GL_PACK_ROW_LENGTH
not supported on GLES without extensions - all client state array
stuff unsupported -
- Query extensions and see if GL_UNPACK_ROW_LENGTH and GL_PACK_ROW_LENGTH
are available (on Tegra SOCs they should)
2012-09-10 00:39:26 +02:00