mirror of https://github.com/RPCS3/rpcs3.git
144 lines
3.7 KiB
C
144 lines
3.7 KiB
C
//
|
|
// Copyright (C) Microsoft. All rights reserved.
|
|
//
|
|
#ifndef __dxgitype_h__
|
|
#define __dxgitype_h__
|
|
|
|
#include "dxgiformat.h"
|
|
|
|
#define _FACDXGI 0x87a
|
|
#define MAKE_DXGI_HRESULT(code) MAKE_HRESULT(1, _FACDXGI, code)
|
|
#define MAKE_DXGI_STATUS(code) MAKE_HRESULT(0, _FACDXGI, code)
|
|
|
|
// DXGI error messages have moved to winerror.h
|
|
|
|
#define DXGI_CPU_ACCESS_NONE ( 0 )
|
|
#define DXGI_CPU_ACCESS_DYNAMIC ( 1 )
|
|
#define DXGI_CPU_ACCESS_READ_WRITE ( 2 )
|
|
#define DXGI_CPU_ACCESS_SCRATCH ( 3 )
|
|
#define DXGI_CPU_ACCESS_FIELD 15
|
|
|
|
|
|
typedef struct DXGI_RGB
|
|
{
|
|
float Red;
|
|
float Green;
|
|
float Blue;
|
|
} DXGI_RGB;
|
|
|
|
#ifndef D3DCOLORVALUE_DEFINED
|
|
typedef struct _D3DCOLORVALUE {
|
|
float r;
|
|
float g;
|
|
float b;
|
|
float a;
|
|
} D3DCOLORVALUE;
|
|
|
|
#define D3DCOLORVALUE_DEFINED
|
|
#endif
|
|
|
|
typedef D3DCOLORVALUE DXGI_RGBA;
|
|
|
|
typedef struct DXGI_GAMMA_CONTROL
|
|
{
|
|
DXGI_RGB Scale;
|
|
DXGI_RGB Offset;
|
|
DXGI_RGB GammaCurve[ 1025 ];
|
|
} DXGI_GAMMA_CONTROL;
|
|
|
|
typedef struct DXGI_GAMMA_CONTROL_CAPABILITIES
|
|
{
|
|
BOOL ScaleAndOffsetSupported;
|
|
float MaxConvertedValue;
|
|
float MinConvertedValue;
|
|
UINT NumGammaControlPoints;
|
|
float ControlPointPositions[1025];
|
|
} DXGI_GAMMA_CONTROL_CAPABILITIES;
|
|
|
|
typedef struct DXGI_RATIONAL
|
|
{
|
|
UINT Numerator;
|
|
UINT Denominator;
|
|
} DXGI_RATIONAL;
|
|
|
|
typedef enum DXGI_MODE_SCANLINE_ORDER
|
|
{
|
|
DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0,
|
|
DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1,
|
|
DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2,
|
|
DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3
|
|
} DXGI_MODE_SCANLINE_ORDER;
|
|
|
|
typedef enum DXGI_MODE_SCALING
|
|
{
|
|
DXGI_MODE_SCALING_UNSPECIFIED = 0,
|
|
DXGI_MODE_SCALING_CENTERED = 1,
|
|
DXGI_MODE_SCALING_STRETCHED = 2
|
|
} DXGI_MODE_SCALING;
|
|
|
|
typedef enum DXGI_MODE_ROTATION
|
|
{
|
|
DXGI_MODE_ROTATION_UNSPECIFIED = 0,
|
|
DXGI_MODE_ROTATION_IDENTITY = 1,
|
|
DXGI_MODE_ROTATION_ROTATE90 = 2,
|
|
DXGI_MODE_ROTATION_ROTATE180 = 3,
|
|
DXGI_MODE_ROTATION_ROTATE270 = 4
|
|
} DXGI_MODE_ROTATION;
|
|
|
|
typedef struct DXGI_MODE_DESC
|
|
{
|
|
UINT Width;
|
|
UINT Height;
|
|
DXGI_RATIONAL RefreshRate;
|
|
DXGI_FORMAT Format;
|
|
DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;
|
|
DXGI_MODE_SCALING Scaling;
|
|
} DXGI_MODE_DESC;
|
|
|
|
// The following values are used with DXGI_SAMPLE_DESC::Quality:
|
|
#define DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN 0xffffffff
|
|
#define DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN 0xfffffffe
|
|
|
|
typedef struct DXGI_SAMPLE_DESC
|
|
{
|
|
UINT Count;
|
|
UINT Quality;
|
|
} DXGI_SAMPLE_DESC;
|
|
|
|
typedef enum DXGI_COLOR_SPACE_TYPE
|
|
{
|
|
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 = 0,
|
|
DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 = 1,
|
|
DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 = 2,
|
|
DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 = 3,
|
|
DXGI_COLOR_SPACE_RESERVED = 4,
|
|
DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 = 5,
|
|
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 = 6,
|
|
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 = 7,
|
|
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 = 8,
|
|
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 9,
|
|
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 10,
|
|
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 11,
|
|
DXGI_COLOR_SPACE_CUSTOM = 0xFFFFFFFF
|
|
} DXGI_COLOR_SPACE_TYPE;
|
|
|
|
typedef struct DXGI_JPEG_DC_HUFFMAN_TABLE
|
|
{
|
|
BYTE CodeCounts[12];
|
|
BYTE CodeValues[12];
|
|
} DXGI_JPEG_DC_HUFFMAN_TABLE;
|
|
|
|
typedef struct DXGI_JPEG_AC_HUFFMAN_TABLE
|
|
{
|
|
BYTE CodeCounts[16];
|
|
BYTE CodeValues[162];
|
|
} DXGI_JPEG_AC_HUFFMAN_TABLE;
|
|
|
|
typedef struct DXGI_JPEG_QUANTIZATION_TABLE
|
|
{
|
|
BYTE Elements[64];
|
|
} DXGI_JPEG_QUANTIZATION_TABLE;
|
|
|
|
#endif // __dxgitype_h__
|
|
|