39 Commits

Author SHA1 Message Date
twinaphex
2864f70bd9 (D3D12) Cleanups 2022-04-24 23:33:08 +02:00
twinaphex
77adfb1c1a Simplify D3D10/D3D12 headers 2022-04-24 21:56:06 +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
sonninnos
917fb1f796 D3D12 Updates:
- Relocated 'd3d12_gfx_sync()'
- Fixed swap interval option
- Cleanups
2021-06-18 21:54:36 +03:00
twinaphex
26824b1f27 (D3D) Comment out Debug functions 2021-03-23 21:24:17 +01:00
aliaspider
1681322ffc (D3D12) fix the D3D12GetCompletedValue function wrapper.
- a function wrapper shouldn't contain any NULL checks, and it should
return the original UINT64 value, not a boolean.
2020-12-20 07:08:33 +01:00
twinaphex
212f32e2fd Get rid of the static asserts 2020-03-07 22:54:57 +01:00
Dwedit
10343d51b9 Small fixes for D3D12: Do not return false when enumerating, and add a null check for the Fence object 2019-07-02 19:46:02 -05:00
Brad Parker
d01f04c146 d3d10/11/12: add GPU selection 2019-06-18 16:35:50 -04:00
twinaphex
ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
LazyBumHorse
b54ad4d67f implement FrameDirection slang semantic for d3d10,11,12 2019-05-29 18:09:37 +02:00
twinaphex
0e5fbbb9e1 Silence some warnings 2018-12-29 02:12:50 +01:00
krzys-h
4fb06703b3 Port d3d12 driver for UWP 2018-12-28 22:10:26 +01:00
twinaphex
070c09faec Avoid more pointer grabbing for video driver ptr 2018-02-16 20:42:37 +01:00
aliaspider
98682197c9 (D3D11/12) add overlays. 2018-02-12 01:19:43 +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
aliaspider
5549b136c2 (msvc) CXX_BUILD + griffin fixes. 2018-02-05 00:25:03 +01:00
twinaphex
6982dd838f (MSVC 2017) Fix VS 2017 solution 2018-02-05 00:04:41 +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
13f18afcd9 (D3D10/11/12) cleanups / fixes. 2018-01-30 19:34:53 +01:00
twinaphex
aeab2e5bd1 enable d3d10/11/12 again for mingw build 2018-01-30 16:04:45 +01:00
twinaphex
a6f8013c24 More MSVC2013 buildfixes 2018-01-29 17:19:36 +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
aliaspider
a6b24ce995 (d3d10/11/12) reformat some files. 2018-01-24 07:45:45 +01:00
twinaphex
4dd3a22679 (D3D12) Silence MSVC warnings 2018-01-24 00:38:11 +01:00
twinaphex
0e363164b1 Attempt to get further with D3D12 for mingw - now compiles
but doesn't link yet
2018-01-24 00:14:26 +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
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
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