Commit Graph

64 Commits

Author SHA1 Message Date
libretroadmin
51d238875e Get rid of obsolete HAVE_VIDEO_LAYOUT - obsolete spec, was only
ever implemented for OpenGL2 driver, lots of code debt, best to
instead just keep improving the overlay system instead which is
already available for most video drivers
2023-02-23 21:03:41 +01:00
warmenhoven
9c2f908d44
Fix initial blurriness on Metal (#15002)
This reverts #14963 and part of #14942. Instead of forcing a size
change on mac the way we do on tvos, bring back the old way of making
two setContentSize calls.
2023-02-21 20:09:21 +01:00
warmenhoven
5685b5a9a1
mFI on OSX (#14975)
This adds mFI as a controller driver for OSX, as well as adding rumble
support for mFI controllers. Also add support for the Home button.

Also fixed a couple warnings.
2023-02-13 21:49:35 +01:00
warmenhoven
9195de67c0
Fix metal driver for osx. This is safe to do everywhere. (#14963) 2023-02-10 06:29:23 +01:00
warmenhoven
338430d1ec
Fix tvos metal driver (#14943)
The drawableSizeWillChange notification was never coming, so the
viewport size was never getting set properly.
2023-02-03 07:32:44 +01:00
libretroadmin
daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
libretroadmin
8a3686df58 Revert "Header cleanups - don't include retroarch.h everywhere"
This reverts commit 0e3b478f8c.
2023-01-08 09:05:46 +01:00
libretroadmin
0e3b478f8c Header cleanups - don't include retroarch.h everywhere 2023-01-08 08:56:57 +01:00
libretroadmin
1d18e7e7c8 (Metal) Small updates; no code changes 2023-01-08 02:22:46 +01:00
libretroadmin
4e3d73ff49 (Metal) Get rid of pushDebugGroup/popDebugGroup 2023-01-08 01:41:56 +01:00
reallibretroadmin
10947894ea Combine metal_common.m into metal.m 2023-01-08 01:37:54 +01:00
LibretroAdmin
f836328c56
Append Preset (#14737) (#14757)
WIP version of Append and Prepend preset, Includes UI for Standard Retroarch, but not the QT UI companion

Co-authored-by: HyperspaceMadness <remimcgill@hotmail.com>
2022-12-22 21:36:32 +01:00
Autechre
7b9cbc08d7
Add HDR support for D3D12 (rebased PR from MajorPainTheCactus) (#12917)
* Add HDR support

* Attempt to fix Mingw build and Metal builds

* (D3D12) Fix relative header includes

* Add missing hdr_sm5.hlsl.h

* (d3d12_common.c) Some C89 build fixes

* Fix MSVC build

* - Attempt to fix build on mingw/msys unix with dirty hack
- Fix shader compilation of hdr_sm5.hlsl.h on MSVC/Visual Studio -
the define was seen as an error and was causing the first pipeline
to error out
- Make sure we manually set handle of backBuffer to NULL

* Moving the release of the texture above the freeing of desc.srv_heap
and desc.rtv_heap solves the hard crashes on teardown/setup in RA -
it was crashing hard in d3d12_release_texture before

* Add HAVE_D3D12_HDR ifdef - needs to be disabled for WinRT for now
because of several things that are Windows desktop-specific right now
(GetWindowRect)

* Add dirty GUID hack - should work for both mingw/msys on Windows/Linux
as well as MSVC/Visual Studio (hopefully)

* Change HAVE_D3D12_HDR to HAVE_DXGI_HDR

* Move away from camelcase named variables

* Fix RARCH_ERR logs - they need a newline at the end

* d3d12_check_display_hdr_support - make it return a bool on return
and set d3d12->hdr.support and d3d12->hdr.enable outside of the
function

* (DXGI) Remove D3D12 dependencies from dxgi_check_display_hdr_support and
move it to dxgi_common.c instead

* (DXGI) move d3d12_swapchain_color_space over to dxgi_common.c and
rename it dxgi_swapchain_color_space

* (DXGI) move d3d12_set_hdr_metadata to dxgi_common.c and
rename it dxgi_set_hdr_metadata

* (DXGI) dxgi_check_display_hdr_support - better error handling?

* Fix typo

* Remove video_force_resolution

* (D3D12) Address TODO/FIXME

* (D3D12) Backport
c1b6c0bff2
- Fixed resource transition for present when HDR is off
Fixed cel shader displaying all black as blending was enabled when the hdr shader was being applied - turned off blending during this shader

* Move d3d12_hdr_uniform_t to dxgi_common.h and
rename it dxgi_hdr_uniform_t

* (D3D11) Add HDR support

* Add TODO/FIXME notes

* Cache hdr_enable in video_frame_info_t

* Update comment
2021-09-03 06:15:25 +02:00
Autechre
a49b02c44b
(Mac) Makefile changes for supporting Metal build (#11929)
* (QB) Add rule for Metal - define HAVE_COCOA_METAL for now
when building for Metal, and HAVE_COCOA for non-Metal build

* Make necessary changes to Makefile.common and qb/config.libs.sh:
- Disable OpenGL for now for Metal build
- Take Metal conditional out of OpenGL block in Makefile.common

* (Metal) Header fixes for compiling without Xcode/Griffin

* (Mac) Some buildfixes for non-Xcode building

* (cocoa_common.h) Restructure to no longer use -DOSX

* (Apple) More buildfixes

* (Apple) Cleanups
2021-01-22 22:20:38 +01:00
Twinaphex
a83c328631 (Metal) Fix some build problems 2021-01-19 04:38:07 +01:00
twinaphex
6d39160de1 CLeanups 2021-01-16 22:36:03 +01:00
twinaphex
72afa2f932 Cleanups 2020-08-03 16:33:54 +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
Yoshi Sugawara
c462aaf374 iOS Metal: implement the metric method for the graphics context to support getting the dpi - this is needed to make the touch interactions with the menus work. Update the metal and opengl graphics context to support a lower dpi for larger screen iPhones to make better use of the screen 2020-07-21 11:33:37 -10: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
Twinaphex
783f16b198 Updates 2020-03-10 02:48:01 +01:00
Twinaphex
dde5f67962 Revert "(Metal raster font) remove video_frame_info dep"
This reverts commit f2df63e246.
2020-03-10 02:07:10 +01:00
twinaphex
f2df63e246 (Metal raster font) remove video_frame_info dep 2020-03-10 02:02:19 +01:00
twinaphex
3aa8afd60d (gfx/drivers) Further cleanups 2020-03-07 18:05:50 +01:00
twinaphex
80991a00f0 Settings cleanups 2020-03-02 20:24:00 +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
f92a507a9b Change function signature of font_driver_render_msg 2020-01-04 16:24:14 +01:00
twinaphex
a45c9b6eb4 Duplicate aspect ratio code that was being ran twice 2019-08-12 12:52:40 +02:00
twinaphex
65b4c2595e Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00
Twinaphex
596b375da5
Merge pull request #9001 from LazyBumHorse/metal_cocoa_flags
fix shader flags for metal
2019-06-22 14:53:18 +02:00
LazyBumHorse
b8258a711a workaround for metal not being able to poll shader flags during init 2019-06-22 14:22:34 +02:00
LazyBumHorse
b5199d7921 fix black screen in Metal 2019-06-22 11:07:08 +02: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
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
Huw Pascoe
2c56011f84 video_layout interface 2019-05-11 09:58:48 +01: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
365053266f Add more flags 2019-03-13 11:04:52 +01:00
twinaphex
f49b6e26a0 (Metal) Add menu widget support 2019-02-07 02:00:23 +01:00
orbea
28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
twinaphex
987a91a1ae Silence some warnings 2019-01-31 21:24:13 +01:00
twinaphex
4350073265 Revert "Revert "Fix function signature of metal_unload_texture""
This reverts commit 1a7d69621f.
2019-01-20 17:34:38 +01:00
twinaphex
1a7d69621f Revert "Fix function signature of metal_unload_texture"
This reverts commit bd16d5c9dc.
2019-01-20 17:33:07 +01:00