Updated imported headers to current Wine version.
diff --git a/mingw-w64-headers/direct-x/include/d3d11.h b/mingw-w64-headers/direct-x/include/d3d11.h
index 3796822..038d1a3 100644
--- a/mingw-w64-headers/direct-x/include/d3d11.h
+++ b/mingw-w64-headers/direct-x/include/d3d11.h
@@ -392,6 +392,8 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef _D3D11_CONSTANTS
+#define _D3D11_CONSTANTS
 #define D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14)
 
 #define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS (4)
@@ -783,6 +785,17 @@
 
 #define D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT (64)
 
+#endif
+#ifndef _D3D11_1_CONSTANTS
+#define _D3D11_1_CONSTANTS
+#define D3D11_1_UAV_SLOT_COUNT (64)
+
+#endif
+#ifndef _D3D11_2_CONSTANTS
+#define _D3D11_2_CONSTANTS
+#define D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES (0x10000)
+
+#endif
 #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
 struct CD3D11_DEFAULT {};
 extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;
@@ -1641,7 +1654,9 @@
     explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {
         AlphaToCoverageEnable = FALSE;
         IndependentBlendEnable = FALSE;
-        for(D3D11_RENDER_TARGET_BLEND_DESC *target; target < RenderTarget+D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; target++) {
+        for(D3D11_RENDER_TARGET_BLEND_DESC *target = RenderTarget;
+                target < RenderTarget + D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT;
+                target++) {
             target->BlendEnable = FALSE;
             target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;
             target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;
diff --git a/mingw-w64-headers/direct-x/include/d3d11.idl b/mingw-w64-headers/direct-x/include/d3d11.idl
index 34cc1aa..53906df 100644
--- a/mingw-w64-headers/direct-x/include/d3d11.idl
+++ b/mingw-w64-headers/direct-x/include/d3d11.idl
@@ -32,6 +32,9 @@
 interface ID3D11Resource;
 interface ID3D11VideoProcessorInputView;
 
+cpp_quote("#ifndef _D3D11_CONSTANTS")
+cpp_quote("#define _D3D11_CONSTANTS")
+
 const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT      = 14;
 const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS          = 4;
 const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
@@ -255,6 +258,18 @@
 const UINT D3D11_STANDARD_VERTEX_ELEMENT_COUNT                    = 32;
 const UINT D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT            = 64;
 
+cpp_quote("#endif")
+
+cpp_quote("#ifndef _D3D11_1_CONSTANTS")
+cpp_quote("#define _D3D11_1_CONSTANTS")
+const UINT D3D11_1_UAV_SLOT_COUNT = 64;
+cpp_quote("#endif")
+
+cpp_quote("#ifndef _D3D11_2_CONSTANTS")
+cpp_quote("#define _D3D11_2_CONSTANTS")
+const UINT D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES = 0x10000;
+cpp_quote("#endif")
+
 cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
 cpp_quote("struct CD3D11_DEFAULT {};")
 cpp_quote("extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;")
@@ -1356,7 +1371,9 @@
 cpp_quote("    explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {")
 cpp_quote("        AlphaToCoverageEnable = FALSE;")
 cpp_quote("        IndependentBlendEnable = FALSE;")
-cpp_quote("        for(D3D11_RENDER_TARGET_BLEND_DESC *target; target < RenderTarget+D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; target++) {")
+cpp_quote("        for(D3D11_RENDER_TARGET_BLEND_DESC *target = RenderTarget;")
+cpp_quote("                target < RenderTarget + D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT;")
+cpp_quote("                target++) {")
 cpp_quote("            target->BlendEnable = FALSE;")
 cpp_quote("            target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;")
 cpp_quote("            target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;")
diff --git a/mingw-w64-headers/direct-x/include/d3d8caps.h b/mingw-w64-headers/direct-x/include/d3d8caps.h
index d11a46f..469dace 100644
--- a/mingw-w64-headers/direct-x/include/d3d8caps.h
+++ b/mingw-w64-headers/direct-x/include/d3d8caps.h
@@ -86,16 +86,17 @@
 #define D3DPCMPCAPS_GREATEREQUAL 0x40
 #define D3DPCMPCAPS_ALWAYS       0x80
 
-#define D3DPMISCCAPS_MASKZ                 0x0002
-#define D3DPMISCCAPS_LINEPATTERNREP        0x0004
-#define D3DPMISCCAPS_CULLNONE              0x0010
-#define D3DPMISCCAPS_CULLCW                0x0020
-#define D3DPMISCCAPS_CULLCCW               0x0040
-#define D3DPMISCCAPS_COLORWRITEENABLE      0x0080
-#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x0100
-#define D3DPMISCCAPS_CLIPTLVERTS           0x0200
-#define D3DPMISCCAPS_TSSARGTEMP            0x0400
-#define D3DPMISCCAPS_BLENDOP               0x0800
+#define D3DPMISCCAPS_MASKZ                 __MSABI_LONG(0x00000002)
+#define D3DPMISCCAPS_LINEPATTERNREP        __MSABI_LONG(0x00000004)
+#define D3DPMISCCAPS_CULLNONE              __MSABI_LONG(0x00000010)
+#define D3DPMISCCAPS_CULLCW                __MSABI_LONG(0x00000020)
+#define D3DPMISCCAPS_CULLCCW               __MSABI_LONG(0x00000040)
+#define D3DPMISCCAPS_COLORWRITEENABLE      __MSABI_LONG(0x00000080)
+#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS __MSABI_LONG(0x00000100)
+#define D3DPMISCCAPS_CLIPTLVERTS           __MSABI_LONG(0x00000200)
+#define D3DPMISCCAPS_TSSARGTEMP            __MSABI_LONG(0x00000400)
+#define D3DPMISCCAPS_BLENDOP               __MSABI_LONG(0x00000800)
+#define D3DPMISCCAPS_NULLREFERENCE         __MSABI_LONG(0x00001000)
 
 #define D3DPRASTERCAPS_DITHER                     0x00000001
 #define D3DPRASTERCAPS_PAT                        0x00000008
@@ -196,12 +197,13 @@
 #define D3DTEXOPCAPS_MULTIPLYADD                 0x1000000
 #define D3DTEXOPCAPS_LERP                        0x2000000
 
-#define D3DVTXPCAPS_TEXGEN                       0x01
-#define D3DVTXPCAPS_MATERIALSOURCE7              0x02
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS            0x08
-#define D3DVTXPCAPS_POSITIONALLIGHTS             0x10
-#define D3DVTXPCAPS_LOCALVIEWER                  0x20
-#define D3DVTXPCAPS_TWEENING                     0x40
+#define D3DVTXPCAPS_TEXGEN                       __MSABI_LONG(0x00000001)
+#define D3DVTXPCAPS_MATERIALSOURCE7              __MSABI_LONG(0x00000002)
+#define D3DVTXPCAPS_DIRECTIONALLIGHTS            __MSABI_LONG(0x00000008)
+#define D3DVTXPCAPS_POSITIONALLIGHTS             __MSABI_LONG(0x00000010)
+#define D3DVTXPCAPS_LOCALVIEWER                  __MSABI_LONG(0x00000020)
+#define D3DVTXPCAPS_TWEENING                     __MSABI_LONG(0x00000040)
+#define D3DVTXPCAPS_NO_VSDT_UBYTE4               __MSABI_LONG(0x00000080)
 
 #define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD  0x00000020
 #define D3DCAPS3_RESERVED                          0x8000001f
diff --git a/mingw-w64-headers/direct-x/include/d3d9caps.h b/mingw-w64-headers/direct-x/include/d3d9caps.h
index 424b20c..58fd3d9 100644
--- a/mingw-w64-headers/direct-x/include/d3d9caps.h
+++ b/mingw-w64-headers/direct-x/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
@@ -73,20 +74,24 @@
 #define D3DLINECAPS_FOG               0x10
 #define D3DLINECAPS_ANTIALIAS         0x20
 
-#define D3DPBLENDCAPS_ZERO            0x00000001
-#define D3DPBLENDCAPS_ONE             0x00000002
-#define D3DPBLENDCAPS_SRCCOLOR        0x00000004
-#define D3DPBLENDCAPS_INVSRCCOLOR     0x00000008
-#define D3DPBLENDCAPS_SRCALPHA        0x00000010
-#define D3DPBLENDCAPS_INVSRCALPHA     0x00000020
-#define D3DPBLENDCAPS_DESTALPHA       0x00000040
-#define D3DPBLENDCAPS_INVDESTALPHA    0x00000080
-#define D3DPBLENDCAPS_DESTCOLOR       0x00000100
-#define D3DPBLENDCAPS_INVDESTCOLOR    0x00000200
-#define D3DPBLENDCAPS_SRCALPHASAT     0x00000400
-#define D3DPBLENDCAPS_BOTHSRCALPHA    0x00000800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
-#define D3DPBLENDCAPS_BLENDFACTOR     0x00002000
+#define D3DPBLENDCAPS_ZERO            __MSABI_LONG(0x00000001)
+#define D3DPBLENDCAPS_ONE             __MSABI_LONG(0x00000002)
+#define D3DPBLENDCAPS_SRCCOLOR        __MSABI_LONG(0x00000004)
+#define D3DPBLENDCAPS_INVSRCCOLOR     __MSABI_LONG(0x00000008)
+#define D3DPBLENDCAPS_SRCALPHA        __MSABI_LONG(0x00000010)
+#define D3DPBLENDCAPS_INVSRCALPHA     __MSABI_LONG(0x00000020)
+#define D3DPBLENDCAPS_DESTALPHA       __MSABI_LONG(0x00000040)
+#define D3DPBLENDCAPS_INVDESTALPHA    __MSABI_LONG(0x00000080)
+#define D3DPBLENDCAPS_DESTCOLOR       __MSABI_LONG(0x00000100)
+#define D3DPBLENDCAPS_INVDESTCOLOR    __MSABI_LONG(0x00000200)
+#define D3DPBLENDCAPS_SRCALPHASAT     __MSABI_LONG(0x00000400)
+#define D3DPBLENDCAPS_BOTHSRCALPHA    __MSABI_LONG(0x00000800)
+#define D3DPBLENDCAPS_BOTHINVSRCALPHA __MSABI_LONG(0x00001000)
+#define D3DPBLENDCAPS_BLENDFACTOR     __MSABI_LONG(0x00002000)
+#ifndef D3D_DISABLE_9EX
+#define D3DPBLENDCAPS_SRCCOLOR2       __MSABI_LONG(0x00004000)
+#define D3DPBLENDCAPS_INVSRCCOLOR2    __MSABI_LONG(0x00008000)
+#endif
 
 #define D3DPCMPCAPS_NEVER        0x01
 #define D3DPCMPCAPS_LESS         0x02
@@ -115,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
@@ -176,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
@@ -250,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)
@@ -260,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/mingw-w64-headers/direct-x/include/d3d9types.h b/mingw-w64-headers/direct-x/include/d3d9types.h
index d26451e..b77f7cd 100644
--- a/mingw-w64-headers/direct-x/include/d3d9types.h
+++ b/mingw-w64-headers/direct-x/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 @@
     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 @@
 #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 {
@@ -679,6 +690,10 @@
     D3DBLEND_BOTHINVSRCALPHA    = 13,
     D3DBLEND_BLENDFACTOR        = 14,
     D3DBLEND_INVBLENDFACTOR     = 15,
+#ifndef D3D_DISABLE_9EX
+    D3DBLEND_SRCCOLOR2          = 16,
+    D3DBLEND_INVSRCCOLOR2       = 17,
+#endif
     D3DBLEND_FORCE_DWORD        = 0x7fffffff
 } D3DBLEND;
 
@@ -823,6 +838,10 @@
     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,
@@ -839,7 +858,11 @@
     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;
@@ -1074,8 +1097,10 @@
     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;
 
@@ -1098,6 +1123,9 @@
     D3DTEXF_GAUSSIANCUBIC   = 5,
     D3DTEXF_PYRAMIDALQUAD   = 6,
     D3DTEXF_GAUSSIANQUAD    = 7,
+#ifndef D3D_DISABLE_9EX
+    D3DTEXF_CONVOLUTIONMONO = 8,
+#endif
     D3DTEXF_FORCE_DWORD     = 0x7fffffff
 } D3DTEXTUREFILTERTYPE;
 
@@ -1562,6 +1590,13 @@
     D3DDISPLAYROTATION_270
 } D3DDISPLAYROTATION;
 
+typedef struct _D3DMEMORYPRESSURE
+{
+    UINT64 BytesEvictedFromProcess;
+    UINT64 SizeOfInefficientAllocation;
+    DWORD  LevelOfEfficiency;
+} D3DMEMORYPRESSURE;
+
 typedef enum _D3DCOMPOSERECTSOP{
     D3DCOMPOSERECTS_COPY        = 1,
     D3DCOMPOSERECTS_OR,
diff --git a/mingw-w64-headers/direct-x/include/d3dcommon.h b/mingw-w64-headers/direct-x/include/d3dcommon.h
index 29e136d..f9684b6 100644
--- a/mingw-w64-headers/direct-x/include/d3dcommon.h
+++ b/mingw-w64-headers/direct-x/include/d3dcommon.h
@@ -230,7 +230,9 @@
     D3D_FEATURE_LEVEL_10_0 = 0xa000,
     D3D_FEATURE_LEVEL_10_1 = 0xa100,
     D3D_FEATURE_LEVEL_11_0 = 0xb000,
-    D3D_FEATURE_LEVEL_11_1 = 0xb100
+    D3D_FEATURE_LEVEL_11_1 = 0xb100,
+    D3D_FEATURE_LEVEL_12_0 = 0xc000,
+    D3D_FEATURE_LEVEL_12_1 = 0xc100
 } D3D_FEATURE_LEVEL;
 #define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION          2048
 #define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION          4096
diff --git a/mingw-w64-headers/direct-x/include/d3dcommon.idl b/mingw-w64-headers/direct-x/include/d3dcommon.idl
index c7e3b4d..5e38658 100644
--- a/mingw-w64-headers/direct-x/include/d3dcommon.idl
+++ b/mingw-w64-headers/direct-x/include/d3dcommon.idl
@@ -86,7 +86,9 @@
     D3D_FEATURE_LEVEL_10_0 = 0xa000,
     D3D_FEATURE_LEVEL_10_1 = 0xa100,
     D3D_FEATURE_LEVEL_11_0 = 0xb000,
-    D3D_FEATURE_LEVEL_11_1 = 0xb100
+    D3D_FEATURE_LEVEL_11_1 = 0xb100,
+    D3D_FEATURE_LEVEL_12_0 = 0xc000,
+    D3D_FEATURE_LEVEL_12_1 = 0xc100,
 } D3D_FEATURE_LEVEL;
 
 cpp_quote("#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION          2048")
diff --git a/mingw-w64-headers/direct-x/include/d3dx9effect.h b/mingw-w64-headers/direct-x/include/d3dx9effect.h
index 49f8b0c..c6bc2fa 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9effect.h
+++ b/mingw-w64-headers/direct-x/include/d3dx9effect.h
@@ -199,7 +199,13 @@
 
 typedef struct ID3DXEffect *LPD3DXEFFECT;
 
-DEFINE_GUID(IID_ID3DXEffect, 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5);
+#if D3DX_SDK_VERSION <= 25
+DEFINE_GUID(IID_ID3DXEffect, 0xd165ccb1, 0x62b0, 0x4a33, 0xb3, 0xfa, 0xa9, 0x23, 0x00, 0x30, 0x5a, 0x11);
+#elif D3DX_SDK_VERSION == 26
+DEFINE_GUID(IID_ID3DXEffect, 0xc7b17651, 0x5420, 0x490e, 0x8a, 0x7f, 0x92, 0x36, 0x75, 0xa2, 0xd6, 0x87);
+#else
+DEFINE_GUID(IID_ID3DXEffect, 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0x0c, 0xd5);
+#endif
 
 #define INTERFACE ID3DXEffect
 
@@ -284,10 +290,15 @@
     STDMETHOD(BeginParameterBlock)(THIS) PURE;
     STDMETHOD_(D3DXHANDLE, EndParameterBlock)(THIS) PURE;
     STDMETHOD(ApplyParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
+#if D3DX_SDK_VERSION >= 26
     STDMETHOD(DeleteParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
+#endif
     STDMETHOD(CloneEffect)(THIS_ struct IDirect3DDevice9 *device, struct ID3DXEffect **effect) PURE;
+#if D3DX_SDK_VERSION >= 27
     STDMETHOD(SetRawValue)(THIS_ D3DXHANDLE parameter, const void *data, UINT byte_offset, UINT bytes) PURE;
+#endif
 };
+
 #undef INTERFACE
 
 typedef struct ID3DXEffectCompiler *LPD3DXEFFECTCOMPILER;
diff --git a/mingw-w64-headers/direct-x/include/dxgi.h b/mingw-w64-headers/direct-x/include/dxgi.h
index 905793c..2246308 100644
--- a/mingw-w64-headers/direct-x/include/dxgi.h
+++ b/mingw-w64-headers/direct-x/include/dxgi.h
@@ -233,9 +233,19 @@
     LUID AdapterLuid;
 } DXGI_ADAPTER_DESC;
 typedef enum DXGI_SWAP_CHAIN_FLAG {
-    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1,
-    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2,
-    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4
+    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 0x1,
+    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 0x2,
+    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 0x4,
+    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTEXT = 0x8,
+    DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 0x10,
+    DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 0x20,
+    DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 0x40,
+    DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 0x80,
+    DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 0x100,
+    DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 0x200,
+    DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 0x400,
+    DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 0x800,
+    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 0x1000
 } DXGI_SWAP_CHAIN_FLAG;
 typedef struct DXGI_SWAP_CHAIN_DESC {
     DXGI_MODE_DESC BufferDesc;
diff --git a/mingw-w64-headers/direct-x/include/dxgi.idl b/mingw-w64-headers/direct-x/include/dxgi.idl
index 0626315..b724770 100644
--- a/mingw-w64-headers/direct-x/include/dxgi.idl
+++ b/mingw-w64-headers/direct-x/include/dxgi.idl
@@ -108,10 +108,21 @@
     LUID AdapterLuid;
 } DXGI_ADAPTER_DESC;
 
-typedef enum DXGI_SWAP_CHAIN_FLAG {
-    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED      = 1,
-    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH  = 2,
-    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE     = 4
+typedef enum DXGI_SWAP_CHAIN_FLAG
+{
+    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED                          = 0x0001,
+    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH                      = 0x0002,
+    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE                         = 0x0004,
+    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTEXT                     = 0x0008,
+    DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER        = 0x0010,
+    DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY                           = 0x0020,
+    DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT          = 0x0040,
+    DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER                       = 0x0080,
+    DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO                       = 0x0100,
+    DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO                              = 0x0200,
+    DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED                           = 0x0400,
+    DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING                          = 0x0800,
+    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 0x1000,
 } DXGI_SWAP_CHAIN_FLAG;
 
 typedef struct DXGI_SWAP_CHAIN_DESC {
diff --git a/mingw-w64-headers/direct-x/include/xinput.h b/mingw-w64-headers/direct-x/include/xinput.h
index b47d8ed..c2e8c95 100644
--- a/mingw-w64-headers/direct-x/include/xinput.h
+++ b/mingw-w64-headers/direct-x/include/xinput.h
@@ -156,6 +156,8 @@
 #define XUSER_MAX_COUNT                 4
 #define XUSER_INDEX_ANY                 0x000000FF
 
+#define XINPUT_CAPS_FFB_SUPPORTED       0x0001
+
 /*
  * Defines the structure of an xbox 360 joystick.
  */
diff --git a/mingw-w64-headers/include/msctf.h b/mingw-w64-headers/include/msctf.h
index b060837..dc80220 100644
--- a/mingw-w64-headers/include/msctf.h
+++ b/mingw-w64-headers/include/msctf.h
@@ -257,6 +257,14 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef __ITfKeyTraceEventSink_FWD_DEFINED__
+#define __ITfKeyTraceEventSink_FWD_DEFINED__
+typedef interface ITfKeyTraceEventSink ITfKeyTraceEventSink;
+#ifdef __cplusplus
+interface ITfKeyTraceEventSink;
+#endif /* __cplusplus */
+#endif
+
 #ifndef __ITfMessagePump_FWD_DEFINED__
 #define __ITfMessagePump_FWD_DEFINED__
 typedef interface ITfMessagePump ITfMessagePump;
@@ -5026,6 +5034,98 @@
 #endif  /* __ITfKeyEventSink_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
+ * ITfKeyTraceEventSink interface
+ */
+#ifndef __ITfKeyTraceEventSink_INTERFACE_DEFINED__
+#define __ITfKeyTraceEventSink_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ITfKeyTraceEventSink, 0x1cd4c13b, 0x1c36, 0x4191, 0xa7,0x0a, 0x7f,0x3e,0x61,0x1f,0x36,0x7d);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("1cd4c13b-1c36-4191-a70a-7f3e611f367d")
+ITfKeyTraceEventSink : public IUnknown
+{
+    virtual HRESULT STDMETHODCALLTYPE OnKeyTraceDown(
+        WPARAM wParam,
+        LPARAM lParam) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE OnKeyTraceUp(
+        WPARAM wParam,
+        LPARAM lParam) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ITfKeyTraceEventSink, 0x1cd4c13b, 0x1c36, 0x4191, 0xa7,0x0a, 0x7f,0x3e,0x61,0x1f,0x36,0x7d)
+#endif
+#else
+typedef struct ITfKeyTraceEventSinkVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        ITfKeyTraceEventSink *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        ITfKeyTraceEventSink *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        ITfKeyTraceEventSink *This);
+
+    /*** ITfKeyTraceEventSink methods ***/
+    HRESULT (STDMETHODCALLTYPE *OnKeyTraceDown)(
+        ITfKeyTraceEventSink *This,
+        WPARAM wParam,
+        LPARAM lParam);
+
+    HRESULT (STDMETHODCALLTYPE *OnKeyTraceUp)(
+        ITfKeyTraceEventSink *This,
+        WPARAM wParam,
+        LPARAM lParam);
+
+    END_INTERFACE
+} ITfKeyTraceEventSinkVtbl;
+
+interface ITfKeyTraceEventSink {
+    CONST_VTBL ITfKeyTraceEventSinkVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ITfKeyTraceEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ITfKeyTraceEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ITfKeyTraceEventSink_Release(This) (This)->lpVtbl->Release(This)
+/*** ITfKeyTraceEventSink methods ***/
+#define ITfKeyTraceEventSink_OnKeyTraceDown(This,wParam,lParam) (This)->lpVtbl->OnKeyTraceDown(This,wParam,lParam)
+#define ITfKeyTraceEventSink_OnKeyTraceUp(This,wParam,lParam) (This)->lpVtbl->OnKeyTraceUp(This,wParam,lParam)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ITfKeyTraceEventSink_QueryInterface(ITfKeyTraceEventSink* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ITfKeyTraceEventSink_AddRef(ITfKeyTraceEventSink* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ITfKeyTraceEventSink_Release(ITfKeyTraceEventSink* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** ITfKeyTraceEventSink methods ***/
+static FORCEINLINE HRESULT ITfKeyTraceEventSink_OnKeyTraceDown(ITfKeyTraceEventSink* This,WPARAM wParam,LPARAM lParam) {
+    return This->lpVtbl->OnKeyTraceDown(This,wParam,lParam);
+}
+static FORCEINLINE HRESULT ITfKeyTraceEventSink_OnKeyTraceUp(ITfKeyTraceEventSink* This,WPARAM wParam,LPARAM lParam) {
+    return This->lpVtbl->OnKeyTraceUp(This,wParam,lParam);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif  /* __ITfKeyTraceEventSink_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
  * ITfMessagePump interface
  */
 #ifndef __ITfMessagePump_INTERFACE_DEFINED__
diff --git a/mingw-w64-headers/include/msctf.idl b/mingw-w64-headers/include/msctf.idl
index 0b96faa..01e944c 100644
--- a/mingw-w64-headers/include/msctf.idl
+++ b/mingw-w64-headers/include/msctf.idl
@@ -1122,6 +1122,23 @@
 [
   object,
   local,
+  uuid(1cd4c13b-1c36-4191-a70a-7f3e611f367d),
+  pointer_default(unique)
+]
+interface ITfKeyTraceEventSink : IUnknown
+{
+    HRESULT OnKeyTraceDown(
+        [in] WPARAM wParam,
+        [in] LPARAM lParam);
+
+    HRESULT OnKeyTraceUp(
+        [in] WPARAM wParam,
+        [in] LPARAM lParam);
+}
+
+[
+  object,
+  local,
   uuid(8f1b8ad8-0b6b-4874-90c5-bd76011e8f7c),
   pointer_default(unique)
 ]
diff --git a/mingw-w64-headers/include/winineti.h b/mingw-w64-headers/include/winineti.h
index 0681ea5..d656e1a 100644
--- a/mingw-w64-headers/include/winineti.h
+++ b/mingw-w64-headers/include/winineti.h
@@ -121,6 +121,7 @@
 WINBOOL     WINAPI IsUrlCacheEntryExpiredA(LPCSTR,DWORD,FILETIME*);
 WINBOOL     WINAPI IsUrlCacheEntryExpiredW(LPCWSTR,DWORD,FILETIME*);
 #define     IsUrlCacheEntryExpired __MINGW_NAME_AW(IsUrlCacheEntryExpired)
+DWORD       WINAPI ParseX509EncodedCertificateForListBoxEntry(LPBYTE,DWORD,LPSTR,LPDWORD);
 WINBOOL     WINAPI SetUrlCacheConfigInfoA(LPINTERNET_CACHE_CONFIG_INFOA,DWORD);
 WINBOOL     WINAPI SetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,DWORD);
 #define     SetUrlCacheConfigInfo __MINGW_NAME_AW(SetUrlCacheConfigInfo)