Commit Graph

874 Commits

Author SHA1 Message Date
Themaister 74e4ae7286 Fix CXX_BUILD. 2012-10-04 09:09:04 +02:00
twinaphex 0a20857a44 (ARM) Add mrc ARM define for benchmark.c
- Some Android build fixes
- Removed doubly defined static inline function
2012-10-02 23:59:19 +02:00
Themaister 8dd51016dc Make sure LOAD_GL_SYM doesn't get double define. 2012-10-02 23:36:18 +02:00
Themaister aa74c185f3 Use glMapBuffer to copy data to texref bufs. 2012-10-02 22:18:53 +02:00
Themaister 657c9ea3e8 Fix build on PS3. 2012-10-02 20:23:10 +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 018b97be72 Add logging code to gl_copy_frame. 2012-10-01 23:59:11 +02:00
Themaister 1bac5421ff Update benchmarks for GCC + x86.
Compile with make PERF_TEST=1 to enable performance logging.
2012-10-01 23:43:16 +02:00
Themaister 4db4d414a9 Should fix build on OSX. 2012-10-01 22:48:36 +02:00
twinaphex 666ed41234 (PS3) Build fix
(RMenu) Get rid of (now) unnecessary includes
2012-10-01 04:04:50 +02:00
twinaphex 6c5d6515ce (XDK) 360 and Xbox 1 now both use the same Direct3D driver 2012-10-01 03:35:38 +02:00
twinaphex c7f8535ecf (360) Shows amount of shaders that were loaded at init 2012-10-01 02:45:29 +02:00
twinaphex 4ae233f1f0 (XDK) Reports screen resolution now at device init 2012-10-01 01:17:30 +02:00
twinaphex 011037eea2 (XDK Xbox 1) Refactor Xbox 1 code too 2012-10-01 00:41:06 +02:00
Themaister b73243b521 Fix CXX_BUILD. 2012-10-01 00:12:07 +02:00
twinaphex b954472295 (360) Move D3D init/destroy code to context file 2012-10-01 00:09:37 +02:00
Themaister 043bcfd1de Minor refactor. gl_set_shader_viewport(). 2012-09-30 19:55:33 +02:00
Themaister 66867c9b07 Remove breaking include of gl_common.h. 2012-09-30 19:28:36 +02:00
twinaphex 4d80a71f7e (XDK) Refactorings - build fixes 2012-09-30 17:57:32 +02:00
twinaphex 71443385e9 (PS3/XDK - Context) Some refactorings 2012-09-30 17:51:48 +02:00
twinaphex c1e3dcd00e (Xbox 1/360) XDK context file updated - fixes build 2012-09-30 17:10:04 +02:00
Themaister 8d8dce7d2b Don't display mouse. Set window title immediately. 2012-09-30 15:08:11 +02:00
Themaister dd6d27c108 Add WGL context. 2012-09-30 14:41:58 +02:00
Themaister 9a07e23ecb Simplify GLES ifdef. 2012-09-30 10:33:15 +02:00
twinaphex e4399884d9 (PS3) Needs ifndef around querying of BGRA888 - PSGL only has GL_BGRA
defined and not GL_BGRA888_EXT
2012-09-30 04:47:35 +02:00
Themaister fb78009e10 Remove "special" GLES2 paths in image.c. 2012-09-29 22:04:11 +02:00
Themaister 55573b4726 Some PC fixups in OpenVG (still shows black though). 2012-09-29 20:18:24 +02:00
Themaister 5688f939a7 Use GL_BGRA_EXT on GLES. 2012-09-29 20:06:48 +02:00
Themaister 5d4019f4ab Have the scale value make more sense in freetype. 2012-09-29 19:20:30 +02:00
twinaphex 66cc23af34 (Freetype) Should allow for setting adjustable font positioning (x/y)
and scaling
2012-09-29 14:19:14 +02:00
Themaister 9747a594e8 Check for glXSwapInterval as well. 2012-09-29 12:35:26 +02:00
Themaister e58bdc4811 Add GLX context. 2012-09-29 12:13:11 +02:00
Themaister 4669aee283 Kill null_ctx.
Doesn't serve any purpose with new context abstraction.
2012-09-29 11:14:02 +02:00
Themaister f8de693eef Use true fullscreen in X/EGL. 2012-09-29 10:47:55 +02:00
Themaister c6820af73e Fix CXX_BUILD. 2012-09-28 23:47:20 +02:00
Themaister 04e3fe185f Can build without SDL now (only RetroArch). 2012-09-28 23:34:19 +02:00
Themaister c655c1d4e5 Big refactor of joypad input. 2012-09-28 23:06:16 +02:00
Themaister ee8a93973f Drop redundant call to UNPACK_ROW_LENGTH. 2012-09-27 20:54:24 +02:00
TwinAphex51224 a8f255e357 Revert "(PS3) Use texture references for PSGL/RGL - NOTE: will form part"
This reverts commit 10605eabe3.
2012-09-27 20:24:05 +02:00
TwinAphex51224 5fad20121f (PS3) Add preliminary Freetype support for PS3 2012-09-27 18:16:06 +02:00
TwinAphex51224 fdd78b08d3 Use new define HAVE_CG_RUNTIME_COMPILER 2012-09-27 17:45:49 +02:00
TwinAphex51224 903ab0ccad Comment out RARCH_CG_DEBUG again 2012-09-27 17:30:28 +02:00
TwinAphex51224 10605eabe3 (PS3) Use texture references for PSGL/RGL - NOTE: will form part
of RGL now
2012-09-27 17:28:38 +02:00
Themaister 2e168157c1 Sanitize font rendering in xv and SDL.
Fixes old bug where big chunks of fonts would often be just left out.
2012-09-27 01:42:46 +02:00
Themaister 5936fbf463 Minor fixes in VC context. 2012-09-26 16:00:06 +02:00
Themaister 31b12d7d00 Refactor out common X11 code. 2012-09-26 15:52:25 +02:00
Themaister f96d357017 Fix build on KMS. 2012-09-25 19:28:21 +02:00
Themaister 704af0e0b7 x_input depends on HAVE_X11. 2012-09-25 15:14:56 +02:00
Themaister d732aa4c2e Abstract aspect handling in vg.c. 2012-09-25 13:54:22 +02:00
Themaister 2674a67cdd Abstract away aspect ratio handling. 2012-09-25 13:51:44 +02:00
Themaister 9c24946ca5 Pick right visual attribs in EGL depending on API. 2012-09-25 13:25:03 +02:00
Toad King 58a2ff9594 leave a note for the future ;) 2012-09-25 00:42:03 -04:00
TwinAphex51224 accbb57e10 (PS3) Set NO_GL_FF_VERTEX for PSGL-based builds 2012-09-25 04:07:36 +02:00
TwinAphex51224 e42f515e11 (PS3) Works on PS3 again 2012-09-25 03:49:51 +02:00
Toad King eee9468900 fix GLES for VideoCore 2012-09-24 21:25:31 -04:00
Toad King df77bbd0bd compile fixes
bind API before initializing context
2012-09-24 20:47:48 -04:00
Themaister d0e220bbf1 Refactor all GL context handling code. 2012-09-25 01:37:23 +02:00
Toad King c1948b7c5d remove VGU requirement from VG video driver
MESA's libOpenVG does not supply the utility functions
2012-09-24 19:30:24 -04:00
Themaister a1999af4a7 Don't use projection abstraction in GL.
Makes no sense anymore as it's calculated with gfx/math/ ...
Keep abstraction for XBox.
2012-09-24 22:51:26 +02:00
Toad King b087a2cc76 rename oops 2012-09-24 15:31:46 -04:00
Toad King 500139f1b5 change video_rpi into a more generic video_vg 2012-09-24 15:19:07 -04:00
Toad King 60e255dd12 rename rpi.c to vg.c 2012-09-24 15:16:53 -04:00
Themaister 4107218a5f Should fix build on OSX (*shrug*). 2012-09-24 10:04:15 +02:00
Themaister ae8ab33e81 Properly be able to reinit KMS. 2012-09-24 00:01:04 +02:00
Themaister b1f5c83deb Make sure all page-flips are acknowledged. 2012-09-23 12:11:24 +02:00
Themaister 9297f028a4 ifdef out extension logging. 2012-09-23 11:54:51 +02:00
Themaister 102d30473e Shader directory looks for Cg/Cgp shaders. 2012-09-21 21:20:30 +02:00
Themaister 52cde797c1 Should fix build on OSX 10.8. 2012-09-21 21:11:10 +02:00
Themaister d9fce26801 Log DRM frame as well in KMS. 2012-09-20 19:55:25 +02:00
Toad King dc57af26b7 remove debugging code accidentally left over in OpenVG driver 2012-09-19 21:06:32 -04:00
Themaister e8666e4b4e Style nit. 2012-09-19 09:38:59 +02:00
Themaister 90a69ac33e Only define EGL attrib bits for GL if compiled in. 2012-09-19 09:09:46 +02:00
Themaister dc385ad0c5 Fix ifdefs for eglBindAPI in gl.c.
HAVE_OPENGL_MODERN is only defined for PSL1GHT at the moment.
2012-09-19 09:07:46 +02:00
Toad King 8d5726a5ed add change to drm/x egl contexts for future OpenVG support 2012-09-18 22:59:51 -04:00
Toad King 66fd23d611 Fix VideoCore context for GLES2, video driver runs but texture is transparent 2012-09-18 22:16:43 -04:00
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 580cf1c07e Report delta times for vblank misses.
For debugging purposes, report time from PageFlip is queued, till it
actually happens.
2012-09-19 00:44:50 +02:00
Themaister 620769fbeb Ifdef out custom scheduling for now.
Doesn't appear to help much.
2012-09-18 23:09:23 +02:00
Themaister c309099e79 Attempt to use SCHED_FIFO in KMS.
This is mostly for testing purposes, to see how much scheduling affects
performance.
2012-09-18 21:51:50 +02:00
Themaister f6af4fc122 Add performance metrics to KMS driver. 2012-09-18 20:36:16 +02:00
Themaister 1d2d09905b Allow using straight OpenGL API in KMS. 2012-09-18 12:16:27 +02:00
Themaister bbcf7e5d86 Do not flicker when nonblock is applied in KMS. 2012-09-18 10:32:35 +02:00
Themaister c0d6e5e70c Free first framebuffer correctly in KMS driver. 2012-09-18 00:17:23 +02:00
Themaister 0c805a200e Add dummy logs for page_flip_event. 2012-09-17 11:34:19 +02:00
Twinaphex 8ad585ad34 (Android) Compile with HAVE_DYLIB 2012-09-17 05:31:29 +02:00
Themaister ceb7e08c24 Allow fast-forward in framebuffer mode. 2012-09-16 22:56:58 +02:00
Themaister cc0fe7f8de KMS context can be restored after exit. 2012-09-16 22:39:29 +02:00
Themaister de2f5ba4ba Add experimental KMS/GLES framebuffer driver. 2012-09-16 21:41:09 +02:00
Themaister b9b9454c7d Report error if eglSwapInterval() fails. 2012-09-16 15:26:02 +02:00
Themaister 22aae7802a Remove misplaced comment. 2012-09-16 10:52:44 +02:00
Themaister 0487fdb0e8 Set g_has_focus to true when MapNotify hits. 2012-09-16 10:47:53 +02:00
Twinaphex 34ea7f18fc (PSL1GHT/PS3) Move more header includes/redefinitions to sdk_defines.h 2012-09-16 04:04:59 +02:00
Themaister b2316efe05 No GLES2 extensions are used. Drop header include. 2012-09-16 01:29:45 +02:00
Themaister 6d2c0cdb17 Only allow keyboard input when in focus int x_input. 2012-09-16 01:27:32 +02:00
Themaister 282346572d Fix font rendering in GLES. 2012-09-16 00:57:39 +02:00
Themaister 5365087311 Fix LUT textures in GLES. 2012-09-15 23:59:52 +02:00
Themaister 759a4c811d Use GL_LUMINANCE_ALPHA for fonts. 2012-09-15 23:15:19 +02:00
Themaister 1ce547f277 Use 32-bit fonts to avoid tons of ifdeffing for GLES. 2012-09-15 16:03:20 +02:00
Themaister dd2982b148 Force modern XML shaders for GLES2. 2012-09-15 15:46:02 +02:00
Themaister 6052af0327 Don't segfault on fullscreen swapping. 2012-09-15 15:41:12 +02:00
Themaister b9f605cc9d Fall back to default shader in GLES2. 2012-09-15 15:37:08 +02:00
Themaister a55915b694 Should fix shader_cg build on PS3. 2012-09-15 15:21:58 +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 7eb9c8474a Use attrib arrays in Cg.
Attempt to modernize by avoiding glVertexPointer, etc if possible, so
that CG *might* work in a modern GL setting.

This appears to work fine on PC, but it is unknown if this will work
on PS3s CG implementation. If it works, it might be possible to strip
down RGL more by avoiding glVertexPointer and that jazz.

If not, this should be reverted.
2012-09-15 11:22:07 +02:00
Themaister 5a4c51a5cb Drop redundant branching in GL.
Pointers are always set.
2012-09-14 21:35:32 +02:00
Themaister ca50a90c09 Workaround/hack for platforms without working get_proc_address(). 2012-09-14 21:30:41 +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
Twinaphex 2cf02a50b7 (PSL1GHT) At last it links... now prepare for onslaught of trouble 2012-09-14 05:07:33 +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 311eb65e7d Shader_glsl.c can work without XML shader support. 2012-09-13 20:15:37 +02:00
Themaister d8a89fe20e Add #ifdefs for GL_ES in stock frag shader. 2012-09-13 19:55:42 +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
Twinaphex 455f74ea46 (PS3) Fix build - GL side is totally screwed up now though -
investigate
2012-09-13 06:52:47 +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 2e538e0eb5 Drop "special macros" for apple. 2012-09-12 20:57:14 +02:00
Themaister cdb16feeb4 Enforce vertex shader in modern GLSL. 2012-09-12 20:46:38 +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 c29f678935 Don't include SDL headers in shader_glsl.c. 2012-09-12 20:20:22 +02:00
Twinaphex 939b9dd259 (GLSL) Add compatible header inludes for modern GL/GLES -
NOTE - we need a proper HAVE_SDL define since we are not going
to be using SDL for Rarch on either Android or PSL1GHT
2012-09-12 16:40:28 +02:00
Twinaphex 50d8520085 (Android) Use GLES v2 - codepath for GLES v1 is broken if
GL_CLAMP_TO_BORDER is not available
2012-09-12 15:21:25 +02:00
Themaister e1fc6d7ab5 Do not use SDL_SYM_WRAP outside sdl_ctx.c. 2012-09-12 09:30:36 +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
Twinaphex 201f5fd135 (PSL1GHT) More PSL1GHT work 2012-09-11 12:34:07 +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