diff options
Diffstat (limited to 'src/gallium/drivers/d3d12/d3d12_format.h')
-rw-r--r-- | src/gallium/drivers/d3d12/d3d12_format.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/gallium/drivers/d3d12/d3d12_format.h b/src/gallium/drivers/d3d12/d3d12_format.h index 962335731a5..3fe8528c420 100644 --- a/src/gallium/drivers/d3d12/d3d12_format.h +++ b/src/gallium/drivers/d3d12/d3d12_format.h @@ -24,10 +24,14 @@ #ifndef D3D12_FORMATS_H #define D3D12_FORMATS_H +#include "d3d12_common.h" + #include <directx/dxgiformat.h> +#include <directx/dxgicommon.h> -#include "pipe/p_format.h" +#include "util/format/u_formats.h" #include "pipe/p_defines.h" +#include "pipe/p_video_enums.h" #ifdef __cplusplus extern "C" { @@ -37,6 +41,19 @@ DXGI_FORMAT d3d12_get_format(enum pipe_format format); DXGI_FORMAT +d3d12_get_typeless_format(enum pipe_format format); + +const DXGI_FORMAT * +d3d12_get_format_cast_list(enum pipe_format format, uint32_t *num_formats); + +/* These two are only used for importing external resources without a provided template */ +enum pipe_format +d3d12_get_pipe_format(DXGI_FORMAT format); + +enum pipe_format +d3d12_get_default_pipe_format(DXGI_FORMAT format); + +DXGI_FORMAT d3d12_get_resource_srv_format(enum pipe_format f, enum pipe_texture_target target); DXGI_FORMAT @@ -51,7 +68,7 @@ struct d3d12_format_info { }; struct d3d12_format_info -d3d12_get_format_info(enum pipe_format format, enum pipe_texture_target); +d3d12_get_format_info(enum pipe_format resource_format, enum pipe_format format, enum pipe_texture_target); enum pipe_format d3d12_emulated_vtx_format(enum pipe_format fmt); @@ -62,6 +79,12 @@ d3d12_get_format_start_plane(enum pipe_format fmt); unsigned d3d12_get_format_num_planes(enum pipe_format fmt); +DXGI_FORMAT +d3d12_convert_pipe_video_profile_to_dxgi_format(enum pipe_video_profile profile); + +DXGI_COLOR_SPACE_TYPE +d3d12_convert_from_legacy_color_space(bool rgb, uint32_t bits_per_element, bool studio_rgb, bool p709, bool studio_yuv); + #ifdef __cplusplus } #endif |