Commit Graph

415 Commits

Author SHA1 Message Date
Toad King 012c7def7b big Raspberry Pi-related changes
* convert old rpi video driver into a generic OpenVG driver
* add VideoCore EGL context
* build GLES by default if VideoCore detected (currently does not run)
2012-09-18 19:42:17 -04:00
Themaister de2f5ba4ba Add experimental KMS/GLES framebuffer driver. 2012-09-16 21:41:09 +02:00
Themaister 6d2c0cdb17 Only allow keyboard input when in focus int x_input. 2012-09-16 01:27:32 +02:00
Themaister 759a4c811d Use GL_LUMINANCE_ALPHA for fonts. 2012-09-15 23:15:19 +02:00
Themaister b9f605cc9d Fall back to default shader in GLES2. 2012-09-15 15:37:08 +02:00
Themaister ff60bcb5e5 Add experimental X/EGL support. 2012-09-15 15:17:34 +02:00
Themaister d3b1780a66 Ifdef out CLAMP_TO_BORDER on Android specifically. 2012-09-15 11:43:47 +02:00
Themaister 5a4c51a5cb Drop redundant branching in GL.
Pointers are always set.
2012-09-14 21:35:32 +02:00
Twinaphex cfcd80328a (PSL1GHT) Avoid warnings in gl.c 2012-09-14 04:53:55 +02:00
Themaister 46cde06f55 Just use straight GL_TRIANGLE_STRIP. 2012-09-13 20:47:49 +02:00
Twinaphex 440d731a53 (PS3) RGL can use GL_TRIANGLESTRIP now - get rid of messy
GL_QUAD hack in gl.c
2012-09-13 20:35:06 +02:00
Themaister df69517d79 Fixup build for PC. 2012-09-13 19:41:41 +02:00
Twinaphex 655006984e Reworked some code - PC-side still broken 2012-09-13 17:48:17 +02:00
Twinaphex df5089eb52 (PS3) Dirty hack to set GL_QUADS again - will probably change
RGL to use GL_TRIANGLE_STRIP and remove this hack later on
2012-09-13 17:27:14 +02:00
Twinaphex 713b309e3d (PS3) Works again but we can't have GL_TRIANGLE_STRIP for PS3
RGL
2012-09-13 17:19:13 +02:00
Themaister 4f82d237c3 Rework workaround ifdefs into something more sane. 2012-09-13 17:11:30 +02:00
Themaister a4262fd0d6 Purge SDL_MODERN.
SDL 2.0 differs far more than 1.3 did, and it makes no sense
to support both now.
2012-09-12 23:37:25 +02:00
Themaister dcdb405267 Should fix build on GLES1. 2012-09-12 20:28:51 +02:00
Themaister 250fb340c7 Fixup some more ... 2012-09-12 20:26:59 +02:00
Themaister bb526ad3cd Fixup win32 build. 2012-09-12 20:24:57 +02:00
Themaister 4c99652a60 Rework attribute and MVP passing in GL. 2012-09-11 23:32:00 +02:00
Twinaphex 91cb9dd305 (PSL1GHT/GL) Don't compile in certain code for PSL1GHT 2012-09-11 12:38:54 +02:00
Themaister f67fe439bf Fix CXX_BUILD=1. 2012-09-11 12:40:10 +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 3d93b6a052 Add additional note 2012-09-11 10:21:22 +02:00
Twinaphex 0b7a022d75 Change HAVE_OPENGLES11 define to HAVE_OPENGLES1 2012-09-11 10:12:08 +02:00
Twinaphex 74ccee0d54 (PS3) Builds again - GL changes 2012-09-11 10:07:38 +02:00
Twinaphex 6206320e45 Stub paths for HAVE_OPENGLES || HAVE_OPENGL_MODERN 2012-09-11 10:01:23 +02:00
Twinaphex b6d2b0f3bf (GL) Use HAVE_OPENGL_MODERN ifdef in some places where it's needed 2012-09-11 09:57:53 +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 ddcc3119a9 Fix Win32 build. 2012-09-10 23:19:02 +02:00
Themaister 756f8fb3db Cleanup PBO handling. Makes it optional via ./configure. 2012-09-10 23:17:48 +02:00
Themaister 2bf3514316 Properly use GL_UNPACK_ROW_WIDTH for FF GL. 2012-09-10 19:00:41 +02:00
Hans-Kristian Arntzen afb4474a64 Don't #ifdef for HAVE_OPENGLES in cellos. 2012-09-10 17:55:41 +03:00
Themaister 7b8d412a16 Should fix build on PS3. 2012-09-10 11:19:54 +02:00
Themaister 9871b8d56f Add preliminary PBO mode for GL. (GLES). 2012-09-10 11:15:48 +02:00
Themaister cfae6196a6 Cleanups in GL. Use GL_TRIANGLE_STRIP instead of GL_QUADS. 2012-09-10 10:29:50 +02:00
Themaister 3f84fc3263 Fix breakage of screenshots. 2012-09-10 09:52:34 +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
Twinaphex 9a0d6a0c33 (PS3) Bug fix - menu now starts up properly if 'Custom Scaling/Dual
Shaders' is set to 'OFF'
2012-08-22 00:01:59 +02:00
Twinaphex 969a92ac17 (RARCH_CONSOLE) Add apply_state_changes to video driver 2012-08-20 12:41:10 +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 1794aa6dff Do not call set_nonblock_state for FF buttons if vsync isn't activated. 2012-08-12 09:36:15 +02:00
Twinaphex 28eb3604f9 (PS3/Gl) refactored stuff 2012-08-10 06:50:41 +02:00
Themaister a283a54bee Use calculated MVP directly in shader params. 2012-08-09 23:21:59 +02:00
Themaister 450b59262b Avoid redundant FF GL calls. 2012-08-09 22:06:57 +02:00
Twinaphex 17780cb5a8 (Rmenu/fonts) no longer use gl_render_msg_post 2012-08-04 02:28:38 +02:00
Twinaphex 0e6e563b08 (PS3/360/Xbox 1) Create and use default_paths struct 2012-07-23 18:17:50 +02:00
Twinaphex 34bcb938b8 (PS3) Use HAVE_OPENGLES11 for PS3 RGL/PSGL driver 2012-07-01 22:31:44 +02:00
Themaister 9f60e48a98 Redefine behavior of NULL in video_frame(). 2012-06-23 18:01:01 +02:00
Themaister a0b9e6b55e Fix screenshot crashes. 2012-06-10 11:10:14 +02:00
Themaister e32f879179 Fix C++ build. 2012-06-10 10:44:08 +02:00
Themaister 553b1d640a Ifdef for HAVE_RGL. 2012-06-09 00:24:43 +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
Twinaphex 3e6a10ffb6 (PS3) Add some Griffin overrides 2012-05-30 17:03:23 +02:00
Twinaphex 27aa887fcb (PS3) gl_restart works properly now 2012-05-29 17:20:23 +02:00
Twinaphex b995f8da9f (gl.c) Turned some functions inline 2012-05-29 04:53:42 +02:00
Twinaphex 663268be24 (Wii) Remove some obsolete functions 2012-05-28 04:47:29 +02:00
TwinAphex51224 463fdd9bdf (360) Add 360 context file and use it 2012-05-28 02:29:51 +02:00
Themaister 5989fa0405 Nit. 2012-05-28 00:21:51 +02:00
Twinaphex ef0ab68c4b (PS3) Applies overscan / aspect ratio / rotation in non-FBO
mode now
2012-05-28 00:06:18 +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 6aa621a8f8 Minor refactor. 2012-05-27 23:21:30 +02:00
Themaister 4ffecbb058 Minor initializer fixup. 2012-05-27 23:16:22 +02:00
Themaister 72310b6661 Style nit party. 2012-05-27 23:15:02 +02:00
Twinaphex e88318e886 Fixed up initializer for gl driver 2012-05-27 22:50:03 +02:00
Twinaphex 15e16728f2 PC fix build 2012-05-27 22:45:00 +02:00
Twinaphex b6131dfcd7 (PS3) PS3 now uses gl.c - ps3_video_psgl.c removed 2012-05-27 22:39:29 +02:00
Twinaphex 1c2c2e1a37 Rename to gfx_ctx_set_projection 2012-05-27 20:55:11 +02:00
Twinaphex 6ff8154d19 (PS3) Abstracted rotation code to allow for different implementations 2012-05-27 20:50:06 +02:00
Themaister 1b01a00e3e Fix trigger happy warnings. 2012-05-27 18:40:07 +02:00
Twinaphex f32bc9e017 (PS3) Implemented gfx_ctx_init, gfx_ctx_destroy and other
functions
2012-05-27 17:46:47 +02:00
Themaister 9aaf878908 Init gl handle early. 2012-05-27 15:04:43 +02:00
Themaister 86295bf057 Re-add gl_render_msg_post(). 2012-05-27 14:27:17 +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
Twinaphex 7f13257d1b Move remaining FREETYPE/font code from gl.c to font files 2012-05-27 04:21:54 +02:00
Twinaphex 503f01867a (PS3) Use new font abstraction code 2012-05-27 04:02:07 +02:00
Themaister ca0a5b9f76 Move font stuff to gfx/fonts. 2012-05-27 02:04:50 +02:00
Twinaphex e53db23031 (PS3) Change HAVE_OPENGL_PBO to HAVE_OPENGL_TEXREF 2012-05-27 01:00:05 +02:00
Themaister 5d70568003 Micronit. 2012-05-27 01:03:58 +02:00
Twinaphex 42bcc8ea59 (PS3) Add HAVE_OPENGL_PBO and HAVE_CG_MENU defines 2012-05-27 00:51:02 +02:00
Themaister 9e50b0a8bb Make GL texture types more generic. 2012-05-26 16:29:22 +02:00
Themaister f873960224 init_textures for ps3. 2012-05-26 16:01:59 +02:00
Themaister f121f8d2bc Style nits. 2012-05-26 15:59:58 +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 04f325dcc9 Refactor texture init. 2012-05-26 15:46:37 +02:00
Themaister a10a5badcc Move font code to gl_font. 2012-05-26 15:22:48 +02:00
Themaister 8f74b1a555 Build fixes for Win32. 2012-05-26 10:20:06 +02:00
Twinaphex 1386e2ee90 Restructuring of sdlwrap.c for portability reasons -
could need a code review
2012-05-26 04:47:24 +02:00
Twinaphex c3cb3ba876 Add some HAVE_SDL ifdefs to gl.c 2012-05-25 23:18:38 +02:00
Themaister a2e7805524 Move more SDL specifics to sdlwrap. 2012-05-25 22:28:20 +02:00
Themaister 1e73ba4661 Move SDL input driver init to sdlwrap. 2012-05-25 22:11:44 +02:00
Twinaphex b2c7b766ae Revert "(PS3) ps3_video_psgl.c cleanups"
This reverts commit 824d2923a5.
2012-05-25 21:40:28 +02:00
Twinaphex 417cb55a6e Revert "(PS3) ps3_video_psgl.c cleanups #2"
This reverts commit 8aafbf63b8.
2012-05-25 21:40:19 +02:00
Twinaphex 8aafbf63b8 (PS3) ps3_video_psgl.c cleanups #2 2012-05-25 17:37:48 +02:00
Twinaphex 824d2923a5 (PS3) ps3_video_psgl.c cleanups 2012-05-25 16:43:07 +02:00
Themaister c986eb3491 Remove unneeded parens. 2012-05-25 16:20:28 +02:00
Twinaphex 989731bbd0 Add HAVE_OPENGLES define to Makefile.ps3 - add HAVE_OPENGLES ifdef
to gl.c
2012-05-25 16:00:54 +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 5d51942f69 libretro fixups. 2012-04-09 22:04:43 +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 865229820a Fix edge case on rotation with multiple pass shaders. 2012-04-02 17:26:23 +02:00
Themaister 34bdea0f1c Add rotation to GL driver (PC). 2012-04-01 19:20:37 +02:00
Themaister 9ab02b12be Move compat functionality to compat/. 2012-03-16 23:26:57 +01:00
Themaister 9c861f13be Fix additional exclamation marks. 2012-02-11 21:16:01 +01:00
Themaister 02cfa3f651 Big refactor of GL routines. 2012-02-01 00:14:04 +01:00
Themaister 576855de4f Slight refactor. 2012-01-30 20:23:36 +01:00
Themaister 3c1e4c879a Integer scale is bad mmkay. 2012-01-11 23:09:22 +01:00
Themaister 4eab7c4387 Font scale option. 2012-01-11 22:52:25 +01:00
Themaister b4248038fb Update license headers. 2012-01-08 01:12:05 +01:00
Themaister 318d875981 Small cleanups. 2012-01-03 02:50:45 +01:00
Themaister 672102d377 Change asserts to ssnes_assert(). 2011-12-25 12:47:47 +01:00
Themaister eac468ba19 MSVC compat. 2011-12-25 01:38:59 +01:00
Themaister d5fca50a2f Can build for C++. 2011-12-24 15:26:01 +01:00
Themaister 02d40aa212 Drop shadows for fonts. 2011-12-03 19:48:13 +01:00
Themaister 04d0d84d01 Fix up more paths. 2011-11-30 18:31:09 +01:00
Themaister 45fa6795c3 Fixups. 2011-11-12 16:43:59 +01:00
Themaister a9d339efb4 Use glColorPointer(). 2011-11-12 15:51:37 +01:00
Themaister ad67511483 Cleanups. PREV{1-6} for GLSL as well. 2011-11-12 14:18:10 +01:00
Themaister 48e8472f9c Ring buffer of 8 textures :o 2011-11-12 12:28:07 +01:00
Themaister 51721b4cb6 video_font_enable. 2011-11-10 00:15:41 +01:00
Themaister 0f010cf3d2 Fix style nits. 2011-11-02 19:31:36 +01:00
Themaister c2a06bfa09 Replace some magic numbers. 2011-10-28 09:06:34 +02:00
Themaister 64ee13e6f4 Push window loop in .alive(). 2011-10-18 19:51:38 +02:00
Themaister fa26f6a10c Cache font rendering. Major overhead reduction. 2011-10-07 17:58:22 +02:00
Themaister db71a5cdba New font rendering code for OpenGL. 2011-10-07 17:43:39 +02:00
Themaister c996f816b8 Default font path OSX. 2011-10-06 21:12:11 +02:00
Themaister 7d33cccc8e Default fonts. 2011-10-06 19:06:38 +02:00
Themaister 3db79ab2f0 Nits. 2011-10-05 22:56:52 +02:00
Themaister c2cedb1b6f Resizing windows in 1.2 should not trigger some init code :) 2011-09-22 21:50:57 +02:00
Themaister 3f6183ff15 Updates, fixes ... 2011-09-13 19:30:22 +02:00
Themaister 642316a1e2 Somewhat haphazard. Can't find some needed API calls :\ 2011-09-13 18:50:40 +02:00
Themaister 924848fdad Start working towards SDL 1.2/1.3 compat. 2011-09-13 14:06:49 +02:00
Themaister 4c40e56060 Properly disable it :D 2011-09-11 15:41:46 +02:00
Themaister cf34444505 Disable resizing on OSX. 2011-09-11 15:33:28 +02:00
Themaister 2bd0caae2e Do not set RESIZABLE on fullscreen (really? :v) 2011-09-06 15:38:32 +02:00
Themaister 0823d72dee Add coloring to fonts. 2011-09-05 17:00:28 +02:00
Themaister b2b103362d Warn if glX VSync call isn't found. 2011-09-04 13:01:54 +02:00
Themaister dc9dd2e6bf Fix bug where shaders could crash using LUT textures. 2011-08-29 17:05:11 +02:00
Themaister bce679df78 Only use hack on X when in windowed mode. 2011-08-16 10:26:36 +02:00
Themaister 22e8c3d895 Should fix breakage of OGL on OSX. 2011-08-15 22:21:50 +02:00
Themaister 3901934d97 Add an ugly hack to try and remedy things ... 2011-08-14 23:03:48 +02:00
Themaister bc23b421e1 New resize checking code. 2011-08-12 19:02:12 +02:00
Themaister d9cb85a8d5 Add new possible workaround for tiling WMs ... 2011-08-11 15:19:30 +02:00
Themaister 4496ed3c13 Should make sizes right after startup ... 2011-08-11 05:59:32 +02:00
Themaister 3f5b6a450e Should fix behavior for tiled WMs. 2011-08-11 05:32:03 +02:00
Themaister fc2a39cd58 More appropriate renaming. 2011-08-07 21:15:50 +02:00
Themaister 7425e1f879 Allow disabling composition in Win Vista/7Allow disabling composition in Win Vista/7. 2011-08-07 15:00:34 +02:00
Themaister 6a260a57dd Reset frame counter properly. 2011-08-06 03:28:07 +02:00
Themaister 508cfdbda7 Start implementing access to previous texture. 2011-07-03 15:39:35 +02:00
Themaister 1631e940f6 Fix up VSync calls for OSX. 2011-06-29 03:45:52 +02:00
Themaister bafc4f596f Add nonused VSync code for OSX. 2011-06-28 03:20:36 +02:00
Themaister 5385806e74 Hrm ... 2011-06-11 22:02:05 +02:00
Themaister 99a1784aaf Move window logic away from SDL input.
We weren't using the event loop anyways ...
2011-06-11 12:54:14 +02:00
Themaister 11b58d8c69 Clean up error handling a bit. 2011-06-07 15:58:30 +02:00
Themaister 5c8a549125 Cleanups. 2011-06-05 02:21:35 +02:00
Themaister c3e7a35b62 Fixes case where backdrops are used in second or later pass. 2011-06-05 02:01:44 +02:00
Themaister 838a85a719 Could make coordinate flipping consistent ... Finally. 2011-06-01 12:19:48 +02:00
Themaister b880039541 Clarify more ... 2011-05-31 23:08:02 +02:00
Themaister c646166fe1 Make an "empty" buffer for performance. Also attempt to fall back if
vsync fails on start.
2011-05-31 23:03:01 +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 9b6e6a1215 Goddamnit, it was ARGB after all o.O weird. 2011-05-28 14:11:37 +02:00
Themaister e5a9d78b70 Fixed typo. 2011-05-28 11:29:40 +02:00
Themaister 12a39e160b Should fix weird viewport bug with some FBO shaders. 2011-05-26 22:25:30 +02:00
Themaister ee83c31183 Reorder set-param and texture upload. 2011-05-26 12:53:24 +02:00
Themaister 3aed471d57 This bug is driving me nuts. It cannot possibly be my bug ... 2011-05-26 02:03:38 +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 3bf050d5aa Use MultiTexCoord1 for image coords. 2011-05-18 20:38:04 +02:00
Themaister 59c6de69b0 Frame counter for shaders. Not in spec currently. 2011-05-11 13:24:59 +02:00
Themaister 6713272809 Hrm... Seems to work, except for 32-bit -> 32-bit <_< 2011-04-21 13:12:45 +02:00
Themaister d317a9773f Start on SDL video driver. 2011-04-21 03:23:44 +02:00
Themaister f5fb113563 Should fix case where we have 1 pass and scale attributes. 2011-03-30 23:09:29 +02:00
Themaister 844a523706 Should fix error with scaling. 2011-03-30 14:57:45 +02:00
Themaister d05379b340 Should fix FBO issue. 2011-03-30 11:12:27 +02:00
Themaister 006948b973 Warmup for 0.4-beta. Some FBO stuff is still borked. 2011-03-30 11:05:56 +02:00
Themaister bab03ba8c5 No need for these. 2011-03-29 19:27:53 +02:00
Themaister 3455f83fa7 Hopefully fixes awkward issue with scale not being applied correctly. 2011-03-29 19:09:10 +02:00
Themaister f730ba4043 Oh yeah :) Can toggle shader in run-time! 2011-03-29 18:59:06 +02:00
Themaister caf87b1198 Font handling and stuff. 2011-03-29 18:28:31 +02:00
Themaister c1b8cdb35b Fix issue with size attribute first. 2011-03-27 21:34:33 +02:00
Themaister 936b7f5395 Seems to work now. 2011-03-27 21:21:46 +02:00
Themaister a01e3347f7 Seems to work :) 2011-03-27 20:54:14 +02:00
Themaister 142411c08c Fix some garbage. 2011-03-27 20:33:14 +02:00
Themaister 29808c4421 Start on outscale/size support. 2011-03-27 20:29:47 +02:00
Themaister 6c85e6e702 Configurable FBO support. 2011-03-23 23:48:13 +01:00
Themaister c1d5a6e140 Fixes scaling bug for shaders. 2011-03-23 11:05:18 +01:00
Themaister 027a21278e Whoops 2011-03-20 02:13:44 +01:00
Themaister f77fe62ab0 Should fix viewport bug when rendering fonts. 2011-03-20 02:10:02 +01:00