Commit Graph

2232 Commits

Author SHA1 Message Date
Stuart Carnie 167ad3b57d fix(Metal): Various Metal fixes
* OSD message background
* clear glui background
* add Metal to configuration
* added optional config to compile Metal build without OpenGL
* fixed fill_pathname_join_delim; if out_path and dir are same, don't
  strlcpy, as the results are undefined.
2018-07-12 21:33:18 -07:00
Brad Parker ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04:00
twinaphex 6b5ade4ac3 Should be no more deprecated warnings with core context GL for menu
shaders
2018-07-12 22:03:37 +02:00
twinaphex 60d7d1c793 Add xmb ribbon simple core shader 2018-07-12 21:34:17 +02:00
Stuart Carnie 40a1446c95 feat(Metal): Reload shader preset when Metal driver reinitialized 2018-07-07 07:31:43 -07:00
Stuart Carnie 74e1f24e90 feat(Metal): Full screen support
* I believe there is a race condition where the viewport is not set
  correctly on launch
2018-07-06 23:38:34 -07:00
Stuart Carnie a19ea2ed07 feat(Metal): Add support for overlays 2018-07-04 13:12:40 -07:00
Stuart Carnie 048aa16599 feat(Metal): Support vsync enable / disable 2018-07-04 09:50:09 -07:00
Stuart Carnie 5e1f991e32 feat(Metal): initial xmb and glui menu support
TODOs

* menu shader pipeline effects
* refactor / optimize graphics rendering
2018-07-03 22:32:12 -07:00
Stuart Carnie 367c15f488 feat(Metal): font rendering
* FPS and other OSD messages render correctly
* add autoreleasepool around entire render loop to avoid memory leaks
2018-06-23 23:54:23 -07:00
Stuart Carnie eacd52f009 fix(Metal): improve shader stability
* use MTKView, which handles layer and scaling changes automatically
  between displays
2018-06-23 13:33:27 -07:00
twinaphex 0d8729daa6 FIx warning 2018-06-21 08:12:02 +02:00
Stuart Carnie 411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
misson20000 1404b63219 fix for tearing (depends on libtransistor commit cf5d0403 in v2.0.0, which is yet to be released) 2018-05-30 18:04:58 -07:00
Tatsuya79 e96463645d
Disable gl hard sync in menu 2018-05-17 17:24:10 +02:00
twinaphex 6d2b5c8052 Move read_viewport function back to d3d9.c 2018-05-17 17:17:08 +02:00
twinaphex 2d540264e8 Start hooking up set_shader_mvp function 2018-05-15 06:02:10 +02:00
twinaphex 39f45a17d2 create d3d9_convert_geometry 2018-05-14 21:32:14 +02:00
twinaphex e9054159ec Remove set_font_rect callback 2018-05-14 16:57:34 +02:00
twinaphex 232d3f4d92 Take out add_state_tracker function callback for D3D9 renderchain 2018-05-14 06:33:51 +02:00
twinaphex 94955eb3b5 (D3D8) Do less casting 2018-05-14 05:14:26 +02:00
twinaphex cbe4c78979 (D3D8/D3D9) Cleanups 2018-05-14 04:55:33 +02:00
twinaphex 6a9b39da3f Get rid of d3d.h and xdk_defines.h 2018-05-14 03:57:27 +02:00
twinaphex 8beed4c1ec (360) Buildfix 2018-05-14 01:50:58 +02:00
twinaphex 380fa6fd5e Updates 2018-05-13 18:51:05 +02:00
twinaphex 46f23f9fbd Get rid of d3d_video_viewport 2018-05-13 18:24:19 +02:00
twinaphex c6cc2c930c Create d3d9_log_info 2018-05-13 18:01:09 +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 999f1db694 Cleanup 2018-05-13 06:30:13 +02:00
twinaphex 41295ef7b9 Remove viewport_info callback from D3D9 renderchain interface 2018-05-13 06:29:17 +02:00
twinaphex dee50349ba Rename d3d_renderchain_driver to d3d9_renderchain_driver 2018-05-13 06:03:26 +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 542294900f (WinRT) More compilation fixes 2018-05-12 19:03:39 +02:00
Diego A 3b738e0b2d
Always enable vfilter, enable deflicker setting in progressive scan, fix vsync set to off 2018-05-10 18:44:22 -04:00
twinaphex 41d2ebf8b5 Apparently not available 2018-05-08 00:16:20 +02:00
twinaphex 2c409c606e (Winphone) should be _DISCARD 2018-05-07 23:19:42 +02:00
twinaphex 244f167dd5 (D3D11) Start adding D3D feature level 9 and Windows Phone ifdefs 2018-05-07 23:18:59 +02:00
Ash 68d789a4ea
[WiiU] Fix out-of-bounds rendering bug 2018-05-06 21:18:03 +10:00
twinaphex 6c09195f5e (D3D8/D3D9) Updates 2018-05-03 22:08:14 +02:00
twinaphex 6d019284f8 Get rid of some of the casts 2018-05-03 22:06:04 +02:00
twinaphex 82ebb9576f Create d3d9_video_t and d3d8_video_t 2018-05-03 22:03:12 +02:00
twinaphex 7bc66ae710 Buildfixes for MSVC 2015 2018-05-03 15:20:06 +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 023e280319 win32_get_refresh_rate not available on Xbox 2018-04-25 14:20:37 +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 c506f489df (D3D8) Hook up Menu Linear Filter 2018-04-24 14:49:58 +02:00
twinaphex a75e7ede0d (D3D9) Implement Menu Linear Filter 2018-04-24 14:47:21 +02:00
twinaphex 45cea92ba2 Remove null_renderchain 2018-04-23 14:57:37 +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 b1a2d1991c (d3d10.c) Cleanups 2018-04-23 13:09:05 +02:00
twinaphex 6f3003554e (D3D10/D3D11/D3D12) Don't load menu pipeline shaders unless XMB
is selected
2018-04-23 12:59:28 +02:00
twinaphex eb69025ca8 Cleanups 2018-04-23 11:30:38 +02:00
twinaphex 2a655116a6 Set #define CINTERFACE in these files 2018-04-22 14:27:39 +02:00
twinaphex 248f1242dc Some warning fixes 2018-04-21 18:14:19 +02:00
twinaphex dae0f36a20 Some cleanups 2018-04-21 15:00:35 +02:00
twinaphex 30c824c30a Try to fix MSVC warning 2018-04-21 08:54:57 +02:00
twinaphex 6929db9fb6 (D3D10/D3D11) Compile shaders with SM 4.0 instead of 5.0 2018-04-21 05:36:59 +02:00
twinaphex 832cc4e945 (MSVC) Silence warnings 2018-04-21 05:20:22 +02:00
aliaspider b78dcf9f4c update D3D10 driver. 2018-04-21 03:56:19 +01:00
twinaphex 9f2b56a929 Update Direct3D 10 driver 2018-04-21 03:27:41 +02:00
twinaphex 16df2ceb4e Fix Xbox OG 2018-04-17 11:39:59 +02:00
twinaphex b0e62f3ec6 (D3D11) Add more feature levels
(D3D11) If CreateDeviceAndSwapchain fails, error out gracefully
2018-04-17 21:29:02 +02:00
Brandon Wright c4f818599c Add some fbdev refresh rate polls. Also Xv. 2018-04-16 16:23:59 -05:00
Brandon Wright 95f8205fd1 Add DRM interface for refresh rate. 2018-04-16 15:36:46 -05:00
Brandon Wright e049605359 Add refresh rate polling to Win32 >= Windows 7. 2018-04-15 19:33:38 -05: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 97cf6613da (XMB/Shaders) Reimplement menu shader loading for GLSL/Cg/HLSL backends - if
XMB is selected, it will compile the shader pipelines in
advance
2018-04-12 02:20:17 +02:00
twinaphex 260cd62482 Cleanup some CXX_BUILD warnings 2018-04-09 18:53:26 +02:00
twinaphex 50edd0d467 Remove unused variable 2018-04-09 16:45:44 +02:00
Twinaphex 08a54e45f2 Get rid of a lot of implicit conversions 2018-04-09 15:56:45 +02:00
twinaphex 92b46a8275 Some cleanups 2018-03-30 15:50:27 +02:00
Brandon Wright 3bbff3c689 Use _NET_WM_STATE_FULLSCREEN as a first measure, only falling back to override-redirect when not supported. 2018-03-29 17:13:51 -05:00
Brandon Wright 5da1aa0af7 Allow compositor disabling on X11 fullscreen through _NET_WM_BYPASS_COMPOSITOR.
Note: KWin doesn't bypass compositor on override-redirect windows, so enabling windowed fullscreen is necessary.
2018-03-29 15:20:14 -05:00
twinaphex 6e662a8064 (D3D12) Buildfix 2018-03-29 15:29:36 +02:00
twinaphex ef5830b233 Silence some CXX_BUILD warnings 2018-03-29 15:27:30 +02:00
Dwedit 2c1cb6cf55 Rename "cached_device" to "cached_device_d3d11" avoid a name conflict on griffin builds 2018-03-28 10:33:37 -05:00
aliaspider 97ecba8575 D3D11: hwrender: add support for cache_context. 2018-03-26 17:44:08 +01:00
aliaspider 3d96cacd71 add experimental D3D11 hwrender support. 2018-03-25 23:14:14 +01: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 9057ffbde4 use boolean.h instead of stdbool.h 2018-03-24 11:45:50 +01:00
twinaphex 4d1b4f905f Start adding OSD statistics - doesn't work yet for SDL2/SDL 2018-03-23 17:43:49 +01:00
orbea 7526b12338 Fix apitrace shader compiler warning.
2418: message: major shader compiler issue 2: 0:3(311): warning: `atime' used uninitialized
  2418 @0 glCompileShader(shader = 27)
  2418: warning: 0:3(311): warning: `atime' used uninitialized
2018-03-20 17:39:33 -07:00
aliaspider b948cf46e7 (Vulkan) add missing queue locks when calling vkQueueWaitIdle. 2018-03-15 09:21:23 +01:00
twinaphex 32b2808fe0 Revert "Turn scaler_ctx_scale_direct into inline function"
This reverts commit d51edd8239.
2018-03-14 23:48:47 +01:00
twinaphex d51edd8239 Turn scaler_ctx_scale_direct into inline function 2018-03-11 18:14:17 +01:00
misson20000 e934f11065 NSW: skip frames if we can't acquire a buffer (newer libtransistors use three buffers, making this very unlikely to happen) 2018-03-06 20:55:40 -08:00
misson20000 4a4de74518 NSW(gfx): clear image row-by row for better caching (it's seriously a LOT faster), do pixel format conversion in scalers, and remove timing debug messages 2018-03-06 19:52:03 -08:00
misson20000 90c36c52ce NSW: fix graphics driver colors for rgb32 and don't break aspect ratio when scaling menu texture 2018-03-05 23:45:28 -08:00
misson20000 7487d938b3 NSW: remove global state in graphics driver, as it is no longer necessary 2018-03-05 20:14:52 -08:00
twinaphex 63823b339a Buildfix for D3D8 2018-03-03 15:34:21 +01:00
twinaphex b4a743fff4 Split up menu display drivers for D3D8/D3D9 into separate drivers;
split up d3d_common into separate files
2018-03-03 15:28:58 +01:00
twinaphex 0566b056a5 Take out d3d_common function call from d3d_w32_font.c 2018-03-03 05:42:14 +01:00
twinaphex 3f1ae25713 (D3D8) Buildfix 2 2018-03-02 17:44:48 +01:00
twinaphex ed67653086 (D3D8) Buildfix 2018-03-02 17:43:58 +01:00
twinaphex 371b6a604e (Xbox) Buildfix 2018-03-02 17:43:18 +01:00
twinaphex 588707f543 Cleanups 2018-03-02 17:30:21 +01:00
twinaphex 0ec5ce8cfe Get rid of d3d context drivers 2018-03-02 17:23:43 +01:00
twinaphex 95371cbda1 (Xbox 360) Buildfix 2018-03-02 17:05:30 +01:00
twinaphex dfdbc00a84 Cleanup Xbox 360 code from d3d_ctx 2018-03-02 17:03:34 +01:00
twinaphex dbf2fae5c1 (D3D9) Get rid of context driver 2018-03-02 17:00:11 +01:00
twinaphex fc9e018534 Implement d3d9_set_video_mode 2018-03-02 16:53:15 +01:00
twinaphex 7c599b715e Implement d3d9_has_windowed 2018-03-02 16:46:32 +01:00
twinaphex 9606db6f79 Start untangling more functions from context driver 2018-03-02 16:38:57 +01:00
twinaphex af5a2f61a1 (D3D9) Start getting rid of context driver for D3D9 driver 2018-03-02 15:30:39 +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 7acd4b1847 (Windows) Buildfixes - use fseek for MSVC 2003 and earlier 2018-02-17 19:11:49 +01:00
twinaphex 89cd494ab7 (WiiU) Buildfix 2018-02-17 11:27:14 +01:00
radius 7913b88853 fix potential wiiu crash 2018-02-17 00:10:08 -05:00
twinaphex 070c09faec Avoid more pointer grabbing for video driver ptr 2018-02-16 20:42:37 +01:00
twinaphex 1e2d8de9ca Move renderchain code to the relevant files 2018-02-16 11:24:10 +01:00
Andrés d3504abc5d
try to fix shader preset loading on WiiU 2018-02-12 12:27:16 -05:00
Andrés 521433d1c7
Merge pull request #6293 from aliaspider/master
(D3D) better handling of frame duping.
2018-02-11 21:36:21 -05:00
aliaspider 72e6909aaa (D3D) better handling of frame duping. 2018-02-12 03:25:37 +01:00
Twinaphex 34edaaf98b
Merge pull request #6291 from aliaspider/master
(D3D12) silence warning.
2018-02-12 01:32:16 +01:00
aliaspider 8a93e8d503 (D3D12) silence warning. 2018-02-12 01:29:44 +01:00
Twinaphex e428cec428
Merge pull request #6290 from aliaspider/master
(D3D11/12) add overlays.
2018-02-12 01:25:19 +01:00
aliaspider 98682197c9 (D3D11/12) add overlays. 2018-02-12 01:19:43 +01:00
Twinaphex 327e2237d6
Merge pull request #6289 from aliaspider/master
(D3D11/12) prevent double-free when resizing framebuffers.
2018-02-11 23:03:04 +01:00
aliaspider 19aed2af36 (D3D11/12) prevent double-free when resizing framebuffers.
(D3D12)
- correctly support lut/filtering/wrap options for slang shaders.
- rework frame sync.
2018-02-11 22:56:37 +01:00
twinaphex 6738d64546 Cleanups 2018-02-11 16:45:40 +01:00
Twinaphex d8257f4817
Merge pull request #6279 from aliaspider/master
(D3D12) slang shaders support.
2018-02-11 02:00:46 +01:00
aliaspider 37bebb5b65 (D3D12) slang shaders support. 2018-02-11 00:00:20 +01:00
twinaphex b31779c588 (D3D8/9) Don't do allocation for this struct 2018-02-10 22:27:38 +01:00
twinaphex b45b1b3e55 (D3D8) Refactor texture loading to no longer be thread-unsafe 2018-02-10 21:36:40 +01:00
twinaphex b141c37fe9 Get rid of set_mvp function in D3D9 renderchain driver - use
one common set_mvp function instead
2018-02-10 21:21:09 +01:00
twinaphex 843a7f200c (D3D9) Make video texture load functions thread-safe 2018-02-10 21:13:24 +01:00
aliaspider e11209ac79 (D3D12) precompute alpha before scaling when generating mipmaps. 2018-02-09 16:33:08 +01:00
aliaspider 6fe379d978 (D3D12) add a compute shader for mipmap generation. 2018-02-09 14:57:07 +01:00
Twinaphex 8e33b35b09
Merge pull request #6257 from aliaspider/master
(D3D11/12) fix dialogbox / gradient.
2018-02-08 20:54:05 +01:00
aliaspider 97813b9722 (D3D11/12) fix dialogbox / gradient. 2018-02-08 17:11:24 +01:00
radius 30353792a5 update gx2_gfx to use retroarch_get_shader_preset() 2018-02-07 21:26:01 -05: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
aliaspider 0d88799e6d (D3D12) add menu display driver. 2018-02-08 00:18:05 +01:00
aliaspider 92afd7387d (D3D12) add a font driver. 2018-02-08 00:18:04 +01:00
aliaspider e42015e026 (D3D12) allow for dynamic allocation of descriptors. 2018-02-08 00:18:04 +01:00
aliaspider 757a9c08de (D3D) refactors. 2018-02-08 00:18:04 +01:00
aliaspider 4ccb844ad6 (D3D12) add font and menu pipelines. 2018-02-08 00:18:04 +01:00
aliaspider b030588669 (D3D12) refactor d3d12_init_samplers, add support for wrap modes. 2018-02-08 00:18:04 +01:00
aliaspider 6d90aae5d6 (D3D12) refactor init_pipeline. 2018-02-08 00:18:04 +01:00
twinaphex cbd5e87711 Indenting nits 2018-02-04 22:12:53 +01:00
twinaphex 534e5bbf34 Make code compatible when compiled as C++ 2018-02-04 21:50:05 +01:00
twinaphex 028fc18294 Fix more warnings 2018-02-04 21:12:42 +01:00
twinaphex 2b4890220a (D3D) Silence CXX_BUILD warnings 2018-02-04 20:40:28 +01:00
aliaspider 700fce3bd2 various fixes for CXX_BUILD. 2018-02-04 20:03:27 +01:00
twinaphex ac22a9ce20 (D3D10) Start making D3D10 ready for CXX_BUILD 2018-02-04 17:11:00 +01:00
twinaphex 8771171f63 (glslang) Compatibility tweaks for MSVC 2010 compatibility 2018-02-04 15:49:53 +01:00
Twinaphex e5610d5ddb
Merge pull request #6228 from aliaspider/master
(slang) slang_process: simplify data mappings.
2018-02-03 17:27:25 +01:00
aliaspider 76d07cd6a7 (slang) slang_process: simplify data mappings. 2018-02-03 17:22:47 +01:00
twinaphex df632814e6 Add appropriate HAVE_SPIRV_CROSS ifdefs 2018-02-03 17:13:36 +01:00
twinaphex 1464995fdc (D3D11) ability to compile without HAVE_SLANG 2018-02-03 17:01:47 +01:00
twinaphex dac1f10708 C89_BUILD fixes 2018-02-03 15:16:04 +01:00
Twinaphex 50e902f2ea
Merge pull request #6227 from aliaspider/master
(D3D11) multi-pass shaders: add support for history frames.
2018-02-03 14:48:48 +01:00
twinaphex 0b4ccf25e7 Revert "* d3d11.c - minor cleanups for C89"
This reverts commit fa458b2f5c.
2018-02-03 14:48:34 +01:00
twinaphex fa458b2f5c * d3d11.c - minor cleanups for C89
* C89 build fixes for D3D9X headers
2018-02-03 14:01:32 +01:00
aliaspider e225e96025 (D3D11) multi-pass shaders: add support for history frames. 2018-02-03 13:29:00 +01:00
twinaphex d446742d4b Some C89_BUILD build fixes 2018-02-03 12:47:53 +01:00
aliaspider e30c7edd8d (D3D11) multi-pass shaders: add support for feed-back textures. 2018-02-02 19:57:45 +01:00
aliaspider 6fe3a31617 (D3D11) multi-pass shaders: add support for wrap modes and lut
mipmapping.
2018-02-02 17:18:41 +01:00
aliaspider 2a25e284af (D3D11) better handling of FBO scale. 2018-02-02 14:39:53 +01:00
Twinaphex ba3513fb70
Merge pull request #6215 from aliaspider/master
(slang) slang_process.cpp: add support for more shaders.
2018-02-01 21:10:04 +01:00
aliaspider 461a936eb4 (D3D11) correct the size data of the last pass. 2018-02-01 20:56:40 +01:00
Twinaphex f096e667d8
Merge pull request #6204 from aliaspider/master
(D3D11) Implement slang shader specification using Spirv-Cross.
2018-02-01 16:33:58 +01:00
aliaspider 0aa1164a6f (D3D11) fix fbo size when no scale factor is specified. 2018-02-01 16:29:40 +01:00
aliaspider 3865856aa2 (D3D11) add support for `#pragma format` in slang shaders. 2018-02-01 15:07:12 +01:00
aliaspider 91298255ad (D3D11) resize fbos when the viewport size changes. 2018-02-01 12:45:35 +01:00
aliaspider 4dd8fb4df9 (D3D11) make sure the stock shader is set before drawing the menu
texture.
2018-02-01 12:31:24 +01:00
aliaspider e6c455d2c6 (D3D11) move format support checks to d3d11_init_texture(); 2018-02-01 11:21:51 +01:00
aliaspider d8924d6fbb (D3D11) clear out all unused texture/sampler bindings each pass to avoid
hazards with SetRenderTargets.
2018-01-31 17:05:48 +01:00
aliaspider f7b5baccb6 (D3D11) always save emitted hlsl code when debugging. 2018-01-31 16:12:55 +01:00
aliaspider f907f2ea7d (D3D11) save spirv-cross's hlsl output when shader compilation fails. 2018-01-31 15:55:59 +01:00
aliaspider 5e09af9c77 (D3D11) attach identifiers to the generated slang semantic mappings to
simplify debugging.
2018-01-31 12:00:39 +01:00
radius d953ec2b5f load shader presets at startup on wiiu 2018-01-30 22:49:49 -05:00
aliaspider 5bc78d3ad5 (D3D11) Implement slang shader specification using Spirv-Cross.
(incomplete)
2018-01-31 01:08:36 +01:00
twinaphex 08e61230e9 Update video_poke_interface 2018-01-30 22:29:57 +01:00
twinaphex b0b39ff899 Cleanups 2018-01-30 22:16:16 +01:00
twinaphex 7dcd46a20f Get rid of HAVE_MENU ifdefs for video_driver_poke interface 2018-01-30 22:14:47 +01:00
aliaspider b228775b0d (D3D10/11/12) allow building without HAVE_D3D9 2018-01-30 21:33:25 +01:00
twinaphex a6f8013c24 More MSVC2013 buildfixes 2018-01-29 17:19:36 +01:00
twinaphex 2906744a0d (D3D10) Add non_HAVE_DYNAMIC codepaths 2018-01-29 15:33:30 +01:00
twinaphex 03e800c1c8 Add HAVE_D3D11 to MSVC 2013 - we need non-HAVE_DYNAMIC codepaths
for D3D11
2018-01-29 14:05:44 +01:00
cucholix 648032bd75
Update gx2_gfx.c 2018-01-26 16:10:04 -03:00
cucholix de6c185e88
Shader parameters saving fix
It's @aliaspider code :p
2018-01-26 15:49:34 -03:00
Twinaphex f97ebfbf1f
Merge pull request #6179 from aliaspider/master
(D3D11) add the remaining menu shaders.
2018-01-25 17:18:59 +01:00
aliaspider c0117f077b (D3D11) add the remaining menu shaders. 2018-01-25 17:07:23 +01:00
twinaphex 3adb6cc5a8 CXX_BUILD fixes 2018-01-25 16:42:10 +01:00
twinaphex b0f7728606 CXX_BUILD - buildfixes 2018-01-25 15:54:37 +01:00
aliaspider a2cddb27e5 (D3D11) refactors. 2018-01-25 15:48:53 +01:00
twinaphex 204f9aa484 (360) More buildfixes 2018-01-25 15:35:07 +01:00
twinaphex d4367ed993 Cleanups 2018-01-25 15:30:48 +01:00
twinaphex b9e65fc750 (D3D8) Buildfixes 2018-01-25 14:38:24 +01:00
twinaphex 8f4a1b748b (D3D8/D3D9) More dehardcoding 2018-01-25 14:34:20 +01:00
Twinaphex 994e07fa3d
Update d3d.h 2018-01-25 13:24:39 +01:00
Twinaphex 4315b57791
Update d3d8.c 2018-01-25 12:27:02 +01:00
Twinaphex 8797fa95eb
Update d3d9.c 2018-01-25 12:26:45 +01:00
Twinaphex 1163c1aef8
Update d3d.h 2018-01-25 12:26:12 +01:00
twinaphex aa66ca8bf4 (D3D8) Buildfix 2018-01-25 11:51:24 +01:00
twinaphex 766f3b33c7 Dehardcode some more opaque types defined by macros 2018-01-25 11:50:07 +01:00
twinaphex a18e7767f3 Fix some unreferenced local variable warnings 2018-01-25 10:25:50 +01:00
twinaphex 2634a5ea2d (D3D8) Cleanups 2018-01-25 10:12:49 +01:00
twinaphex 684374eec8 Remove D3DVIEWPORT dependency 2018-01-25 10:03:50 +01:00
Twinaphex ef17085216
Merge pull request #6175 from aliaspider/master
(D3D11) add ribbon shader.
2018-01-25 09:50:57 +01:00
aliaspider 427003fa3b (D3D11) add ribbon shader.
- it doesn't look quite right though.
2018-01-25 09:48:07 +01:00
Twinaphex 85fab182b8
Merge pull request #6174 from aliaspider/master
(D3D11) autogen mipmaps when needed / fix text colors.
2018-01-25 09:33:44 +01:00
aliaspider 17aa49004f (D3D10/11/12) prevent some crashes on driver re-init. 2018-01-25 06:24:39 +01:00
aliaspider da3a90a025 (D3D11) misc. 2018-01-25 05:47:19 +01:00
aliaspider 2a54cbca75 (D3D11) autogen mipmaps when needed. 2018-01-25 04:57:49 +01:00
twinaphex 0588c3c68e Don't rely on LPDIRECT3DTEXTURE 2018-01-25 04:28:50 +01:00
twinaphex 26f9489f89 Replace LPDIRECT3D 2018-01-25 04:12:37 +01:00
Twinaphex f07571f8eb
Merge pull request #6171 from aliaspider/master
(D3D11) sample the font atlas correctly.
2018-01-25 01:59:31 +01:00
aliaspider ccc9d36949 (D3D11) sample the font atlas correctly. 2018-01-25 01:58:17 +01:00
Twinaphex ccfd9d79dd
Merge pull request #6170 from aliaspider/master
(D3D11) update the included shader.
2018-01-25 01:49:16 +01:00
aliaspider 0cd2310a6f (D3D11) forgot to update the included shader. 2018-01-25 01:46:30 +01:00
Twinaphex 3bfc13223c
Merge pull request #6169 from aliaspider/master
(D3D11) font + menu display drivers.
2018-01-25 01:46:17 +01:00
twinaphex bc81a9dc88 Dehardcode LPDIRECT3DDEVICE usage 2018-01-25 01:45:03 +01:00
aliaspider 8354ffd452 (D3D12) add support for scaling/rotation im menu display driver. 2018-01-25 01:34:53 +01:00
aliaspider 45541a0d44 (D3D11) change the sprite vertex buffer to a ring buffer to avoid data
races with the gpu.
2018-01-25 01:03:54 +01:00
aliaspider 68a6b7f402 (D3D11) change the sampler adressing mode to clamp. fixes the background
in xmb.
2018-01-25 00:45:06 +01:00
aliaspider 812eefa601 (D3D11) add menu display driver. 2018-01-25 00:20:06 +01:00
twinaphex 4dc6eb0ae4 (D3D8) Rotation no longer affects RGUI 2018-01-24 22:50:44 +01:00
aliaspider 840bd459df (D3D11) add a font driver. 2018-01-24 20:51:19 +01:00
Twinaphex 472abb1e8f
Merge pull request #6167 from aliaspider/master
(D3D10/11/12) add viewport settings.
2018-01-24 17:40:22 +01:00
aliaspider 30d5cd1a07 (D3D10/11/12) add viewport settings.
- move some common routines to video_driver.c
2018-01-24 15:00:32 +01:00
Twinaphex c30715db10 Revert "Try to prevent rotation on menu"
This reverts commit 042c2e82a0.
2018-01-24 10:28:55 +01:00
twinaphex 042c2e82a0 Try to prevent rotation on menu 2018-01-24 10:16:03 +01:00
twinaphex 9018012c5c (D3D8) Now handles rotation properly (except for RGUI frame
being rotated as well)
2018-01-24 10:08:52 +01:00
aliaspider a6b24ce995 (d3d10/11/12) reformat some files. 2018-01-24 07:45:45 +01:00
twinaphex 80b17668b6 Add initial VS2013 solution 2018-01-24 01:29:45 +01:00
twinaphex 4dd3a22679 (D3D12) Silence MSVC warnings 2018-01-24 00:38:11 +01:00
aliaspider 956c6ca25a (d3d10/11/12) resize swapchain correctly when the window's size changes. 2018-01-23 20:27:03 +01:00
aliaspider 3a53010b13 (D3D10/12) frame duping. re-enable vsync. 2018-01-23 19:11:44 +01:00
aliaspider a5bf9d8dc6 (D3D10/11/12)
.add a d3d10 driver.
.add more utility functions to d3d*_common files.
.add an image transfer/convert function to dxgi_common.
.various refactors / style nits.
2018-01-23 18:04:55 +01:00
twinaphex c6fd61cc86 (D3D8) Buildfix 2018-01-23 07:21:53 +01:00
twinaphex 673a190d84 Merge d3d8_renderchain into d3d8.c 2018-01-23 07:18:46 +01:00
twinaphex ce19e7c98a Get rid of unused reinit function and get rid of other
unused stuff in D3D8
2018-01-23 07:00:25 +01:00
twinaphex 393ebfc467 (D3D8) No automatic generation of mipmaps possible, so remove this code 2018-01-23 06:53:07 +01:00
twinaphex bb1fdad0d9 (Switch) Replace malloc() with calloc() in switch_gfx.c 2018-01-23 06:48:10 +01:00
twinaphex 93523782e5 Uniquely name D3D9 2018-01-23 06:43:03 +01:00
twinaphex f1c5812ff8 (D3D8) Buildfixes 2018-01-23 06:31:33 +01:00
twinaphex 3a30c71cea (D3D8) Buildfix 2018-01-23 06:30:46 +01:00
twinaphex 9be084de00 Static / public functions and interfaces need to be named
uniquely for Griffin
2018-01-23 06:29:33 +01:00
misson20000 5f8c888e0f [NSW] remove checks for running under Mephisto, since not only do they prevent us from running under Yuzu, but we don't have libtransistor_context anymore 2018-01-22 20:36:32 -08:00
twinaphex 4b6c4e5a6a BUildfix for D3D enum 2018-01-23 04:25:37 +01:00
twinaphex d28d14079a Create separate D3D8 and D3D9 drivers 2018-01-23 02:55:33 +01:00
twinaphex 1a20fff7f2 Revert "reimplement mvp for D3D8"
This reverts commit f0d47bcd13.
2018-01-22 23:03:02 +01:00
twinaphex f0d47bcd13 reimplement mvp for D3D8 2018-01-22 23:01:20 +01:00
twinaphex 3271b61b6a Some safeguards 2018-01-22 20:03:34 +01:00
twinaphex 6ee8ddb496 (D3D11) Some minor style nits 2018-01-22 07:35:36 +01:00
aliaspider 80df049f41 (D3D11/12) refactors/fixes. add blending and selectable samplers for
d3d12.
2018-01-21 23:46:50 +01:00
twinaphex e601190ecb (D3D11/12) Fix warnings 2018-01-21 07:57:25 +01:00
twinaphex 8d7e9b31a4 Cleanups 2018-01-21 06:34:33 +01:00
Twinaphex ffff5df787
Merge pull request #6148 from aliaspider/master
(D3D11/D3D12) initial video driver implementation.
2018-01-21 04:59:18 +01:00
aliaspider 094196220d (D3D11/D3D12) initial video driver implementation.
- some headers from the windows 10 sdk need to be added to the include
path when targeting mingw :
   d3d11.h
   d3d11sdklayers.h
   d3d12.h
   d3d12sdklayers.h
   d3d12shader.h
   d3dcommon.h
   d3dcompiler.h
2018-01-21 04:10:45 +01:00
Toad King 55334aeffd fix black frame insertion in emscripten 2018-01-20 13:01:48 -06:00
twinaphex 4a5de7ed6a Use D3D common format functions 2018-01-20 16:45:45 +01:00
twinaphex cc1a828c87 d3d_get_color_format_backbuffer - cleanups 2018-01-20 16:35:59 +01:00
twinaphex c106783e85 (XDK1) Now renders RGUI and game frame properly 2018-01-20 06:25:02 +01:00
twinaphex 4bd4692cf2 Get rid of another _XBOX ifdef 2018-01-20 02:09:51 +01:00
twinaphex fb257eb21e (GL/Raspberry Pi) Should fix the regression with GL cores on
Raspberry Pi
2018-01-19 22:45:04 +01:00
twinaphex a3b593f27b (D3D) Take this out for Xbox 2018-01-19 22:41:58 +01:00
twinaphex d8e9e3383d Revert "(Xbox) Swizzled formats on Xbox need to be POW2"
This reverts commit f608b5ed52.
2018-01-19 05:06:46 +01:00
twinaphex 7484e01034 Revert "This one complains too"
This reverts commit 1a3a88a62e.
2018-01-19 05:06:24 +01:00
twinaphex 1a3a88a62e This one complains too 2018-01-19 05:04:11 +01:00
twinaphex f608b5ed52 (Xbox) Swizzled formats on Xbox need to be POW2 2018-01-19 05:00:50 +01:00
twinaphex daa2a572b9 Cleanup 2018-01-19 03:52:32 +01:00
twinaphex 4ef66e6e8c This should make XMB/MaterialUI render correctly on D3D8 2018-01-19 02:24:10 +01:00
twinaphex 281223eae8 Xbox ifdefs 2018-01-17 08:54:06 +01:00
twinaphex 136068098d Xbox fixes 2018-01-17 08:51:56 +01:00
aliaspider ebd9430982 (D3D8) can now render content frame, rgui and overlays. 2018-01-17 07:10:45 +01:00
twinaphex 61ff51be2f Start using string_is_equal predominantly 2018-01-16 22:53:38 +01:00
twinaphex c4d3ea6f8d Add want_mipmap function parameter to d3d_texture_new 2018-01-16 09:11:14 +01:00
twinaphex 4ead2df09e (D3D) Remove HAVE_FBO ifdef - should make shaders work again 2018-01-16 08:15:10 +01:00
twinaphex 3bdea333e1 enable this 2018-01-16 02:22:53 +01:00
twinaphex 9d144e28fc Use D3DFVF_XYZ for PC, D3DFVF_XYZRHW for Xbox 2018-01-16 02:04:50 +01:00
twinaphex fdffc1a178 One ifdef less 2018-01-15 22:04:15 +01:00
twinaphex f26b18c7a4 D3D8 compilation fixes 2018-01-15 20:58:13 +01:00
twinaphex 391fd3eadc Fix CXX_BUILD for D3D 2018-01-15 21:44:49 +01:00
twinaphex 59b5ecf7db (XDK) Buildfixes 2018-01-15 06:36:02 +01:00
Twinaphex e948412bb4
Merge pull request #6108 from aliaspider/master
(direct3D) fix scaling in the menu display driver.
2018-01-15 03:48:40 +01:00
aliaspider 25a7c04a27 (direct3D) fix scaling in the menu display driver. 2018-01-15 03:45:37 +01:00
twinaphex 93b523e6ea C89 buildfix 2018-01-15 01:01:41 +01:00
aliaspider 7b09d5399c (Direct3D) Menu display driver implementation. 2018-01-14 02:21:48 +01:00
aliaspider 24cb240079 (WIIU) add remaining menu shaders.
- move some files around.
2018-01-12 02:54:45 +01:00
aliaspider eac088696a (WIIU) add ribbon shader. fix menu bg gradient. 2018-01-11 02:09:03 +01:00
twinaphex 7e9945cde9 Buildfix 2018-01-09 23:47:13 +01:00
Twinaphex 2a42983b4f
Merge pull request #6077 from aliaspider/master
(WIIU) fix detection of 32bit input frames.
2018-01-09 17:53:47 +01:00
aliaspider a8d3ddc05d (WIIU) fix detection of 32bit input frames. 2018-01-09 17:05:09 +01:00
Twinaphex ae8d0630e2
Merge pull request #6076 from aliaspider/master
(WIIU) custom shader: add support for input textures and most uniforms.
2018-01-09 16:52:20 +01:00
aliaspider f34e180b40 (WIIU) custom shader: add support for input textures and most uniforms. 2018-01-09 16:41:01 +01:00
Twinaphex bf1bd83631
Merge pull request #6071 from fr500/master
Disable hard sync on FF without mangling settings"
2018-01-09 03:43:33 +01:00
Twinaphex 31728bd2ca
Merge pull request #6074 from aliaspider/master
(WIIU) revert forced 480p mode.
2018-01-09 03:29:28 +01:00
aliaspider 22a776bb3e (WIIU) revert forced 480p mode. 2018-01-09 03:26:11 +01:00
Twinaphex ae9e13324d
Merge pull request #6073 from aliaspider/master
(WIIU) improve support for custom shaders.
2018-01-09 03:22:49 +01:00
aliaspider 0236b52b03 (WIIU) update uniform blocks correctly for custom shaders. 2018-01-09 03:06:54 +01:00
radius 8007c3efd7 Disable hard sync on FF without mangling settings 2018-01-08 20:06:24 -05:00
twinaphex 7fdb621481 Update 2018-01-08 23:23:37 +01:00
twinaphex 8f9d807306 Remove some more Xbox ifdefs 2018-01-08 23:06:09 +01:00
twinaphex 23ace06ca1 Cleanups 2018-01-07 20:55:00 +01:00
twinaphex 141f09ad2e Cleanups 2018-01-07 20:25:30 +01:00
twinaphex d3a4cc90c8 Cleanups - get rid of shader ifdefs 2018-01-07 20:21:08 +01:00
twinaphex 3ab8f017d9 Cleanups 2018-01-07 11:06:27 +01:00
twinaphex 88d1e455e3 Add code that allows for debug D3D 2018-01-07 10:46:53 +01:00
twinaphex 9f6a97db76 Update 2018-01-06 21:10:30 +01:00
twinaphex ef05fd8a78 Cleanups 2018-01-06 19:51:29 +01:00
twinaphex 9b52164b00 Create d3d_get_adapter_display_mode 2018-01-06 16:10:05 +01:00
twinaphex 23437f27b4 Cleanups 2018-01-06 15:42:47 +01:00
twinaphex b42c92c619 Create d3d_is_windowed_enable 2018-01-06 15:32:02 +01:00
twinaphex 67220c358c Create d3d_get_color_format_front_buffer 2018-01-06 15:25:11 +01:00
twinaphex 7cc8040347 Create d3d_get_color_format 2018-01-06 15:18:02 +01:00
Andrés dedcd26495
Merge pull request #6053 from aliaspider/master
(WIIU) add preliminary multi-pass shader support.
2018-01-05 21:48:30 -05:00
aliaspider 55d262f5d8 (WIIU) add preliminary multi-pass shader support.
can load *.slangp and *.slang files. since there is no runtime compiler,
precompiled shaders (*.gsh) need to be present next to each *.slang
source file.
2018-01-06 03:39:53 +01:00
twinaphex f677a7ad7e Add HAVE_OVERLAY to qb system 2018-01-05 16:10:34 +01:00
aliaspider 8e095164e0 (WIIU) add a frame shader to match the shaders used by the gl/vulkan
drivers.
2018-01-05 13:18:55 +01:00
aliaspider a7632620da (WIIU) add a sprite shader. 2018-01-04 17:38:04 +01:00
twinaphex 6eddea99c0 Cleanups 2018-01-04 14:50:56 +01:00
SaltyFist ad695a8b72 (switch) Add support for RETRO_PIXEL_FORMAT_XRGB8888 2018-01-04 07:28:17 +01:00
misson20000 a039e6c41e (NSW) temporary fix for graphic buffer dequeue failure 2018-01-04 07:28:12 +01:00
orbea a4ab4794cf C89_BUILD: Remove c++ style comments 2018-01-03 14:56:22 -08:00
twinaphex 3a3776ba24 Create d3d_initialize_symbols 2018-01-03 18:38:13 +01:00
twinaphex 30ba656f5c Create d3d_create 2018-01-03 18:09:31 +01:00
twinaphex dddfbe311a (XBox OG) Buildfix 2018-01-03 14:42:09 +01:00
twinaphex 88a91af0dc Remove this rule from the conditional 2018-01-03 14:40:41 +01:00
twinaphex 7a481236bf (Xbox OG) Some more buildfixes 2018-01-03 14:37:35 +01: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
aliaspider 0a32642f17 (WIIU) shader: use a single attribute stream. 2017-12-31 14:06:49 +01:00
misson20000 be5ebbc039 (NSW) since we haven't yet gotten the OS graphics driver, upon calling `display_finalize`, to release some of the (currently global) resouces we give it when we initialized it, we need to maintain a little bit of global state in the graphics driver so it can be freed and reinitialized when we load a core. this should be able to be reverted when we implement `alloc_pages` in libtransistor. see https://github.com/reswitched/libtransistor/issues/74 and https://github.com/reswitched/libtransistor/issues/69 2017-12-31 03:04:15 +01:00
Twinaphex d9c0f769c7
Merge pull request #6006 from aliaspider/master
(WIIU) update shader and add alpha blending to menu + overlays.
2017-12-31 00:21:53 +01:00
aliaspider b371f4bb32 (WIIU) add a color attribute to tex_shader.
+ some fixes to overlay and menu display code.
2017-12-30 23:21:32 +01:00
misson20000 6254ddecf2 (NSW) initial support for menu 2017-12-30 11:14:45 +01:00
twinaphex 893cd2b472 Make this C89-compatible 2017-12-29 04:46:13 +01:00
misson20000 3101ee8036 (NSW) fix compilation errors and warnings for switch drivers 2017-12-29 04:45:25 +01:00
twinaphex 5c876647ed (NSW) Small cleanups 2017-12-29 00:45:00 +01:00
misson20000 6d2a7b1f26 Nintendo Switch (libtransistor) port 2017-12-29 00:10:01 +01:00
twinaphex 4ecb4d5dfb (Wiiu) Add overlays courtesy of r-type, thanks 2017-12-27 08:38:03 +01:00
aliaspider 1f143927ca (CTR) build fix. 2017-12-25 08:51:50 +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 c4d8a8c800 Free after intfstream_close 2017-12-11 20:24:00 +01:00
twinaphex 1cd7568f1f (gx_gfx) Go through intfstream 2017-12-11 13:26:52 +01:00
twinaphex 61d3f90cae Add hint defines to libretro.h 2017-12-11 12:53:47 +01:00
twinaphex 318f17c4cb Start using VFS API constant defines 2017-12-11 12:15:00 +01:00
twinaphex 2e979ec537 Replace function signatures of file_stream file functions 2017-12-10 22:25:38 +01:00
Themaister 75b84b4f94 Support pending swapchain creation. 2017-12-09 17:28:20 +01:00
Themaister 714684a4d3 Don't wait for WSI fence unless it has been signalled. 2017-12-09 17:28:20 +01: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 512a1b4cb6 Cleanups 2017-12-04 06:03:11 +01:00
twinaphex c869cc5102 Refactor GL code 2017-12-04 05:55:18 +01:00
twinaphex b2fbb9aeda Prepare to map DeleteFramebuffersEXT like this 2017-12-04 04:18:28 +01:00
twinaphex 6221512911 use EXT version of Framebuffer/Renderbuffer functions for MacOS X
PowerPC
2017-12-04 04:04:07 +01:00
radius 2747067f61 this probably fixes the shader on noveau and others 2017-12-03 15:10:24 -05:00
radius 3cd7026819 fix the shader and the label 2017-12-03 12:20:07 -05:00
radius bada13a215 let it snow 2017-12-02 22:47:44 -05:00
Brad Parker 130203c431 gdi: fix closing window via X button 2017-11-27 20:49:56 -05:00
twinaphex c0d8a2f093 Cleanup 2017-11-16 14:01:42 +01:00
twinaphex bfd815985f Rename function callback 2017-11-16 12:02:25 +01:00
twinaphex 721b5f9529 Add set_mvp function callback 2017-11-15 16:51:29 +01:00
twinaphex b6b6ba9226 No more GL_FF_MATRIX/GL_FF_VERTEX 2017-11-15 14:30:38 +01:00
twinaphex 619acbb5aa Start implementing video_driver_set_mvp properly 2017-11-15 14:16:06 +01:00
twinaphex b50a667335 Buildfixes for Win32 2017-11-14 21:45:11 +01:00
twinaphex 229841b1c4 Create video_driver_set_coords 2017-11-14 21:43:13 +01:00
twinaphex 683c437941 Updates 2017-11-14 21:34:03 +01:00
twinaphex da15f9d730 Cleanups 2017-11-13 09:19:33 +01:00
twinaphex 6493b79324 Some buildfixes for CXX_BUILD 2017-11-13 09:11:09 +01:00
twinaphex d861d2b0ae Updates 2017-11-13 09:02:22 +01:00
twinaphex 67fea30406 Remove remaining references to HAVE_FBO 2017-11-13 08:55:41 +01:00
twinaphex ec123ef6ca Get rid of most of the HAVE_FBO usage 2017-11-13 06:20:30 +01:00
twinaphex 6fa5fcfa1f Add has_fbo member variable - fixes GL issues 2017-11-13 05:23:44 +01:00
twinaphex 60d96b60b5 Start adding gl1_renderchain.c 2017-11-12 17:32:18 +01:00
twinaphex 3ab26b6738 Prevent warning 2017-11-12 17:17:40 +01:00
twinaphex 5eadf021cf early return 2017-11-12 17:16:14 +01:00
twinaphex c5292025c3 Cut down on HAVE_FBO usage and make sure gl->fbo_inited is set to
false if HAVE_FBO is not defined
2017-11-12 17:15:29 +01:00
Brad Parker 23527a82ca free VAO before the renderchain is destroyed 2017-11-11 13:55:05 -05:00
Brad Parker 69f69849be fix circular dependency of renderchain and core context init 2017-11-11 13:51:33 -05:00
twinaphex 40cfde0eba (MSVC 2010) Buildfix 2017-11-10 04:53:08 +01:00
twinaphex faab2526c8 Create gl_bind_texture 2017-11-10 03:55:10 +01:00
twinaphex 77ac13b2e9 Buildfix 2017-11-09 01:16:35 +01:00
twinaphex a4c9c738b8 Add init_textures_reference 2017-11-08 22:06:10 +01:00
twinaphex 4f016b2c2c Update 2017-11-08 19:31:00 +01:00
twinaphex 3e1f4defb8 Buildfix 2017-11-08 18:54:15 +01:00
twinaphex 3e0b4552d6 Cleanups 2017-11-08 18:49:45 +01:00
twinaphex 9ab13b719b Get rid of another ifdef 2017-11-08 18:48:01 +01:00
twinaphex 5f7527df08 Move readback function to renderchain 2017-11-08 18:45:28 +01:00
twinaphex c825f849f5 CLeanups 2017-11-08 18:31:17 +01:00
twinaphex d6cc447aa0 Add PBO callback functions 2017-11-08 18:22:05 +01:00
twinaphex 7c6377a7fa Cleanups 2017-11-08 17:45:39 +01:00
twinaphex 9f987dd97b Get rid of NO_GL_READ_PIXELS 2017-11-08 17:42:02 +01:00
twinaphex 3428e3d80a Cleanup 2017-11-08 17:10:41 +01:00
twinaphex e91cc7aced Get rid of one extraneous HAVE_GLSL ifdef 2017-11-08 17:08:03 +01:00
twinaphex 9f79b99c94 Init renderchain prior to calling renderchain_driver 2017-11-08 16:58:23 +01:00
twinaphex f28d6009ec Update 2017-11-08 16:53:43 +01:00
twinaphex 6fefc71aa2 Cleanups 2017-11-08 16:49:42 +01:00
twinaphex c1d5622255 Get rid of another ifdef 2017-11-08 16:41:37 +01:00
twinaphex 4b0932ffb3 Move copy_frame to renderchain 2017-11-08 16:38:56 +01:00
twinaphex bc45ba38bf Cleanups 2017-11-08 16:25:57 +01:00
twinaphex a295169a3b Add restore_default_state callback - remove more ifdefs 2017-11-08 16:20:55 +01:00
twinaphex 308818afd1 Add VAO callback functions 2017-11-08 16:16:17 +01:00
twinaphex 5b268b79d2 Cleanups 2017-11-08 16:00:37 +01:00
twinaphex 9dd253adea Cleanup 2017-11-08 15:52:23 +01:00
twinaphex 5252d3216a Fix heap use after free error 2017-11-08 15:49:02 +01:00
twinaphex 4a7e8b03b2 Cache core context setting 2017-11-08 05:59:08 +01:00
twinaphex 24434db9d9 (GL) Cleanups 2017-11-08 05:47:37 +01:00
twinaphex a72461c16b Create disable_client_arrays function pointer 2017-11-08 05:44:12 +01:00
twinaphex dc664ff4f2 Cleanups 2017-11-08 01:53:24 +01:00
twinaphex c1f0fceb4f More buildfixes 2017-11-08 00:59:16 +01:00
twinaphex 97e0ffde9f Buildfix for iOS 2017-11-08 00:53:57 +01:00
twinaphex 0085b24fd5 Cut down on gl_check_capability calls 2017-11-08 00:49:01 +01:00
twinaphex 4cae577ade Cleanups 2017-11-08 00:07:04 +01:00
twinaphex dc700c5d8b Get rid of more ifdefs 2017-11-08 00:05:12 +01:00
twinaphex 0f6a3c8f9d Start cutting down on HAVE_GL_ASYNC_READBACK ifdef 2017-11-07 23:19:54 +01:00
twinaphex 5ea63f3b08 Get rid of HAVE_GL_SYNC ifdef 2017-11-07 23:13:26 +01:00
twinaphex 7a33bfe924 Get rid of more HAVE_FBO ifdefs 2017-11-07 22:54:38 +01:00
twinaphex 3ccf8c19f1 Start getting rid of HAVE_FBO ifdefs 2017-11-07 21:34:25 +01:00
twinaphex 0100e7b673 Update 2017-11-07 21:08:54 +01:00
twinaphex fc43a14637 Updates 2017-11-07 21:03:29 +01:00
twinaphex fe2bf47b98 Add more to renderchain driver 2017-11-07 20:56:08 +01:00
twinaphex 00d52a4783 Cleanups 2017-11-07 11:06:18 +01:00
twinaphex a7cd8d94b0 Start going through renderchain driver interface for GL 2017-11-07 11:01:30 +01:00
twinaphex 40a7755fe2 Cleanups 2017-11-06 19:39:21 +01:00
Ash 0d38612f4a
[WiiU] Various warning/format string fixes
All things from unsigned comparisons to missing initializers; we got it
here.
2017-11-04 20:37:30 +11:00
twinaphex bb051f185b MSVC/C89 buildfixes 2017-10-22 05:13:22 +02:00
orbea 5ec052b675 Fix compilation with --enable-xshm.
Fixes https://github.com/libretro/RetroArch/issues/5551.
2017-10-18 09:33:09 -07:00
rz5 0a0c538e2b (gl driver) Set flags after detecting GL core context 2017-10-13 22:48:17 +01:00
Brad Parker fff3e225d2 comments 2017-10-10 15:28:29 -04:00
Brad Parker 072b347c0f fix OSD background alignment with non-default X/Y positions 2017-10-10 15:16:58 -04:00
Brad Parker a4bc1c9768 add menu options for OSD background color 2017-10-10 14:53:32 -04:00
Brad Parker 7aadb0ee13 allow transparency for OSD background 2017-10-10 14:00:49 -04:00
Brad Parker f156f7cd94 initial working OSD background color (only when content not loaded) 2017-10-09 23:30:11 -04:00
Brad Parker a153ed0b42 testing 2017-10-09 21:19:32 -04:00
twinaphex d10de20bff Start compiling Griffin as C for 360 - C89 fixes 2017-10-03 04:11:41 +02:00
twinaphex 721afe22d8 (MSVC 2010) Compile griffin.c as C 2017-10-02 22:06:32 +02:00
twinaphex fa0728d6b7 (NGC/Wii) BUildfix 2017-10-02 20:31:38 +02:00
twinaphex c3bcbaea14 Convert d3d.cpp to C 2017-10-02 07:48:57 +02:00
twinaphex 9c639ec529 Don't use std::vector 2017-10-02 06:12:33 +02:00
twinaphex f6fb1fd953 Create d3d_create_device 2017-10-02 03:15:49 +02:00
twinaphex 6b1a1272a7 Remove d3d->d3d_err 2017-10-02 01:41:23 +02:00
twinaphex ace611798e No longer include <string> for d3d.h 2017-10-02 01:38:48 +02:00
twinaphex 52b479fb22 Turn std::string shader_path into char * 2017-10-02 01:38:06 +02:00
twinaphex ff40cba3de Create d3d_vertex_declaration_free - wrap more D3D functions 2017-10-01 22:23:28 +02:00
twinaphex 9eba2c8e39 Fix CXX_BUILD on Windows 2017-09-28 18:53:09 +02:00
twinaphex a3ded01b64 Cleanups 2017-09-27 23:16:37 +02:00
twinaphex e9a072c1ce uniquely name D3D function for initing renderchain 2017-09-20 14:53:40 +02:00
twinaphex 105b98b837 Rename gl_legacy_renderchain to gl2_renderchain 2017-09-19 15:06:49 +02:00
twinaphex d149d590cf Fix some Xbox unresolved symbols 2017-09-14 22:24:04 +02:00
twinaphex 557c6c1d19 (D3D) Try to treat HLSL shaders same as Cg shaders for now 2017-09-13 04:37:29 +02:00
twinaphex 170b368044 (360) Some buildfixes 2017-09-13 04:21:00 +02:00
twinaphex dbb6adb453 C89_BUILD fixes 2017-09-11 04:17:28 +02:00
twinaphex 0a6c8122d0 Cleanups 2017-09-09 02:36:08 +02:00
twinaphex 2dee343ec7 Rearrange variables 2017-09-09 01:35:15 +02:00
twinaphex c0207e9b56 Revert "Reduce size of variables"
This reverts commit 79f1166c6e.
2017-09-09 00:20:39 +02:00
twinaphex 79f1166c6e Reduce size of variables 2017-09-08 23:44:10 +02:00
Charlton Head d29e8c18fa Better error handling in *xv_init() 2017-09-07 12:28:16 -05:00
Brad Parker 0a1b3fedc0 VC6 support (targets NT 3.51) 2017-09-06 23:03:02 -04:00
twinaphex 674dbfed19 Cleanups 2017-09-05 04:57:34 +02:00
twinaphex bde5a6dc19 Rename renderchain_driver_t to d3d_renderchain_driver_t 2017-09-05 04:21:40 +02:00
twinaphex 3eecbd7135 Fix d3d9_cg_renderchain.cpp 2017-09-05 03:27:00 +02:00
twinaphex 374b6115e1 Update HLSL backend 2017-09-05 03:21:58 +02:00
twinaphex c691bbaedc Start going through compilation errors 2017-09-05 00:57:58 +02:00
Brad Parker 35c4770c9b gdi: manually convert RGB444 to RGB555 to get around BI_BITFIELDS limitation on non-NT platforms 2017-09-01 20:52:58 -04:00
Brad Parker c7d7c5c909 gl: don't try to render a blank OSD message on every frame 2017-08-31 11:59:23 -04:00
Brad Parker 5e3531a5f2 win98: fix core video graphics corruption\nbitmapinfoheader size should never include masks, but this is undocumented 2017-08-30 00:48:02 -04:00
Brad Parker e3d68cd131 GDI: fix flickering of text 2017-08-22 23:39:42 -04:00
twinaphex 9c32d03c1e (Vulkan/Win32) C89_BUILD fixes 2017-08-12 17:56:30 +02:00
twinaphex c7615fdf00 Add RETRO_ENVIRONMENT_SET_HW_SHARED_CONTEXT 2017-08-07 18:06:03 +02:00
twinaphex ba36055632 (GX) Buildfix 2017-08-06 13:43:01 +02:00
twinaphex 169aea5ae1 (GX) Another buildfix 2017-08-06 05:54:46 +02:00
twinaphex 740ad823ab (GX) Buildfix 2017-08-06 05:52:40 +02:00
twinaphex 86f7972aa8 (Wii) Backport
0574b91595
- untested
2017-08-06 04:40:55 +02:00
Brad Parker b1904bcfa6 caca: enable OSD text drawing 2017-08-04 21:51:14 -04:00
Brad Parker c8e6a98651 gdi: enable OSD text drawing 2017-08-04 21:47:46 -04:00
twinaphex 9fe27117f2 Revert "(iOS) Take this out - see if it solves our issues"
This reverts commit 1cf6f2f20f.
2017-07-21 05:24:41 +01:00
twinaphex 1cf6f2f20f (iOS) Take this out - see if it solves our issues 2017-07-19 18:42:59 +01:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex 03ee897ae2 Try implementing core context version of XMB ribbon 2017-06-27 06:31:18 +02:00
ensrha 93ea78772d Add missing verbosity include 2017-06-19 14:38:26 +01:00
twinaphex c7ac70a923 Combine video_renderchain_driver.c and video_driver.c 2017-06-12 15:45:58 +02:00
Zoran Vuckovic 08b6fdb697 Add missing include directive 2017-06-12 14:13:08 +02:00
Daniel Jimenez 22fc07a839 Fix mirrored images in vertical games on 3DS (bug #4817)
On branch master
 Your branch is up-to-date with 'origin/master'.
 Changes to be committed:
	modified:   ctr_gfx.c
2017-06-11 18:12:37 -07:00
hizzlekizzle ba2cf008c6 update Cg menu ribbon for additive blending
Fixes solid white ribbon.
2017-05-30 20:13:58 -05:00
aliaspider 934f7c58ba (WiiU) enable networking. 2017-05-23 10:24:23 +01:00
aliaspider 801cc57e82 (WiiU) improve task scheduling. 2017-05-22 11:19:26 +01:00
aliaspider 634de19dc9 (WiiU) enable libretrodb. 2017-05-22 06:07:27 +01:00
aliaspider db490a69a3 (WiiU) add a menu display driver. enable MATERIALUI and XMB. 2017-05-22 01:45:40 +01:00
Jean-André Santoni 0b1716650b Use additive blending for the ribbon in GL and Vulkan 2017-05-22 01:29:56 +02:00
Jean-André Santoni 1bd07c34c7 Make the Vulkan ribbon consistant with the GL ribbon 2017-05-22 00:39:09 +02:00
aliaspider 8dee95651f (WiiU) add a font driver. 2017-05-21 03:05:41 +01:00
twinaphex b7b7c67ca3 Windows buildfix 2017-05-20 17:47:56 +02:00
twinaphex efce4d0abf Revert "Add cb_set_shader_coords"
This reverts commit 06df028722.
2017-05-19 21:21:40 +02:00
twinaphex 06df028722 Add cb_set_shader_coords 2017-05-19 21:13:44 +02:00
twinaphex d8f5065d64 Add cb_set_shader_mvp 2017-05-19 19:52:33 +02:00
twinaphex 64fdadf60f Use cb_shader_use 2017-05-19 19:42:34 +02:00
twinaphex 452c02653e Turn gl_set_shader_viewport into gl_set_shader_viewports 2017-05-19 19:39:46 +02:00
twinaphex a830051076 Update gx_gfx.c 2017-05-19 16:33:59 +02:00
twinaphex 2a54544eb3 Add cb_shader_use to video_frame_info 2017-05-19 14:24:19 +02:00
twinaphex 59b3344e72 Combine video_driver.c and video_shader_driver.c 2017-05-18 14:47:24 +02:00
twinaphex 4e04e95713 Buildfix 2017-05-18 04:03:49 +02:00
twinaphex 3f7a30a4b3 Start hooking up dummy callback functions to video_context_data
so that conditionals aren't necessary
2017-05-18 03:37:02 +02:00
twinaphex 941a5d4f94 Go through function callback for swap_buffers as well 2017-05-18 03:05:07 +02:00
twinaphex 86ee08b7a7 Add video context driver update window title callback
to video_frame_info_t
2017-05-18 02:53:12 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
aliaspider 36137d22e5 Vulkan: use the command buffer provided as parameter in
vulkan_copy_staging_to_dynamic.
2017-05-15 05:35:17 +01:00
twinaphex 80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex 17a15273ba Create function out of video_driver_is_focused - no longer
call video_driver_context_focus from video driver
2017-05-13 19:19:49 +02:00
twinaphex d4756f83e5 Stop calling video_driver_context_has_windowed from within video
drivers
2017-05-13 19:11:32 +02:00
twinaphex f6c8aba119 Move video_context_driver_update_window_title to video_driver_frame 2017-05-13 18:58:13 +02:00
twinaphex f928e57064 Combine video_context_driver.c and video_driver.c 2017-05-09 01:25:59 +02:00
twinaphex bac9973354 Cleanups 2017-05-09 00:58:01 +02:00
Andrew 858e15b837 Fix performance issue with max_swapchain_images
This fixes a performance problem introduced in my last commit when
max_swapchain_images == 3.

In my last commit I incorrectly stated the 3rd buffer was not being
used, after doing some additional testing I realized I was mistaken,
it can indeed be used due to the used page tracking.

Reverting that portion of my previous commit.
2017-05-05 16:58:17 -07:00
Andrew 01e25bd5c7 Fix max_swapchain_images and do some additional cleanup
When max_swapchain_images was originally added it worked properly,
but was subsequently broken by using the value to specify the number
of buffers allocated.

Due to how the dispmanx driver works, only 2 buffers are ever actually
used, so the 3rd buffer in the "swapchain" ended up doing nothing.

Fix this by restoring it to the original intent, that is, if
max_swapchain_images <= 2 wait for vsync after the flip (reducing
lag), otherwise wait at the last possible moment (increasing lag).

Additionally, fix up some unnecessary void* usage where type safety
could be maintained.
2017-05-04 18:45:59 -07:00
Andrew a1d094e64e Minor race fix and small cleanup to dispmanx_gfx
It's unlikely it was causing issues, but another race existed in the
dispmanx driver, it incremented the pending page count after sending the
update request.

If a context switch happened between sending the update and incrementing
the page count, the vsync callback would decrement it from 0 and cause
the uint to overflow.

Throw in a minor C89 fix and some whitespace fixups too.
2017-04-29 17:09:07 -07:00
twinaphex 4d419b2b56 (sdl_gfx.c) Update 2017-04-29 18:47:29 +02:00
twinaphex 60242e161a Buildfix 2017-04-29 18:45:58 +02:00
twinaphex dd83b4a043 (Vita) Buildfix 2017-04-29 17:52:16 +02:00
twinaphex e84adb504f Don't try to call video_driver_is_threaded from outside
gfx/video_driver.c - only exception right now - menu_display.c
2017-04-29 16:52:52 +02:00
twinaphex 91abbdd4f1 video_viewport_get_custom will never be NULL 2017-04-29 16:22:07 +02:00
twinaphex c8bf28842f Get rid of some calls to video_driver_viewport_get_custom 2017-04-29 16:11:31 +02:00
twinaphex 2322e77795 Add to video_frame_info 2017-04-29 16:07:02 +02:00
twinaphex 6930262ec2 Update/buildfixes 2017-04-29 12:44:45 +02:00
Francisco José García García afe173c883 [VITA] Really fix build 2017-04-29 12:02:26 +02:00
Twinaphex ccd4bdbd60 Merge pull request #4862 from andrewlxer/master
Fix dispmanx triple buffering race and re-enable triple buffering
2017-04-29 11:16:51 +02:00
Francisco José García García f7c56ddda3 [VITA] Fix build 2017-04-29 09:06:49 +02:00
Andrew 301a094ef9 Avoid potential dispmanx_gfx driver lockup
The dispmanx driver had a small race wherein if the vsync completed
between checking for a free page and waiting on the condvar, it would
hang forever waiting for a condition that would never fire.

I'm hoping this is what was causing the triple buffering lockups. In
my testing with it re-enabled and this fix, things are stable (and
much more performant than with triple buffering disabled).
2017-04-28 20:24:36 -07:00
Andrew 253c8cd997 Revert "DISPMANX: Disable triple buffering for now, for stability reasons."
This reverts commit 0b75671c21.
2017-04-28 20:20:43 -07:00
twinaphex 552845a94d Buildfixes 2017-04-29 02:39:32 +02:00
twinaphex 6d8789f4c1 (GX) Buildfix 2017-04-29 02:03:17 +02:00
twinaphex e6ab06a701 Move path variables 2017-04-29 00:39:29 +02:00
twinaphex f0c2d786ae Update arrays struct 2017-04-28 22:59:13 +02:00
twinaphex 87106b03c1 (3DS) Buildfix 2017-04-28 22:14:34 +02:00
twinaphex 05e4ec733e Move uint variables 2017-04-28 21:03:04 +02:00
twinaphex 4ef0809931 (GX) Another buildfix 2017-04-28 15:29:54 +02:00
twinaphex 684e83ef30 Updates 2017-04-28 15:19:39 +02:00
twinaphex 0da40fb3aa Move all float settings 2017-04-28 14:57:55 +02:00
twinaphex ed53be7c81 Move all bool settings 2017-04-28 14:11:34 +02:00
twinaphex cc095e56fc Start refactoring bool variables 2017-04-28 00:53:20 +02:00
twinaphex 2a13af52fc Revert "video_init function - video_info_t should not be const -"
This reverts commit c8bcbad4a7.
2017-04-24 12:25:14 +02:00
twinaphex e5b38315fe Revert "Add real_width and real_height to video_info struct - let"
This reverts commit 831ea1a507.
2017-04-24 12:25:07 +02:00
twinaphex 8a215ce30e Revert "Cut down on another video_driver_set_size call"
This reverts commit b951c84e01.
2017-04-24 12:24:55 +02:00
twinaphex b951c84e01 Cut down on another video_driver_set_size call 2017-04-24 12:23:09 +02:00