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)
