Themaister
7aa8b40759
Fixup C89 for loops.
2013-10-22 21:37:56 +02:00
twinaphex
d2c87e3039
Convert most C99-style for loop initial declarations to C89-compliant
...
ones
2013-10-22 15:08:17 +02: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
e63639388d
(gl.c) Change define to !define(RARCH_CONSOLE)
2013-09-28 21:57:27 +02:00
twinaphex
4f54fd28a0
(PS3) Forcibly disable float FBO textures for now - was creating
...
all sorts of crashes
2013-09-27 23:04:19 +02:00
Themaister
3e7f101137
Make sure we're reading from backbuffer.
2013-09-12 22:40:11 +02:00
Themaister
178dc692c7
Do proper rounding in set_viewport.
...
Avoids edge cases where viewport sizes are miscalculated with -1 pixel
due to rounding errors.
2013-09-12 22:23:56 +02:00
Themaister
46c214f964
Small cleanup.
2013-09-07 15:23:09 +02:00
Themaister
870ef37258
Fix libretro GL state bug on frame dupe.
...
Need to force backbuffer and viewport on duped frames.
2013-09-07 15:04:40 +02:00
Themaister
98c9da9dda
Set swap interval correctly in gl_init().
2013-09-02 09:20:51 +02:00
Themaister
b2bf3c12de
Add swap_interval support.
...
Again, mostly useful for 120Hz monitors, and/or playing content which is
a fraction of monitor refresh rate.
2013-09-01 13:20:10 +02:00
Themaister
62c34c7871
Add black_frame_insertion support for 120 Hz monitors.
2013-08-30 09:35:13 +02:00
meancoot
a4dfd35ab7
(Apple) Improvements:
...
Add core gl context support on OSX
Add support for multiple game pads on OSX
Remove block on analog input for Player 2-4's game pads
2013-08-16 13:25:35 -04:00
Themaister
8ebd81edbf
Log GL version as well.
2013-08-16 10:18:58 +02: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
7236e51af0
Clear out GL error on driver init for robustness.
...
In case we used cached GL context, we'd error out
if a single GL error has been generated.
2013-08-14 14:58:12 +02:00
Themaister
3b1e65ba08
Add GL_DEBUG ifdef which forces full GL debugging.
2013-08-14 14:13:28 +02:00
Themaister
1389a1e37c
Fix compile when GLSL isn't compiled in.
2013-08-11 15:25:04 +02:00
Themaister
7d942adaa3
Should fix build on PS3.
2013-08-11 15:06:42 +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
70de036440
Revert "Add GL sync support to GLES2."
...
This reverts commit c1bbb6bf89
.
2013-08-11 01:09:10 +02:00
Themaister
47c4428d8e
Add GL sync support to GLES2.
2013-08-11 01:09:10 +02:00
Themaister
27399deed9
Log vendor/renderer in GL.
2013-08-11 00:57:24 +02:00
Themaister
26d74be8b8
Disable blending per frame with HW render.
2013-08-11 00:56:53 +02:00
Themaister
6b4924c844
Be more conservative about texture memory usage.
2013-08-11 00:56:53 +02:00
Themaister
f8eb0c5a62
Query extensions more explicitly.
2013-08-11 00:55:05 +02:00
Themaister
318b26cc0d
Fix Android build.
2013-08-11 00:55:05 +02:00
Themaister
d64c24248d
Use glsym wrapper in libretro-test-gl.
2013-08-11 00:55:05 +02:00
Themaister
2e397b1d6b
Win32 fixups.
2013-08-11 00:55:05 +02:00
Themaister
e44249b73f
Use glsym symbol loader instead of ugly poking.
2013-08-11 00:54:27 +02:00
Themaister
4e5c6b0f9a
Fix RGUI when using bottom-left.
2013-08-11 00:53:46 +02:00
Themaister
e5abd138ea
More fixes to core context.
2013-08-11 00:53:46 +02:00
Themaister
6df083fc0f
Add support for bottom-left origin in libretro GL.
2013-08-11 00:53:46 +02:00
Themaister
b090f5ab36
Implement WGL core context.
2013-08-11 00:51:05 +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
63aaa7b2b0
(GL) Log vendor/renderer
2013-07-13 01:47:11 +02:00
twinaphex
df6dfb4970
(OSX/iOS) Start renaming ios_ namespace -functions we're going to implement for
...
OSX as well
2013-07-05 04:10:05 +02:00
twinaphex
53df912321
(PS3) Move PS3-specific FPS printing code to ps3_ctx.c
2013-06-14 17:21:44 +02:00
twinaphex
559c4a7964
(RARCH_CONSOLE) Add refresh rate FPS statistics
2013-06-08 01:45:25 +02:00
Themaister
321ffcbca6
Calculate 1:1 PAR from right dimensions.
...
Frame cache can be stale or have awkward dimensions which
don't really reflect 1:1 PAR semantics.
2013-06-05 21:29:52 +02:00
Themaister
79275b28ff
Fallback when initial shader init fails.
2013-06-05 10:44:27 +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
twinaphex
20fdda8ca9
(RMenu) Move rewind settings to Settings submenu
2013-05-26 00:32:39 +02:00
Themaister
503ce7895c
Reset BlendFunc with HW render.
2013-05-22 21:41:10 +02:00
twinaphex
46f29b1178
New define RARCH_MOBILE
2013-05-22 16:02:21 +02:00
Themaister
b4b83cdf41
Use VBOs in GLSL.
...
Future proof a bit as future GL versions
require use of VBOs. Also avoids spamming client-side
data to GL all the time.
VAOs are not used, but that is only relevant if we actually
create a GL3+ context.
2013-05-21 10:44:25 +02:00
Themaister
12288e9b8c
Avoid potential performance regressions.
...
PSGL uses GL_ARGB_SCE, and not GL_RGBA for one ...
2013-05-19 11:25:56 +02: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
c1bd2d25c6
Fix desktop GL build.
2013-05-18 21:23:59 +02:00
Themaister
9406b0a771
More explicit logging of FBO errors.
2013-05-18 16:51:10 +01:00
Themaister
e5ba936355
Disallow EGL images when using HW render.
2013-05-18 14:51:36 +01:00
Themaister
ef257a6e8e
Always use ios_bind_game_view_fbo().
...
Should hopefully fix libretro-test-gl and co.
2013-05-13 19:33:47 +02:00
Themaister
179b374c39
Add JNI target to libretro-test-gl.
...
Fixup GLES build.
2013-05-12 03:40:07 +02:00
twinaphex
71c699b5fc
(Android/QNX) get_proc_address was not bound in context driver
2013-05-12 01:15:44 +02:00
Themaister
75c5a04e49
Fix GLES build.
...
GLES doesn't support glReadBuffer() ...
2013-05-11 16:04:46 +02:00
Themaister
74c8afc492
Fix GPU screenshots in GL.
...
Had to make sure to use GL_FRONT buffer.
2013-05-11 15:50:19 +02: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
10278786ba
Flush before ClientWait.
2013-05-04 00:23:32 +02:00
Themaister
741ed2cc03
Add experimental video_hard_sync.
2013-05-03 14:04:29 +02:00
twinaphex
34619412bc
(RARCH_CONSOLE) Get rid of video_stop_func
2013-04-24 16:08:18 +02:00
Themaister
068beedf3c
Verify that RGUI texture is non-zero.
...
If we're converting, just use ARGB8888 in d3d9.
2013-04-21 12:07:57 +02:00
Themaister
6dd7ea935e
Add GL_SHADER_STOCK_BLEND.
...
Replace stock shader with a special shader which does not apply color.
This is a necessary on Android.
2013-04-20 15:46:50 +02:00
Themaister
be01a0ea59
Refactor aspect ratio handling.
...
Rework aspect ratio handling in RGUI.
Custom viewports work on PC. Ensure that aspect_ratio_idx persist
through reentrancy. Change ASPECT_RATIO_AUTO to ASPECT_RATIO_SQUARE to
better signal that it's the square pixel option.
Add ASPECT_RATIO_CONFIG as an option to use config file defined aspect
ratio.
2013-04-20 10:56:04 +02:00
Themaister
d2ea83729e
Fix uniform integer_scale bug.
2013-04-18 08:57:38 +02:00
twinaphex
639ca3bb97
(GL PS3) Take out glClear at start of gl_frame
2013-04-14 15:02:22 +02:00
twinaphex
a6f3210593
(GL) Drop glBlendFunc GL_ONE function call - not needed for RMenu at least
2013-04-14 13:18:09 +02:00
Themaister
7a8628ff41
Don't ifdef update_tex_filter_frame for FBO.
2013-04-14 01:56:13 +02:00
Themaister
ca5ff43b6f
Add default filtering option to RGUI.
2013-04-14 01:45:33 +02:00
Themaister
e1c1e4d414
Call gl_update_tex_filter in set_shader.
2013-04-14 01:31:32 +02:00
Themaister
67a69d0339
Don't delete RGUI texture on reinit.
2013-04-14 00:26:22 +02:00
twinaphex
a2438f7b80
(RMenu) Fix - don't want to glDeletTexture RGUI texture when
...
game texture has to be reinitialized
2013-04-14 00:11:57 +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
0f60833cac
(RMenu) Do video rendering in RMenu after input - same as RGUI - will also
...
avoid having to 'skip' video swap when doing the render cached
frame call
2013-04-11 15:00:58 +02:00
twinaphex
8c777110f7
(RMenu) Run glClear or equivalent function at start of driver_frame function
...
so that we can use rarch_render_cached_frame for menu purposes at
all times (instead of doing explicit clearing in our menu loops
beforehand for low-RAM modes where no menu texture is being drawn
but we don't want ghosting in the picture)
2013-04-11 13:42:02 +02:00
twinaphex
1171b7576a
Get rid of set_blend callback - the rgui draw texture function is
...
now in charge of making sure texture is properly blended - note
to OV2/maister - test if this breaks D3D9 PC driver and if so
fix accordingly
2013-04-11 13:13:37 +02:00
Themaister
49e4020437
Move forced IOS viewport logic further up.
...
If using multipass, the forced viewport update
will ruin the viewport.
2013-04-10 20:43:32 +02:00
Themaister
7de7c3d743
Fix RGUI in gl.c.
...
RGUI sets MODE_MENU_DRAW causing
context_swap_func to be skipped entirely.
Tried removing MODE_MENU_DRAW in rgui, but gx_video still seems to rely
on MODE_MENU_DRAW being set, so I didn't fix it in RGUI. Someone needs
to fix gx_video to not depend on lifecycle.
2013-04-10 20:15:51 +02:00
twinaphex
d313e9b8f9
(PS3 RMenu) RMenu now renders background texture the same way
...
as RGUI
2013-04-10 06:22:37 +02:00
twinaphex
3a131cf5b8
(PS3) Compile in HAVE_OVERLAY
2013-04-10 04:39:27 +02:00
meancoot
c33c634dc4
(iOS) Fix aspect ratio of duped frames
2013-04-07 19:08:23 -04:00
twinaphex
db0ff2a212
(RARCH_CONSOLE) Build fixes
2013-04-07 18:03:25 +02:00
Themaister
0971cad635
Fix crash when using rotation with threaded driver.
2013-04-07 15:51:00 +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
Themaister
f3ca37cb2b
Always use NULL shader is shader_enable is false.
...
RARCH_CONSOLE sets true as default. Update the config
if shader_enable is false.
2013-04-07 13:11:27 +02:00
Themaister
f88ea04c28
Remove fixed shader index in set_shader.
2013-04-07 13:00:21 +02:00
Themaister
f525d83711
Fix derp. Removed too much.
2013-04-07 10:27:38 +02:00
twinaphex
d4e8a3c682
(Android) Build fix
2013-04-07 04:17:44 +02:00
Themaister
cde994f80f
Remove obsolete #ifdefs.
2013-04-07 02:39:27 +02:00
Themaister
444b94e089
Should fix PS3 shader loading.
2013-04-07 02:37:49 +02:00
Themaister
ec5c12f3f9
Add logging to shader_init.
2013-04-07 02:18:59 +02:00
Themaister
59fd1fe22a
Fix typo.
2013-04-07 02:07:01 +02:00
Themaister
4a8b3599bc
Refactor out cg_shader_path, xml_shader_path.
...
Make shader paths uniform in shader_path.
2013-04-07 01:46:06 +02:00
twinaphex
909122122d
Take out obsolete console-style overscan options - just use
...
Resize Mode instead
2013-04-07 01:23:10 +02:00
twinaphex
142c6335c9
(Cg/PS3) Embed menu shader
2013-04-06 21:05:30 +02:00
Themaister
7a20cfa79c
Don't crash if Cg is init with NULL.
2013-04-06 20:50:22 +02:00
twinaphex
fde1ea7193
(PS3 PSGL) No longer ifndef float FBOs - also no longer have
...
separate copies of gl_copy_frame for PSGL etc.
2013-04-06 18:40:50 +02:00
twinaphex
1c5144f9bd
(RMenu) Move RMenu logic out of graphics driver context files
2013-04-06 17:44:07 +02:00
twinaphex
9a4ddfd2e0
Forgot a conditional check in shader_cg.c before doing freeing of
...
menu_cg_program - some other cleanups to do with setting stock
shaders in Cg
2013-04-06 16:29:00 +02:00
Themaister
e649db253c
Reintroduce CGP refactor.
...
Fix several issues that caused crashes.
2013-04-06 12:00:10 +02:00
Themaister
c3ac3028b5
Reuse gl_disable_client_arrays.
2013-04-06 11:26:06 +02:00
twinaphex
a2d9129782
Kill off set_fbo_state and get_fbo_state function pointers
2013-04-06 06:21:11 +02:00
twinaphex
eb0feac9e3
(PS3/All) Purge fixed-style shaders again - this time avoiding
...
breakage on PS3. Maister -you will need to redo shader_parse.c
again though - and this time I need to test it on PS3 to avoid
a regression that happened two pages prior again
2013-04-06 05:46:09 +02:00
twinaphex
0340f2043c
Revert "Major refactor to CGP parsing."
...
This reverts commit 211e17250c
.
2013-04-06 04:37:17 +02:00
twinaphex
58b6de008b
Revert "Purge fixed-style second_pass_shader."
...
This reverts commit 160bbf0218
.
2013-04-06 03:54:38 +02:00
twinaphex
83ffe437b3
Revert "Fix Win32 build."
...
This reverts commit cf655355d7
.
2013-04-06 03:54:18 +02:00
Themaister
cf655355d7
Fix Win32 build.
2013-04-06 00:06:51 +02:00
Themaister
160bbf0218
Purge fixed-style second_pass_shader.
2013-04-06 00:03:28 +02:00
Themaister
262b867ae0
Update MSVC2010 build.
...
Add RGUI, add folder query for Windows, fix GL HW render bug.
2013-04-04 20:25:41 +02:00
Themaister
bae11ddc24
Fix CXX_BUILD.
2013-04-04 14:36:24 +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
3b392dfcd6
Rename bsnes_shader_path to xml_shader_path.
2013-04-02 22:40:26 +02:00
Themaister
211e17250c
Major refactor to CGP parsing.
...
Adds saving functionality for CGPs.
2013-04-01 15:34:02 +02:00
Themaister
73df40fe8e
Use better scope on RGL ifdef.
2013-03-30 15:40:53 +01:00
twinaphex
454c329746
(PS3) If HAVE_RGL is defined, GL render subsystem will not be
...
built in
2013-03-30 15:39:00 +01:00
Hans-Kristian Arntzen
ebd7dcf721
Merge pull request #169 from Themaister/gl-render
...
HW GL render for libretro.
2013-03-30 06:33:53 -07:00
Themaister
292bc36b43
Basic mouse grabbing for X11.
2013-03-29 18:55:54 +01:00
Themaister
063a2e091c
Be more explicit about GLES2 or GL context.
2013-03-29 15:26:47 +01:00
Themaister
0604f8e7ee
Drop ALPHA_TEST. It is legacy GL.
2013-03-29 14:12:51 +01:00
Themaister
403a3faea2
Clean out some more GL state.
2013-03-29 14:11:53 +01:00
Themaister
5d81093481
Merge branch 'master' into gl-render
2013-03-29 14:10:28 +01:00
Themaister
5e755671da
Add show_mouse() context callback.
2013-03-29 13:46:11 +01:00
Themaister
067e00b3dd
Remove post_render context callback.
...
Was supposed to be used for overlay, but is useless now.
2013-03-29 13:26:07 +01:00
Themaister
d844dfce00
Merge branch 'master' into gl-render
2013-03-29 02:53:27 +01:00
Themaister
50af927de6
Add depth/stencil buffers to HW GL.
2013-03-29 02:50:42 +01:00
Themaister
f4e9547e68
Fix Win32 HW render.
2013-03-29 02:12:08 +01:00
meancoot
a8eaeece3d
(OSX) Build fix for gfx/gl.c
2013-03-28 20:23:30 -04:00
Themaister
8783cbb010
Handle GL state more carefully.
2013-03-28 12:13:41 +01:00
Themaister
77861f5a59
Render something in motion.
2013-03-28 01:19:48 +01:00
Themaister
1cececac18
Add get_proc_address.
...
Render something "real" in GL.
2013-03-28 01:11:32 +01:00
Themaister
f7cab36188
Fix viewport when rendering to FBO.
2013-03-27 16:22:56 +01:00
Themaister
af40f3e9b8
Add initial GL direct rendering test.
2013-03-27 16:15:15 +01:00
Themaister
0db8fee69d
Add floating point FBO support to GLES.
2013-03-26 15:11:44 +01:00
Themaister
773c511179
Add floating point FBO support.
2013-03-25 16:42:41 +01:00
twinaphex
82329cf097
(Blackberry) Starts up in RGUI mode now - should (hopefully) allow
...
for dynamic changing of libretro core and selection of ROM instead
of hardcoded paths.
2013-03-24 01:00:00 +01:00
Themaister
51b5a2df5c
Refactor aspect_ratio member.
...
Mutate in g_extern.system.aspect_ratio to avoid
getting wrong aspect ratio on reentrancy.
2013-03-17 22:05:15 +01:00
twinaphex
3bc487be87
Merge branch 'ios' of git://github.com/meancoot/RetroArch
2013-03-15 20:05:15 +01:00
twinaphex
af02acbdd4
(RGUI/GL) Create gl_init_rgui_texture (avoids duplication of code)
2013-03-12 01:36:42 +01:00
twinaphex
c638728917
(GL) Don't needlessly compile in FBO functions if HAVE_FBO isn't
...
defined
2013-03-12 00:00:42 +01:00
twinaphex
b4108eb343
Add set_osd_msg to video_poke
2013-03-11 21:42:02 +01:00
twinaphex
63883a1131
Combine render_msg and render_msg_place with params argument
2013-03-11 20:05:05 +01:00
twinaphex
d9c3a99d0b
Update some credits
2013-03-11 07:13:11 +01:00
twinaphex
e7287d19e5
Add HAVE_FBO ifdefs for gl and gx_video as well
2013-03-10 20:25:47 +01:00
Themaister
0e75731685
Add get_fbo_state().
2013-03-10 20:13:04 +01:00
Themaister
0b67cd7e84
Add apply_state_changes.
2013-03-10 19:49:26 +01:00
Themaister
63d946c69f
Add set_rgui_texture interface to video_poke.
2013-03-10 19:14:28 +01:00