Commit Graph

209 Commits

Author SHA1 Message Date
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
Themaister 8198927260 Fixup build on Win32. 2012-08-16 10:09:44 +02:00
Themaister 447412c6df Abstract all use of *Pointer() functions to one point. 2012-08-14 23:32:55 +02:00
Themaister a283a54bee Use calculated MVP directly in shader params. 2012-08-09 23:21:59 +02:00
Twinaphex 90c6e9d069 (PSLIGHT) Compile with HAVE_XML and include libxml2 lib 2012-07-01 23:09:34 +02:00
Twinaphex 2ec2b70a72 (PSL1GHT) Add some GL ES 2.0 hooks 2012-07-01 22:44:33 +02:00
Twinaphex 0490e80fb2 (PSL1GHT) Add some ifdef includes 2012-07-01 22:20:59 +02:00
Themaister 613c86be68 Drop useless gl error check. 2012-06-19 23:49:10 +02:00
Twinaphex 4dbfbbfe7f (Android) Preliminary NDK Makefile for compiling retroarch as a
shared library - we will need a separate gles driver
2012-06-19 23:34:19 +02:00
Themaister a0b9e6b55e Fix screenshot crashes. 2012-06-10 11:10:14 +02:00
Themaister 19f0c04021 Add screenshot support from backbuffer. 2012-06-08 22:39:18 +02:00
Twinaphex ec63eb6434 Refactored some code - added 5x scale 2012-06-05 18:11:42 +02:00
Themaister 2d3fed35e7 Avoid ugly #undefs. 2012-05-27 23:33:52 +02:00
Themaister 4e9a5a5360 DOS retardations creep in. 2012-05-27 23:30:00 +02:00
Themaister 72310b6661 Style nit party. 2012-05-27 23:15:02 +02:00
Twinaphex b6131dfcd7 (PS3) PS3 now uses gl.c - ps3_video_psgl.c removed 2012-05-27 22:39:29 +02:00
Twinaphex 1a4c122310 (PS3) Don't use custom type macros in ps3_video_psgl.c anymore 2012-05-27 18:46:20 +02:00
Twinaphex dfb5678ce1 (PS3) Put menu rendering code in gl_frame 2012-05-27 17:03:43 +02:00
Twinaphex d72751956e (PS3) Implement gfx_ctx_swap_buffers 2012-05-27 16:23:01 +02:00
Themaister e1a3bf48fd Use correlating ifdef. 2012-05-27 12:38:07 +02:00
Themaister 8e17f8695e Remove unneeded pre/post calls. 2012-05-27 12:26:43 +02:00
Themaister ca0a5b9f76 Move font stuff to gfx/fonts. 2012-05-27 02:04:50 +02:00
Themaister 9e50b0a8bb Make GL texture types more generic. 2012-05-26 16:29:22 +02:00
Twinaphex 6000bd33e9 (PS3) Cleaned up ps3_video_psgl.c code - added some PS3-specific
ifdefs to gl.c
2012-05-26 15:45:36 +02:00
Themaister 9040e3348f Delete unneeded prototype. 2012-05-26 15:36:42 +02:00
Themaister a10a5badcc Move font code to gl_font. 2012-05-26 15:22:48 +02:00
Twinaphex 6583d8262b Add gl_common.c and move commonly used helper GL functions there 2012-05-26 06:45:55 +02:00
Themaister ce740f8948 More fixups. 2012-04-21 23:31:57 +02:00
Themaister aab8fb6151 ssnes_* => rarch_*. 2012-04-21 23:25:32 +02:00
Themaister 9ab51ad23a SSNES => RetroArch. 2012-04-21 23:17:43 +02:00
Themaister e3a71a8c5b Fixup headers. 2012-04-09 22:05:26 +02:00
Themaister 62c96ea937 Change license header. 2012-04-09 22:03:57 +02:00
Themaister 9698cd7dbd Change headers. 2012-04-09 22:03:57 +02:00
Themaister b50ddfc87a Fix some static analyzer warnings. 2012-02-27 17:29:59 +01:00
Themaister b4248038fb Update license headers. 2012-01-08 01:12:05 +01:00
Themaister 672102d377 Change asserts to ssnes_assert(). 2011-12-25 12:47:47 +01:00
Themaister 33a325a730 Nit. 2011-12-07 01:13:06 +01:00
TwinAphex51224 8171977ed7 Preliminary version of PSGL video driver 2011-11-30 21:54:25 +01:00
TwinAphex51224 f8aaf1df1e (PS3) Some more commits 2011-11-30 18:32:45 +01:00
Themaister 04d0d84d01 Fix up more paths. 2011-11-30 18:31:09 +01:00
Themaister 924848fdad Start working towards SDL 1.2/1.3 compat. 2011-09-13 14:06:49 +02:00
Themaister 508cfdbda7 Start implementing access to previous texture. 2011-07-03 15:39:35 +02:00
Themaister 44c52ca4f8 Add -pedantic for shits 'n giggles.
Fix portability issues with void* -> void (*)(void) casts.
Use a more ... bizarre technique ;)
2011-05-31 15:03:59 +02:00
Themaister eebe0ae5d0 Getting there ... But passN textures aren't set properly ;x 2011-05-23 19:57:52 +02:00
Themaister f9c5c7c8a5 Path to check initial texture with GLSL. 2011-05-23 17:43:29 +02:00
Themaister 5dced40c98 LUT textures work :) 2011-05-22 18:48:43 +02:00
Themaister 2f858b7948 Clean up ugly inline stuff. :\ 2011-05-18 22:40:42 +02:00
Themaister 36d9adbc0f *Shrug* windows. Works at least ... :D 2011-05-18 22:11:34 +02:00
Themaister 936b7f5395 Seems to work now. 2011-03-27 21:21:46 +02:00
Themaister 29808c4421 Start on outscale/size support. 2011-03-27 20:29:47 +02:00
Themaister 56ac7b4649 Something's working :D 2011-03-14 23:48:19 +01:00
Themaister e2daab9ce9 Fetch some scale values (this is not in the standard (yet!)) 2011-03-14 22:51:03 +01:00
Themaister ef19ea7a85 Add fbo structures, ready to implement. :v 2011-03-14 22:09:35 +01:00
Themaister 2267c7d048 Update licensing headers. 2011-01-23 20:29:28 +01:00
Themaister c7e6e73bcb Fix a blooper in headers. 2011-01-17 20:54:58 +01:00
Themaister 7b5969cb55 some common error routine, and more stringent error checking. 2011-01-11 22:13:55 +01:00