summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/d3d12/d3d12_format.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/d3d12/d3d12_format.h')
-rw-r--r--src/gallium/drivers/d3d12/d3d12_format.h27
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