diff --git a/include/d3d9caps.h b/include/d3d9caps.h index 24ba14cd5ea..58fd3d91d01 100644 --- a/include/d3d9caps.h +++ b/include/d3d9caps.h @@ -27,7 +27,8 @@ /* * Definitions */ -#define D3DCAPS_READ_SCANLINE 0x20000 +#define D3DCAPS_OVERLAY __MSABI_LONG(0x00000800) +#define D3DCAPS_READ_SCANLINE __MSABI_LONG(0x00020000) #define D3DCURSORCAPS_COLOR 1 #define D3DCURSORCAPS_LOWRES 2 @@ -119,7 +120,6 @@ #define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS __MSABI_LONG(0x00040000) #define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING __MSABI_LONG(0x00080000) #define D3DPMISCCAPS_FOGVERTEXCLAMPED __MSABI_LONG(0x00100000) - #ifndef D3D_DISABLE_9EX #define D3DPMISCCAPS_POSTBLENDSRGBCONVERT __MSABI_LONG(0x00200000) #endif @@ -180,18 +180,21 @@ #define D3DPTEXTURECAPS_VOLUMEMAP_POW2 __MSABI_LONG(0x00040000) #define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV __MSABI_LONG(0x00200000) -#define D3DPTFILTERCAPS_MINFPOINT 0x00000100 -#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200 -#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400 -#define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD 0x00000800 -#define D3DPTFILTERCAPS_MINFGAUSSIANQUAD 0x00001000 -#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000 -#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000 -#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000 -#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000 -#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000 -#define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x08000000 -#define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD 0x10000000 +#define D3DPTFILTERCAPS_MINFPOINT __MSABI_LONG(0x00000100) +#define D3DPTFILTERCAPS_MINFLINEAR __MSABI_LONG(0x00000200) +#define D3DPTFILTERCAPS_MINFANISOTROPIC __MSABI_LONG(0x00000400) +#define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD __MSABI_LONG(0x00000800) +#define D3DPTFILTERCAPS_MINFGAUSSIANQUAD __MSABI_LONG(0x00001000) +#define D3DPTFILTERCAPS_MIPFPOINT __MSABI_LONG(0x00010000) +#define D3DPTFILTERCAPS_MIPFLINEAR __MSABI_LONG(0x00020000) +#ifndef D3D_DISABLE_9EX +#define D3DPTFILTERCAPS_CONVOLUTIONMONO __MSABI_LONG(0x00040000) +#endif +#define D3DPTFILTERCAPS_MAGFPOINT __MSABI_LONG(0x01000000) +#define D3DPTFILTERCAPS_MAGFLINEAR __MSABI_LONG(0x02000000) +#define D3DPTFILTERCAPS_MAGFANISOTROPIC __MSABI_LONG(0x04000000) +#define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD __MSABI_LONG(0x08000000) +#define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD __MSABI_LONG(0x10000000) #define D3DSTENCILCAPS_KEEP 0x01 #define D3DSTENCILCAPS_ZERO 0x02 @@ -254,6 +257,8 @@ #define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION __MSABI_LONG(0x00000080) #define D3DCAPS3_COPY_TO_VIDMEM __MSABI_LONG(0x00000100) #define D3DCAPS3_COPY_TO_SYSTEMMEM __MSABI_LONG(0x00000200) +#define D3DCAPS3_DXVAHD __MSABI_LONG(0x00000400) +#define D3DCAPS3_DXVAHD_LIMITED __MSABI_LONG(0x00000800) #define D3DCAPS3_RESERVED __MSABI_LONG(0x8000001F) #define D3DCAPS2_NO2DDURING3DSCENE __MSABI_LONG(0x00000002) @@ -264,7 +269,9 @@ #define D3DCAPS2_CANMANAGERESOURCE __MSABI_LONG(0x10000000) #define D3DCAPS2_DYNAMICTEXTURES __MSABI_LONG(0x20000000) #define D3DCAPS2_CANAUTOGENMIPMAP __MSABI_LONG(0x40000000) - +#ifndef D3D_DISABLE_9EX +#define D3DCAPS2_CANSHARERESOURCE __MSABI_LONG(0x80000000) +#endif #define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24 #define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0 diff --git a/include/d3d9types.h b/include/d3d9types.h index bb7e3a03e87..4891858b3d2 100644 --- a/include/d3d9types.h +++ b/include/d3d9types.h @@ -118,14 +118,15 @@ #define D3DUSAGE_RESTRICTED_CONTENT __MSABI_LONG(0x00000800) #define D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER __MSABI_LONG(0x00001000) #define D3DUSAGE_RESTRICT_SHARED_RESOURCE __MSABI_LONG(0x00002000) +#define D3DUSAGE_NONSECURE __MSABI_LONG(0x00800000) #define D3DUSAGE_TEXTAPI __MSABI_LONG(0x10000000) #endif /* D3D_DISABLE_9EX */ -#define D3DUSAGE_QUERY_FILTER __MSABI_LONG(0x00020000) #define D3DUSAGE_QUERY_LEGACYBUMPMAP __MSABI_LONG(0x00008000) -#define D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING __MSABI_LONG(0x00080000) #define D3DUSAGE_QUERY_SRGBREAD __MSABI_LONG(0x00010000) +#define D3DUSAGE_QUERY_FILTER __MSABI_LONG(0x00020000) #define D3DUSAGE_QUERY_SRGBWRITE __MSABI_LONG(0x00040000) +#define D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING __MSABI_LONG(0x00080000) #define D3DUSAGE_QUERY_VERTEXTEXTURE __MSABI_LONG(0x00100000) #define D3DUSAGE_QUERY_WRAPANDMIP __MSABI_LONG(0x00200000) @@ -211,14 +212,21 @@ /* Constants used by D3DPRESENT_PARAMETERS. when creating a device or swapchain */ -#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 /* Create a lockable backbuffer */ -#define D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 /* Discard Z buffer */ -#define D3DPRESENTFLAG_DEVICECLIP 0x00000004 /* Clip the window blited into the client area 2k + xp only */ -#define D3DPRESENTFLAG_VIDEO 0x00000010 /* backbuffer 'may' contain video data */ -#define D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 /* d3d9ex, ignore display rotation */ -#define D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 /* d3d9ex, specify invalid display modes */ +#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 /* Create a lockable backbuffer */ +#define D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 /* Discard Z buffer */ +#define D3DPRESENTFLAG_DEVICECLIP 0x00000004 /* Clip the window blited into the client area 2k + xp only */ +#define D3DPRESENTFLAG_VIDEO 0x00000010 /* backbuffer 'may' contain video data */ +#ifndef D3D_DISABLE_9EX +#define D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 /* d3d9ex, ignore display rotation */ +#define D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 /* d3d9ex, specify invalid display modes */ +#define D3DPRESENTFLAG_OVERLAY_LIMITEDRGB 0x00000080 +#define D3DPRESENTFLAG_OVERLAY_YCbCr_BT709 0x00000100 +#define D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC 0x00000200 +#define D3DPRESENTFLAG_RESTRICTED_CONTENT 0x00000400 +#define D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER 0x00000800 +#endif -#define D3DPRESENT_RATE_DEFAULT 0x00000000 +#define D3DPRESENT_RATE_DEFAULT 0x00000000 /**************************** * Vertex Shaders Declaration @@ -308,7 +316,9 @@ typedef enum _D3DQUERYTYPE { D3DQUERYTYPE_PIXELTIMINGS = 16, D3DQUERYTYPE_BANDWIDTHTIMINGS = 17, D3DQUERYTYPE_CACHEUTILIZATION = 18, +#ifndef D3D_DISABLE_9EX D3DQUERYTYPE_MEMORYPRESSURE = 19, +#endif } D3DQUERYTYPE; #define D3DISSUE_BEGIN (1 << 1) @@ -515,31 +525,32 @@ typedef enum _D3DSHADER_PARAM_DSTMOD_TYPE { #define D3DSP_REGTYPE_MASK (0x7 << D3DSP_REGTYPE_SHIFT) #define D3DSP_REGTYPE_MASK2 0x00001800 -typedef enum _D3DSHADER_PARAM_REGISTER_TYPE { - D3DSPR_TEMP = 0, - D3DSPR_INPUT = 1, - D3DSPR_CONST = 2, - D3DSPR_ADDR = 3, - D3DSPR_TEXTURE = 3, - D3DSPR_RASTOUT = 4, - D3DSPR_ATTROUT = 5, - D3DSPR_TEXCRDOUT = 6, - D3DSPR_OUTPUT = 6, - D3DSPR_CONSTINT = 7, - D3DSPR_COLOROUT = 8, - D3DSPR_DEPTHOUT = 9, - D3DSPR_SAMPLER = 10, - D3DSPR_CONST2 = 11, - D3DSPR_CONST3 = 12, - D3DSPR_CONST4 = 13, - D3DSPR_CONSTBOOL = 14, - D3DSPR_LOOP = 15, - D3DSPR_TEMPFLOAT16 = 16, - D3DSPR_MISCTYPE = 17, - D3DSPR_LABEL = 18, - D3DSPR_PREDICATE = 19, +typedef enum _D3DSHADER_PARAM_REGISTER_TYPE +{ + D3DSPR_TEMP = 0, + D3DSPR_INPUT = 1, + D3DSPR_CONST = 2, + D3DSPR_ADDR = 3, + D3DSPR_TEXTURE = 3, + D3DSPR_RASTOUT = 4, + D3DSPR_ATTROUT = 5, + D3DSPR_TEXCRDOUT = 6, + D3DSPR_OUTPUT = 6, + D3DSPR_CONSTINT = 7, + D3DSPR_COLOROUT = 8, + D3DSPR_DEPTHOUT = 9, + D3DSPR_SAMPLER = 10, + D3DSPR_CONST2 = 11, + D3DSPR_CONST3 = 12, + D3DSPR_CONST4 = 13, + D3DSPR_CONSTBOOL = 14, + D3DSPR_LOOP = 15, + D3DSPR_TEMPFLOAT16 = 16, + D3DSPR_MISCTYPE = 17, + D3DSPR_LABEL = 18, + D3DSPR_PREDICATE = 19, - D3DSPR_FORCE_DWORD = 0x7FFFFFFF + D3DSPR_FORCE_DWORD = 0x7fffffff } D3DSHADER_PARAM_REGISTER_TYPE; typedef enum _D3DSHADER_MISCTYPE_OFFSETS { @@ -827,6 +838,10 @@ typedef enum _D3DFORMAT { D3DFMT_L16 = 81, D3DFMT_D32F_LOCKABLE = 82, D3DFMT_D24FS8 = 83, +#ifndef D3D_DISABLE_9EX + D3DFMT_D32_LOCKABLE = 84, + D3DFMT_S8_LOCKABLE = 85, +#endif D3DFMT_VERTEXDATA = 100, D3DFMT_INDEX16 = 101, @@ -843,7 +858,11 @@ typedef enum _D3DFORMAT { D3DFMT_A32B32G32R32F = 116, D3DFMT_CxV8U8 = 117, - +#ifndef D3D_DISABLE_9EX + D3DFMT_A1 = 118, + D3DFMT_A2B10G10R10_XR_BIAS = 119, + D3DFMT_BINARYBUFFER = 199, +#endif D3DFMT_FORCE_DWORD = 0xFFFFFFFF } D3DFORMAT; @@ -1078,8 +1097,10 @@ typedef enum _D3DSWAPEFFECT { D3DSWAPEFFECT_DISCARD = 1, D3DSWAPEFFECT_FLIP = 2, D3DSWAPEFFECT_COPY = 3, +#ifndef D3D_DISABLE_9EX D3DSWAPEFFECT_OVERLAY = 4, D3DSWAPEFFECT_FLIPEX = 5, +#endif D3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF } D3DSWAPEFFECT; @@ -1102,6 +1123,9 @@ typedef enum _D3DTEXTUREFILTERTYPE { D3DTEXF_GAUSSIANCUBIC = 5, D3DTEXF_PYRAMIDALQUAD = 6, D3DTEXF_GAUSSIANQUAD = 7, +#ifndef D3D_DISABLE_9EX + D3DTEXF_CONVOLUTIONMONO = 8, +#endif D3DTEXF_FORCE_DWORD = 0x7fffffff } D3DTEXTUREFILTERTYPE; @@ -1566,6 +1590,13 @@ typedef enum D3DDISPLAYROTATION D3DDISPLAYROTATION_270 } D3DDISPLAYROTATION; +typedef struct _D3DMEMORYPRESSURE +{ + UINT64 BytesEvictedFromProcess; + UINT64 SizeOfInefficientAllocation; + DWORD LevelOfEfficiency; +} D3DMEMORYPRESSURE; + typedef enum _D3DCOMPOSERECTSOP{ D3DCOMPOSERECTS_COPY = 1, D3DCOMPOSERECTS_OR,