68 Commits

Author SHA1 Message Date
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
Conrad Kreyling
9cfe50ddd3
Fix missing division sign in sunxi_gfx.c
Same fix as 71c031099b for the same problem, just in a different file.
2020-11-23 13:31:16 -05: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
twinaphex
9ace693ec0 Refactor menu_driver_frame 2020-05-19 16:20:43 +02:00
twinaphex
ec302bc4fc video_set_nonblock_state - remove settings dependency 2020-02-16 22:26:07 +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
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
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
c4c8699ee3 Only show max swapchain images if supported by video driver and/or
context driver
2018-04-23 13:34:30 +02:00
Brandon Wright
c4f818599c Add some fbdev refresh rate polls. Also Xv. 2018-04-16 16:23:59 -05:00
Brandon Wright
7a00534378 Add poke interface for get_refresh_rate. 2018-04-15 17:56:11 -05:00
twinaphex
08e61230e9 Update video_poke_interface 2018-01-30 22:29:57 +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
683c437941 Updates 2017-11-14 21:34:03 +01:00
ensrha
93ea78772d Add missing verbosity include 2017-06-19 14:38:26 +01:00
twinaphex
d4756f83e5 Stop calling video_driver_context_has_windowed from within video
drivers
2017-05-13 19:11:32 +02:00
twinaphex
2a13af52fc Revert "video_init function - video_info_t should not be const -"
This reverts commit c8bcbad4a7e06a9425a6984fd09d066c17ec682d.
2017-04-24 12:25:14 +02:00
twinaphex
c8bcbad4a7 video_init function - video_info_t should not be const -
try to set video_driver_width/video_driver_height outside
of video driver init function
2017-04-24 12:03:21 +02:00
twinaphex
2f504b4057 (gfx/drivers) Get rid of remaining runloop.h / runloop_ctl
references inside gfx/drivers
2017-01-22 18:17:48 +01:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex
fe84312340 Add some header includes 2017-01-19 17:20:42 +01:00
twinaphex
d010a852e4 Call menu_driver_frame once per video_frame call 2017-01-18 22:20:47 +01:00
twinaphex
a6a4808e94 Refactor frame monitor code 2017-01-18 17:41:27 +01:00
twinaphex
0354ced675 Style nits 2017-01-17 19:02:49 +01:00
twinaphex
36fb6776b2 Don't grab settings pointer in video_monitor_get_fps function 2017-01-09 15:42:14 +01:00
twinaphex
be2f921ee2 Don't use settings pointer inside video_frame function 2017-01-09 14:25:59 +01:00
twinaphex
202e3e796e Get rid of more general.h includes 2016-09-11 14:46:53 +02:00
twinaphex
2c77616ec3 (gfx/drivers) Cleanups 2016-05-05 01:59:05 +02:00
twinaphex
157eb71606 Use string_is_equal more 2016-01-20 06:16:55 +01:00
twinaphex
aa488dda25 Create video driver poke load_texture / unload_texture 2015-12-20 20:52:23 +01:00
twinaphex
df1c6344be Merge font_renderer_driver.c and font_driver.c 2015-12-05 12:07:22 +01:00
twinaphex
85dbeeb8f9 No more video_monitor.h 2015-11-22 13:32:46 +01:00
twinaphex
806c124eae Merge video_viewport.c and video_driver.c 2015-11-21 13:01:23 +01:00
twinaphex
2078331495 Move gfx/pixman to gfx/include 2015-11-17 08:35:00 +01:00
twinaphex
e986b9e42a Static code analysis cleanups 2015-09-29 17:35:28 +02:00
twinaphex
4ca5d31f9b Some more static code analysis nits when ran with enable=all 2015-09-28 18:12:02 +02:00
twinaphex
0c023dcb68 Reimplement frame count 2015-08-03 23:01:07 +02:00
vanfanel
eb7bf55d90 VIDEO/SUNXI: Reworked where aspect ratio is changed in order to avoid variable. 2015-07-21 14:33:02 +02:00
vanfanel
0776932b3a VIDEO/SUNXI: Make setting aspect ratio in menu work and fixed segfault on new content loading. 2015-07-21 14:22:39 +02:00
vanfanel
824c647377 VIDEO/SUNXI: fixed compilation because of a couple of small errors coming from cleanups. 2015-07-18 20:33:07 +02:00
twinaphex
40f8fabda6 Consistency in how we treat positive strcmp matches 2015-06-14 19:56:01 +02:00
twinaphex
7197b58ed6 (gfx/drivers) Cleanups 2015-06-13 02:49:29 +02:00
twinaphex
ae408a1d41 Create video_poke get_frame_count function 2015-05-09 15:52:06 +02:00
twinaphex
4ecfe639b3 Create local frame_count variables again in video_drivers 2015-05-09 15:41:10 +02:00