Commit Graph

218 Commits

Author SHA1 Message Date
sonninnos 8584b122e1 (D3D11+12) Allow fastforward in fullscreen 2021-06-04 04:31:11 +03:00
HyperspaceMadness 0c526b6498 Shaders Load Refactor and Fix Referenced Texture Loading
Partial update to work with shaders directly

More Edits

More changes

more shader fixes

More Fixes Compiling, reference load still wrong

Added Feedback & things are working

Logging Fixes

Log Fix

More Fixes

Added Feedback Logging

Fixes for file pathing in Linux

Fix GLCore and Crash in QT Saving

Code Cleanup

Removed Unused Function filepath.c

Code Cleanup
2020-12-26 21:09:27 -05:00
aliaspider 16f997172f (D3D12) allocate rt_view descriptors for feedback render targets too. 2020-12-20 08:08:04 +01:00
aliaspider bf2adda421 (D3D12) move D3D12SignalCommandQueue to d3d12_gfx_sync. 2020-12-20 07:13:11 +01:00
twinaphex 38ce3927ae (D3D10/11/12) Increase sprite capacity, we need this so that
the hardware rendered menu drivers don't glitch out
2020-12-17 08:31:06 +01:00
twinaphex 44b7234756 Move cheat_manager and state_manager to root folder 2020-10-15 05:29:20 +02:00
twinaphex 4d1cfa9c41 Make the 'raw' versions the generic function for the message loop
callback - this way it's reused for SDL2 input driver too
2020-08-28 02:55:39 +02:00
twinaphex 32279c3a70 Split up wnd_proc_common_internal into two - one for dinput,
one for raw
2020-08-28 02:21:13 +02:00
twinaphex 2a9915f80d (D3D) Buildfix 2020-08-08 19:12:01 +02:00
twinaphex ade58fc8b6 (UWP) Buildfix 2020-08-08 18:17:40 +02:00
twinaphex 72afa2f932 Cleanups 2020-08-03 16:33:54 +02:00
twinaphex 332bcc7f9e Remove dxgi_update_title 2020-08-03 15:48:08 +02:00
twinaphex 3e41cbc381 Revert "Add get_metrics to poke interface"
This reverts commit 119689c940.
2020-08-02 23:44:28 +02:00
twinaphex 119689c940 Add get_metrics to poke interface 2020-08-02 19:25:45 +02:00
twinaphex 60f3265017 Cleanups 2020-07-27 13:16:14 +02:00
twinaphex 3d893b7602 Add extra parameter to unload_texture 2020-07-27 10:15:28 +02:00
twinaphex 9f20a48602 (D3D10/11/12) Implement resolution callback functions 2020-07-25 11:47:49 +02:00
twinaphex 7c66f0adbc Simplify win32_check_window 2020-07-18 17:09:07 +02:00
twinaphex 87b9c2a367 Add HAVE_REWIND switch 2020-07-01 21:04:05 +02:00
twinaphex 2660182d52 Get rid of gfx_widgets_ready call inside
gfx_widgets_frame
2020-06-08 05:45:15 +02:00
twinaphex 9ace693ec0 Refactor menu_driver_frame 2020-05-19 16:20:43 +02:00
valadaa48 6e4228b054 Add drm_go2_ctx for odroidgo2
- Revert odroidgo changes to drm_ctx
- Introduce new drm_go2_ctx specifically for odroidgo2 (and libgo2)
- Add hw_scaling option to mitigate builtin gl scaling/filtering and to
use libgo2 and rga's hw scaling and bicubic filtering via librga. The
quality of the image is improved by this and should be a bit faster.

Credits to CrashOverride for the initial libgo2 port and
commit to RA. And to natinusala for the initial cleanup/commit in the original
drm_ctx driver. NOirBRight for finding this setting and testing.
2020-03-28 03:30:28 +00:00
jdgleaver 086c68bca7 Enable widget persistence across drivers_init()/driver_uninit() events 2020-03-11 11:47:13 +00:00
twinaphex f4c5036c3c Get rid of video_frame_info dep for fonts 2020-03-10 03:24:59 +01:00
twinaphex 4e6f26d2e4 (Video drivers) Cleanups 2020-03-09 16:24:20 +01:00
twinaphex c32cb51755 Cleanups 2020-03-08 01:45:29 +01:00
twinaphex f0bf2df92f Get rid of stale PERF_START/PERF_STOP macros in d3d files 2020-03-07 23:16:25 +01:00
twinaphex 68664fdf1d update_title - we don't need video_info 2020-03-06 22:11:44 +01:00
twinaphex 7c7d0f596a HAVE_MENU_WIDGETS now decoupled from HAVE_MENU 2020-02-17 21:28:42 +01:00
twinaphex b00bf17153 Move menu_widgets to gfx/ and call it gfx_widgets 2020-02-17 01:54:07 +01:00
twinaphex b229f267e4 Rename menu_widgets to gfx_widgets 2020-02-17 01:43:40 +01:00
twinaphex ec302bc4fc video_set_nonblock_state - remove settings dependency 2020-02-16 22:26:07 +01:00
twinaphex 47af95469a (font_driver.c) Remove configuration.h dependency 2020-02-16 21:59:03 +01:00
twinaphex f0e889b552 Change prototype of video_driver_set_size 2020-01-31 15:06:50 +01:00
twinaphex f92a507a9b Change function signature of font_driver_render_msg 2020-01-04 16:24:14 +01:00
twinaphex 3e1f56d57f Change function signature of win32_has_focus 2020-01-04 15:49:23 +01:00
twinaphex 91baea201a Change function signature of win32_show_cursor 2020-01-04 15:40:02 +01:00
GH Cao a4e810795c D3D: Add get_metrics 2020-01-03 09:40:41 +08:00
LazyBumHorse a882901e39 save unmodified auto-shaders as a reference instead of a copy, see:
- implement #reference directive for auto-shaders
 - replace usual preset saving and loading functions with video_shader_read_preset() and video_shader_write_preset()
 - apply saved presets automatically for console menus
 - move auto-shader saving logic from menus into menu_shader.c menu_shader_manager_save_auto_preset()
 - refactor menu_shader_manager_save_preset() into menu_shader_manager_save_preset_internal()
2019-08-22 16:57:28 +02:00
twinaphex 6c671faed6 Start preparing for menu_widgets_ready to be moved to retroarch.c 2019-08-15 14:20:51 +02:00
twinaphex 65b4c2595e Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00
LazyBumHorse f8b92770d4 simplify video_shader_read_conf_preset() calls 2019-07-21 18:15:28 +02:00
LazyBumHorse 2245af23e9 much improved handling of relative shader paths
- save texture paths in relative format as well
 - always write portable relative paths on Windows using '/' instead of '\'
 - remove an ancient piece of code that could sometimes fail loading relative paths
 - fix absolute path handling between different drives for Windows
 - integrate video_shader_resolve_relative() into video_shader_parse_* functions
2019-07-20 18:29:46 +02:00
twinaphex c0787accc3 Use config_file_new_from_path_to_string 2019-07-18 12:13:09 +02:00
twinaphex 09f5d2c95d Fix compilation when configuring with --disable-overlay 2019-07-10 05:39:50 +02:00
LazyBumHorse 7b6444d911 temporary workaround for d3d10-12, gx2 not being able to poll flags during init 2019-06-19 19:10:40 +02:00
twinaphex 5d91af629e Set SHADERS_SLANG flag for D3D10/11/12 and query the video driver poke
interface's 'get flags' function before querying the video context
driver's 'get flags' function (D3D10/11/12/WiiU don't have a context
driver at all)
2019-06-19 03:18:28 +02:00
Brad Parker d01f04c146 d3d10/11/12: add GPU selection 2019-06-18 16:35:50 -04:00
LazyBumHorse c20c67bd3a proper shader compatibility checks
- move shader flags from the video drivers to the context drivers
 - rework config_load_shader_preset() from configuration.c into retroarch_load_shader_preset() in retroarch.c with proper compatibility check
 - implicitly call retroarch_load_shader_preset() in retroarch_get_shader_preset() once per core/content life cycle
 - use video_shader_is_supported() instead of video_driver_test_all_flags() where appropriate
 - remove GFX_CTX_FLAGS_NONE because it is meaningless
2019-06-18 13:46:41 +02:00
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
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
twinaphex f60306b232 Rename read_conf_cgp/write_conf_cgp to
read_conf_preset/write_conf_preset
2019-06-15 09:00:35 +02:00
LazyBumHorse b54ad4d67f implement FrameDirection slang semantic for d3d10,11,12 2019-05-29 18:09:37 +02:00
twinaphex 6aed230930 Reimplement 'Take Screenshot' - if GPU-accelerated viewport screenshots
are not available, resort to raw screenshots instead
2019-05-22 07:08:11 +02:00
Huw Pascoe 2c56011f84 video_layout interface 2019-05-11 09:58:48 +01:00
twinaphex bc2bdd5734 config_file_read not needed anymore 2019-04-30 13:37:10 +02:00
twinaphex 3e72c502a8 strlen optimizations :
- use STRLEN_CONST for constant strings, translates to sizeof
which should be computed at compile-time
- found some places where we are needlessly calling strlen two
times instead of just once
2019-04-27 04:21:10 +02:00
twinaphex 146b4ccc50 Use config_file_read in more places 2019-04-22 02:20:04 +02:00
twinaphex 702c889cd1 (D3D10/11/12) Menu widgets can now appear ingame 2019-04-11 02:22:21 +02: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
twinaphex 365053266f Add more flags 2019-03-13 11:04:52 +01:00
twinaphex 2c024f400e Start hooking up extra shader capability stats - not done yet 2019-03-13 00:54:11 +01:00
twinaphex 4b2fdfad48 (D3D10/12) Add menu widgets support - text offset is wrong 2019-02-07 01:40:15 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
M4xw 7d186f7d2c Revert PR #8043 2019-01-20 20:06:57 +01:00
Nano c017271d8a Fix #6747 Black bug 2019-01-19 10:26:06 +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
twinaphex 2686cf1498 Fix disable-rgui 2019-01-06 17:04:28 +01:00
twinaphex 88e283f0c1 (D3D10/11/12) Some buildfixes 2018-12-30 04:51:03 +01:00
krzys-h 4fb06703b3 Port d3d12 driver for UWP 2018-12-28 22:10:26 +01:00
krzys-h b201d669b5 First iteration of UWP support
Enough to kind of run

Working drivers: xinput, d3d11
Still missing: input driver with keyboard support, audio driver
2018-12-28 22:09:22 +01:00
radius 454efe03dc fix auto shader preset loading in d3d10, d3d11, d3d12 2018-10-10 19:02:36 -05:00
twinaphex ec5d046f4c Cleanups - get rid of strcmp references 2018-09-15 07:44:21 +02:00
Brad Parker 12539f310d use strl functions 2018-08-16 13:51:44 -04: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 c4c8699ee3 Only show max swapchain images if supported by video driver and/or
context driver
2018-04-23 13:34:30 +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 832cc4e945 (MSVC) Silence warnings 2018-04-21 05:20:22 +02:00
Brandon Wright e049605359 Add refresh rate polling to Win32 >= Windows 7. 2018-04-15 19:33:38 -05:00
Brandon Wright 7a00534378 Add poke interface for get_refresh_rate. 2018-04-15 17:56:11 -05:00
twinaphex 92b46a8275 Some cleanups 2018-03-30 15:50:27 +02: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
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
twinaphex 070c09faec Avoid more pointer grabbing for video driver ptr 2018-02-16 20:42:37 +01:00
aliaspider 72e6909aaa (D3D) better handling of frame duping. 2018-02-12 03:25:37 +01:00
aliaspider 8a93e8d503 (D3D12) silence warning. 2018-02-12 01:29:44 +01:00
aliaspider 98682197c9 (D3D11/12) add overlays. 2018-02-12 01:19:43 +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
aliaspider 37bebb5b65 (D3D12) slang shaders support. 2018-02-11 00:00:20 +01:00
aliaspider 6fe379d978 (D3D12) add a compute shader for mipmap generation. 2018-02-09 14:57:07 +01:00
aliaspider 97813b9722 (D3D11/12) fix dialogbox / gradient. 2018-02-08 17:11:24 +01: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 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 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
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 a18e7767f3 Fix some unreferenced local variable warnings 2018-01-25 10:25:50 +01:00
aliaspider 17aa49004f (D3D10/11/12) prevent some crashes on driver re-init. 2018-01-25 06:24:39 +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 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
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
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