Commit Graph

795 Commits

Author SHA1 Message Date
LazyBumHorse 692dc9f6a9 refactor shader checks affected by last commit and more:
- gl.c: refactor backend fallback into more general gl2_get_fallback_shader_type
 - d3d9-12, gl_core, gx2_gfx, gl, vulkan: more consistent shader init and `set_shader` behavior
 - configuration.c: remove check_shader_compatibility
 - shader_glsl.c, shader_gl_cg.c: use `video_shader_get_type_from_ext`
 - shader_gl_cg.c: add shader type check with fallback to stock like in shader_glsl.c
 - menu_shader.c: use `enum rarch_shader_type` instead of `unsigned`
 - video_shader_parse.c: add `video_shader_to_str` for easier logging
 - remove `type` from `struct video_shader`, which was always set to CG and wrongly used in lang_process.cpp's `slang_process()` (has no further consequences because the code is unused)
2019-06-18 13:44:19 +02:00
LazyBumHorse 42e35c825f refactor some video_shader_parse functions
- video_shader_parse_type()'s fallback only worked for NULL paths and was wrongly used, now returns RARCH_SHADER_NONE like video_shader_get_type_from_ext().
 - video_shader_get_type_from_ext() should not be checking video driver flags, this is instead done by video_shader_is_supported()
 - video_driver_get_all_flags() did not actually 'get' flags, changed to video_driver_test_all_flags()

workaround for crash due to glcore not always using at least OpenGL 3.2
2019-06-18 13:12:56 +02:00
twinaphex f061941456 Integrate record_driver.c into retroarch.c 2019-06-17 16:23:46 +02:00
twinaphex ecb6318f40 Some buildfixes 2019-05-13 01:07:02 +02:00
Huw Pascoe acb28a38c4 video_layout gl basic implementation 2019-05-11 14:23:26 +01:00
Huw Pascoe 2c56011f84 video_layout interface 2019-05-11 09:58:48 +01:00
Nathan S edb37ccf70 menu widgets: cleanup fix and draw above overlay for gl and vulkan (#8732)
* menu_widgets: cleanup properly all widgets when loading or closing content

* gl: draw menu widgets above overlay

* vulkan: draw menu widgets above overlay

* vulkan: draw OSD above overlay

* menu_widgets: better cleanup
2019-05-11 06:26:40 +02:00
twinaphex a0b2d97ca3 Hide 'Take Screenshot' for video drivers that don't support
taking screenshots yet
2019-05-05 13:46:26 +02:00
twinaphex 499235cd40 (CXX_BUILD) Another buildfix 2019-04-20 19:55:50 +02:00
twinaphex ab33d16da1 Small cleanup 2019-04-03 16:33:16 +02:00
twinaphex 794f9c8968 (GL) Add comments 2019-03-18 16:02:28 +01:00
twinaphex 7c93da1360 (GL2) Simplifications 2019-03-18 15:57:43 +01:00
twinaphex 819016b00c Move video_shader_driver_init to gl.c 2019-03-18 15:52:21 +01:00
twinaphex 27928081cf Cleanups 2019-03-18 15:27:37 +01:00
twinaphex f67bfa24ef Get rid of video_poke_interface set_mvp 2019-03-18 15:19:11 +01:00
twinaphex fe1255094f Get rid of now unused set_coords in video_driver_poke_interface 2019-03-18 05:04:23 +01:00
Brad Parker 8064672f11 gl: set shader data to null after deinit 2019-03-13 16:22:04 -04:00
twinaphex b347b26d61 Reimplement shader flags being set - GL core should have only
Slang support and no GLSL, with the GL2 driver it is dependent
on the context driver
2019-03-13 14:06:50 +01:00
twinaphex cd77093588 Reimplement gl2_get_flags to no longer be reliant on shader driver's
get flags implementation
2019-03-13 12:12:02 +01:00
twinaphex 191d0c0309 Add get_flags to GL shader interface 2019-03-13 11:21:00 +01:00
twinaphex 3d06b4aee2 Add comment about hack 2019-03-12 21:47:35 +01:00
cold-brewed 8a6de4adfb (macOS) Add temporary GL hack 2019-03-11 19:16:59 -04:00
Brad Parker 10df615d14 add "Send Debug Info" option under Help 2019-03-07 19:17:54 -05:00
twinaphex 74a35d8be1 (GL2) Add GL1 fallback 2019-02-21 21:49:22 +01:00
Brad Parker 3a431adf02 gl: draw OSD on top of overlay 2019-02-17 18:51:19 -05:00
twinaphex eee2445c45 (GL) Buildfix for GL_DEBUG 2019-02-09 04:07:12 +01:00
twinaphex 6d54ebfcec (GL2) Some cleanups 2019-02-07 23:54:33 +01:00
twinaphex c1415d70f8 (GL2) Fix warnings with CXX_BUILD 2019-02-07 23:16:50 +01:00
natinusala c20ab3864d First version of menu widgets (gl only) 2019-02-06 20:48:24 +01:00
twinaphex c48febc4f9 (GL2) Cleanups 2019-02-06 19:49:45 +01:00
twinaphex 1e394091d8 Namespace GL2 driver 2019-02-06 19:43:31 +01:00
twinaphex 1b79f08715 (GL) Use set_coords function directly 2019-02-05 02:24:13 +01:00
twinaphex ba9de324bf Simplify gl.c 2019-02-05 02:19:16 +01:00
twinaphex 9877e1ce3e (GL) Cleanups 2019-02-05 02:12:42 +01:00
twinaphex 5102eff399 (GL) Move GL-only shader code to gl.c 2019-02-05 01:13:39 +01:00
Twinaphex 7fedabee4b
Merge pull request #8163 from orbea/cleanup
Cleanup
2019-02-04 23:19:05 +01:00
twinaphex 845b30131f Cleanups 2019-02-04 23:17:39 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
twinaphex 4cbbd3470b Revert "Simplify video_driver_set_mvp"
This reverts commit 1dd89e1bce.
2019-02-03 19:40:48 +01:00
twinaphex 4aadd53d80 Revert "Get rid of video_shader_driver_scale"
This reverts commit 256b28fa2a.
2019-02-03 19:40:36 +01:00
twinaphex 1eeb58c5dd Revert "Cleanups"
This reverts commit 4554669750.
2019-02-03 19:40:27 +01:00
twinaphex 5a45464bb3 Revert "Reimplement video_driver_set_coords"
This reverts commit 93ded925d3.
2019-02-03 19:40:21 +01:00
twinaphex 43884758c5 Revert "(GL) Cleanups"
This reverts commit 5bab7e4460.
2019-02-03 19:40:15 +01:00
twinaphex 5bab7e4460 (GL) Cleanups 2019-02-03 18:38:18 +01:00
twinaphex 93ded925d3 Reimplement video_driver_set_coords 2019-02-03 18:29:00 +01:00
twinaphex dd366cd5c5 Revert "Simplify set_coords"
This reverts commit e10eb51f71.
2019-02-03 18:05:14 +01:00
twinaphex e10eb51f71 Simplify set_coords 2019-02-03 18:03:07 +01:00
twinaphex 4554669750 Cleanups 2019-02-03 17:49:31 +01:00
twinaphex 256b28fa2a Get rid of video_shader_driver_scale 2019-02-03 17:39:25 +01:00
twinaphex 67e777767c Revert "Remove video_shader_driver_get_ident"
This reverts commit 0814cc34ee.
2019-02-03 07:07:50 +01:00
twinaphex 0814cc34ee Remove video_shader_driver_get_ident 2019-02-03 07:06:57 +01:00
twinaphex 1dd89e1bce Simplify video_driver_set_mvp 2019-02-03 06:53:02 +01:00
twinaphex add4ac00eb Cleanups 2019-02-03 06:28:27 +01:00
twinaphex 9a04c4c67b Get rid of video_shader_driver_get_prev_textures 2019-02-03 05:49:18 +01:00
twinaphex 000787837e Cleanups 2019-02-03 05:41:43 +01:00
twinaphex 9b233f71ac Buildfixes 2019-02-03 05:32:03 +01:00
twinaphex 7e92468508 Get rid of video_shader_driver_filter_type 2019-02-03 05:28:00 +01:00
twinaphex 845c8d1757 Get rid of more video_shader_driver functions 2019-02-03 05:05:23 +01:00
twinaphex 7e81ac4218 Get rid of video_shader_driver_mipmap_input 2019-02-03 04:47:52 +01:00
twinaphex 9aa542b1ae * Get rid of video_shader_driver_use
* Get rid of Nuklear - ozone/menu widgets is probably the replacement
for it - Zarch will go next
2019-02-03 04:37:54 +01:00
twinaphex 633ad1788d Turn this into static function 2019-02-03 00:13:41 +01:00
twinaphex 91f8e8465a (GL) Cleanups 2019-02-03 00:11:41 +01:00
twinaphex 97dc77b940 (GL) renderchain interface is gone now 2019-02-03 00:07:53 +01:00
twinaphex 1a6d0b2ce4 Update 2019-02-02 21:52:33 +01:00
twinaphex 0c0ab19b11 (GL) We don't need gl_common.c anymore 2019-02-02 21:47:31 +01:00
twinaphex 350b0dd1a2 gl_add_lut can now become a static function inside gl.c 2019-02-02 21:34:02 +01:00
twinaphex 90f1317498 Cut down on code duplication - create gl_load_luts 2019-02-02 21:32:37 +01:00
twinaphex 2560d1c105 Move gl_load_texture_data to gl_common.c 2019-02-02 17:33:58 +01:00
Brad Parker 5ea97cccb9 win32: force video driver to gdi if no accelerated graphics driver is found 2019-01-31 09:48:10 -05:00
M4xw 7d186f7d2c Revert PR #8043 2019-01-20 20:06:57 +01:00
twinaphex 8349f9217c Warning cleanup 2019-01-20 01:52:20 +01:00
twinaphex 22e99568ed Small cleanups 2019-01-20 00:48:02 +01:00
Twinaphex b99ad352e3
Merge pull request #8043 from daliaetnano/fix-6747-black-bug
Fix #6747 Black bug
2019-01-20 00:17:37 +01:00
orbea 46676289d4 Fix segfault with a null gl context. 2019-01-19 13:56:39 -08:00
Nano c017271d8a Fix #6747 Black bug 2019-01-19 10:26:06 +01:00
twinaphex 4c8e5e07c0 Fix some CXX_BUILD errors 2019-01-12 18:35:14 +01:00
Twinaphex 01397f008a
Revert "Fix issue #6747 black bug" 2019-01-10 22:52:13 +01:00
Nano f1ba335cb3 Fix issue #2791 black bug 2019-01-09 22:52:45 +01:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
Twinaphex 1aee59f9f4
Revert "Fix issue #2791 black bug" 2018-12-24 03:33:18 +01:00
Nano 770bd52411 Fix issue #2791 black bug 2018-12-23 18:31:21 +01:00
natinusala 9cad7135a9 libnx: implement focus gain and loss callbacks 2018-11-28 14:11:42 +01:00
twinaphex bc0dbffc01 Revert "Change custom_command_method_t returntype to int64_t"
This reverts commit e13efbd400.
2018-11-26 20:30:53 +01:00
twinaphex e13efbd400 Change custom_command_method_t returntype to int64_t 2018-11-26 17:39:04 +01:00
twinaphex 778c3fff73 (GL) Use shader_driver directly 2018-10-15 06:47:18 +02:00
twinaphex 6b03a95b8d Cleanup 2018-10-14 20:04:29 +02:00
twinaphex 454761a6ed Get rid of video_context_driver_bind_hw_render 2018-10-14 19:49:24 +02:00
twinaphex c73d13d4bc Don't use video_context_driver_check_window anymore - go call it
directly
2018-10-14 08:40:00 +02:00
twinaphex 448d2d333c Set ctx_driver 2018-10-14 08:22:26 +02:00
twinaphex e661cf3cfd Rewrite video_context_driver_init_first 2018-10-14 08:13:05 +02:00
twinaphex 85c1de7d3a Cleanups 2018-10-11 05:05:21 +02:00
twinaphex 75f8e2e7a1 Revert 2018-10-11 03:52:38 +02:00
twinaphex 5b4473b948 Create gl_set_core_context 2018-10-10 18:24:41 +02:00
twinaphex c3c169aeab Add this 2018-10-10 18:08:13 +02:00
twinaphex f336fa0337 CXX_BUILD fixes 2018-10-10 16:38:13 +02:00
twinaphex c02536af08 Roll all this back 2018-10-09 20:42:47 +02:00
flyinghead 8d586e1a0c Do not force the requested hw context to be Open GL 2018-10-09 20:31:40 +02:00
flyinghead c11e47b08a Checking for core context returns an error in GL3
This error should be ignored.
Mac build fix
2018-10-09 19:27:55 +02:00
Flyinghead d4815084ec Update the rendering context with the GL version whether it is a core context 2018-10-09 17:58:36 +02:00
twinaphex a27bce38cd Simplify gl_get_context 2018-10-09 16:46:40 +02:00
twinaphex 0b3ac4e39d Fix C++ comment 2018-10-09 15:28:09 +02:00
twinaphex 508e5efdd7 Revert "Should hopefully fix Reicast issues"
This reverts commit 509ecab3fe.
2018-10-08 18:54:26 +02:00
twinaphex 509ecab3fe Should hopefully fix Reicast issues 2018-10-08 15:39:00 +02:00
twinaphex 60eb45c102 prevent some pointer grabbing 2018-10-01 02:00:07 +02:00
M4xw cf097d7f42 [LIBNX] Implement OpenGL 2018-09-27 01:23:24 +02:00
twinaphex 4738ef545c Change interval type to signed int 2018-09-12 00:08:13 +02:00
Brad Parker e2ff7478ca don't return uninitialized data 2018-08-17 07:49:25 -04:00
twinaphex 6266065384 Fix more code when compiling without menu support 2018-08-16 09:59:51 +02:00
twinaphex 921e52e64f Remove old leftover buggy Win32 driver 2018-08-16 00:05:09 +02:00
Tatsuya79 e96463645d
Disable gl hard sync in menu 2018-05-17 17:24:10 +02:00
twinaphex 659d8a4ec6 (GL) Cleanups 2018-05-13 14:34:41 +02:00
twinaphex 5bde17025a Move min_filter_to_mag to gl_common.h 2018-05-13 14:24:49 +02:00
twinaphex 08820b5245 Cleanup gl_update_input_size 2018-05-13 06:43:24 +02:00
twinaphex 1f944afff7 (GL) Cleanups 2018-05-13 06:34:15 +02:00
twinaphex 494ddb16d9 Get rid of viewport_info callback function - was the same for both
GL1 and GL2 renderchains
2018-05-13 05:56:44 +02:00
twinaphex f1d707a043 Running gl_check_capability from gl_get_flags resulted in a crash
on some Android systems, so unfortunately we cannot selectively hide
away GPU Hard Sync for now
2018-04-26 20:45:01 +02:00
twinaphex 37b1c9e8e9 Add NULL entry 2018-04-26 16:05:57 +02:00
twinaphex 6b31bd8b48 Only show Menu Linear Filter for RGUI and only show it for
video drivers that implement it
2018-04-24 15:14:06 +02:00
twinaphex e54cb1b121 Only show black frame insertion for the video drivers/context drivers
that support it
2018-04-23 14:15:21 +02:00
twinaphex f1fa1d4879 Previously, GPU Hard Sync options would only show up if the
video driver was explicitly set to the GL driver; now, it can be
dynamically shown for more video drivers if there are going to be
more drivers supporting this feature other than GL
2018-04-23 13:42:09 +02:00
twinaphex c4c8699ee3 Only show max swapchain images if supported by video driver and/or
context driver
2018-04-23 13:34:30 +02:00
twinaphex eb69025ca8 Cleanups 2018-04-23 11:30:38 +02:00
twinaphex dae0f36a20 Some cleanups 2018-04-21 15:00:35 +02:00
Brandon Wright 533f898132 Add get refresh rate context function. Implement for X11 and Wayland. 2018-04-15 17:56:12 -05:00
Brandon Wright 7a00534378 Add poke interface for get_refresh_rate. 2018-04-15 17:56:11 -05:00
Twinaphex 08a54e45f2 Get rid of a lot of implicit conversions 2018-04-09 15:56:45 +02:00
aliaspider 88d1c1fdca msvc build fix. 2018-03-25 23:11:31 +01:00
twinaphex 9b8713aebd Fix Coverity defects 2018-03-24 11:59:01 +01:00
twinaphex 4d1b4f905f Start adding OSD statistics - doesn't work yet for SDL2/SDL 2018-03-23 17:43:49 +01:00
twinaphex 696fa900a1 Refactor macro functions which were unsafe 2018-02-26 18:08:17 +01:00
twinaphex 5b79d2b942 Refactor video_shader_driver_set_parameters 2018-02-26 17:51:52 +01:00
twinaphex 1e2d8de9ca Move renderchain code to the relevant files 2018-02-16 11:24:10 +01:00
twinaphex 6738d64546 Cleanups 2018-02-11 16:45:40 +01:00
radius e9b7c7267e fix some potential crashes when a shader is not set in config 2018-02-07 21:26:01 -05:00
radius c64d5556c1 readd shader to config, let's use a runtime check instead of overwritting the shader preset all the time 2018-02-07 21:25:59 -05:00
twinaphex 08e61230e9 Update video_poke_interface 2018-01-30 22:29:57 +01:00
twinaphex 7dcd46a20f Get rid of HAVE_MENU ifdefs for video_driver_poke interface 2018-01-30 22:14:47 +01:00
Toad King 55334aeffd fix black frame insertion in emscripten 2018-01-20 13:01:48 -06:00
twinaphex fb257eb21e (GL/Raspberry Pi) Should fix the regression with GL cores on
Raspberry Pi
2018-01-19 22:45:04 +01:00
radius 8007c3efd7 Disable hard sync on FF without mangling settings 2018-01-08 20:06:24 -05:00
twinaphex 82d44e9ad3 Cut down on more HAVE_MENU ifdefs 2017-12-31 18:02:14 +01:00
twinaphex bd16fd49ab Fix ./configure --disable-rgui 2017-12-31 17:53:11 +01:00
twinaphex cf3a010ead Remove some HAVE_MENU ifdefs 2017-12-31 17:42:07 +01:00
gblues 6904101c44 Clean up trailing whitespace
== DETAILS

Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
twinaphex 48c3a50932 Move more variables 2017-12-04 13:03:14 +01:00
twinaphex f47888aeda Move more variables to renderchain data 2017-12-04 12:50:22 +01:00
twinaphex 19ad9aa1cb Add resolve extensions callback 2017-12-04 12:43:22 +01:00
twinaphex 05ab278aca Pass chain userdata to renderchain driver 2017-12-04 11:54:30 +01:00
twinaphex c869cc5102 Refactor GL code 2017-12-04 05:55:18 +01:00
twinaphex c0d8a2f093 Cleanup 2017-11-16 14:01:42 +01:00