178 Commits

Author SHA1 Message Date
bulzipke
8018be5c9b
Fix ram states to file when core deinit (#12956)
* Fix ram states to file when core deinit

* Fix unterminated state_path
Call CMD_EVENT_RAM_STATE_TO_FILE when CMD_EVENT_UNLOAD_CORE too
2021-09-08 18:01:07 +02:00
MrHuu
07600392df
(3DS) Add bottom screen idle state (#12942) 2021-09-06 01:16:16 +02:00
bulzipke
8adc24ecbc
(3DS) Add bottom screen menu (#12470)
* (3DS) Add bottom screen menu
 -> User can save/load state on botom screen with thumbnail.
 -> Call a save_state_to_file() when RAM state has data to write a disk.
 -> If the bottom screen needs updating, swap the bottom framebuffers.

Add: SAVE/LODE STATE TO RAM
 -> This is useful for devices with slow I/O
 -> 3DS bottom save state use CMD_EVENT_SAVE_STATE_TO_RAM
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE when RAM state has no data
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE_FROM_RAM when RAM sate has data

* Rewrite path_get_state to retroarch_get_current_savestate_path

* Fix unterminated state_path
2021-09-03 18:14:03 +02: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
bulzipke
7e7615c97c
(3DS) Load overlay texture images as BGR colors 2021-04-28 19:16:14 +09:00
bulzipke
56a0300db5
Load texture images as BGR colors 2021-04-27 01:58:41 +09:00
MrHuu
1235a7435e (3DS) Enable gfx_widgets / overlays 2021-04-24 15:36:03 +02:00
MrHuu
8df97a0c75 (3DS) Add HAVE_OVERLAY 2021-04-04 22:50:59 +02:00
MrHuu
b9849f78f7 (3DS) Add HAVE_GFX_WIDGETS 2021-03-23 22:03:44 +01:00
Justin Weiss
91c695ac52 [3DS] Allow sideways screen rotation 2020-10-27 21:13:19 -07:00
Autechre
33a04a794f
Merge pull request #11312 from justinweiss/3ds-enable-threading
[3DS] Enable threading and add a threaded audio driver
2020-09-10 06:50:12 +02:00
Autechre
2d3c63f545
Merge pull request #11248 from justinweiss/update-libctru
[3DS] Update to libctru 2.0
2020-09-10 06:49:54 +02:00
twinaphex
5f08605680 Refactor joypad drivers 2020-08-30 05:29:32 +02:00
Justin Weiss
f53c137459 [3DS] Enable threading 2020-08-27 19:36:39 -07:00
Justin Weiss
9ae2514009 [3DS] Update to libctru 2.0
Set USE_CTRULIB_2=1 to build with libctru 2.0. When unset, this code
is compatible with the older toolchain.

Some 2.0 changes addressed rare problems in earlier versions:

- Save / restore stack pointer for init / exit
  Otherwise, it could be outside of the range we deallocate.
- Run aptMainLoop in the audio driver to react correctly to sleep events

Other changes for 2.0:

- Remove ninjhax1 -- requires outdated APIs that have been removed
- Switch from __sync_arbiter to syncArbitrateAddress
- Use implicit gxCmdBuf
- Use gpuPresentBuffer for double buffering
2020-08-26 19:08:12 -07:00
twinaphex
72afa2f932 Cleanups 2020-08-03 16:33:54 +02:00
twinaphex
3e41cbc381 Revert "Add get_metrics to poke interface"
This reverts commit 119689c9405b5e4a321fafc340f6f0294b0338c3.
2020-08-02 23:44:28 +02:00
twinaphex
119689c940 Add get_metrics to poke interface 2020-08-02 19:25:45 +02:00
bulzipke
1c0fb50877
Update ctr_gfx.c
It fixed the sound cracking when opening or closing the 3DS screen.
2020-07-28 15:03:43 +09:00
twinaphex
3d893b7602 Add extra parameter to unload_texture 2020-07-27 10:15:28 +02:00
twinaphex
1ae20ea17c Style nits - turn macro names into upper-case - some while style nits 2020-06-26 20:00:19 +02:00
jdgleaver
1fde6f8aed Fix 3DS build 2020-06-09 10:57:00 +01:00
Guo Yunhe
e9916df9d0 Change keys to upper case 2020-06-02 10:28:00 +03: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
twinaphex
c4dfa1e12a (Gfx drivers) Cleanups 2020-03-10 19:52:05 +01:00
twinaphex
f4c5036c3c Get rid of video_frame_info dep for fonts 2020-03-10 03:24:59 +01:00
twinaphex
b7da58b40b (Gfx) Video driver cleanups 2020-03-09 16:15:53 +01:00
twinaphex
ee2f25b1dc (Gfx drivers) Cleanups 2020-03-09 05:18:02 +01:00
Justin Weiss
a96be2cdce [3DS] Keep the bottom screen hidden on sleep/wakeup
When the 3DS wakes back up after being closed, the bottom screen needs
to be reinitialized. Adding the condition here will cause the screen
to be turned on or off based on the state of
ctr_bottom_screen_enabled, as you'd expect.
2020-02-28 23:01:22 -08:00
twinaphex
a4c19457ce Found one instance where userdata was not implicitly set to NULL 2020-02-21 20:48:11 +01:00
twinaphex
d36941b81d (CTR) Buildfix 2020-02-19 00:23:45 +01:00
twinaphex
3a94c52426 (gfx drivers) Start reducing settings pointer usage 2020-02-18 14:51: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
Justin Weiss
64dc3dde40 Fix 3DS screen flickering when OSD is enabled
On the 3DS, for some cores, the screen will flicker if OSD is enabled,
and sometimes when going in and out of the menu.

As far as I can tell, this happens when a frame is dup'd, and we send
0x0 as the frame to the gfx driver. When that happens, we still draw
the OSD, using a vertex shader to transform and render it at the right
size.

When the frame is 0x0, though, the vertex shader uniforms are never
_reset_ to redraw the previous frame, so it's drawn with different
params, and gets drawn the wrong size. It will draw as the correct
size when the correct vertex shader uniforms are set, and the
incorrect size when the incorrect uniforms are set, causing
flickering.

At least, that's what I think is happening. Forcing the vertex shader
to be set regardless of whether the frame data is set fixes it, at
least during some light testing with PCSX.
2019-10-05 14:21:42 -07: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
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
f349410082 (CTR/3DS) hide 'Take Screenshot' since screenshots are not implemented
anyway
2019-05-05 14:14:14 +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
jdgleaver
a9a5782cc0 (3DS) Fix screen tearing when running 50Hz content 2019-04-16 15:44:47 +01:00
jdgleaver
54e1711f9a (3DS) Sanitise/Improve display mode selection 2019-04-15 17:05:55 +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
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
jdgleaver
ca13805937 (3DS) Add 'bottom screen' enable to User Interface menu 2018-11-14 16:41:19 +00:00