## //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
##
##  Copyright (C) Microsoft.  All rights reserved.
##  Windows Kits version : 10.0.19041.0
##
##  D3D11Common IDL H
##  Contains 
##
##  Translate in Python by J. Vnh
##
## //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import ctypes
import ctypes.wintypes as wintypes

import comtypes
## ----------------------------------------------------------------------------
## 
##  D3D-version-neutral runtime information.
## 
## ----------------------------------------------------------------------------

D3D_DRIVER_TYPE = ctypes.c_int
D3D_DRIVER_TYPE_UNKNOWN   = D3D_DRIVER_TYPE(0)
D3D_DRIVER_TYPE_HARDWARE  = D3D_DRIVER_TYPE(1).value
D3D_DRIVER_TYPE_REFERENCE = D3D_DRIVER_TYPE(2)
D3D_DRIVER_TYPE_NULL      = D3D_DRIVER_TYPE(3)
D3D_DRIVER_TYPE_SOFTWARE  = D3D_DRIVER_TYPE(4)
D3D_DRIVER_TYPE_WARP      = D3D_DRIVER_TYPE(5)


D3D_FEATURE_LEVEL = ctypes.c_int
D3D_FEATURE_LEVEL_1_0_CORE = D3D_FEATURE_LEVEL(0x1000)
D3D_FEATURE_LEVEL_9_1      = D3D_FEATURE_LEVEL(0x9100)
D3D_FEATURE_LEVEL_9_2      = D3D_FEATURE_LEVEL(0x9200)
D3D_FEATURE_LEVEL_9_3      = D3D_FEATURE_LEVEL(0x9300)
D3D_FEATURE_LEVEL_10_0     = D3D_FEATURE_LEVEL(0xa000)
D3D_FEATURE_LEVEL_10_1     = D3D_FEATURE_LEVEL(0xa100)
D3D_FEATURE_LEVEL_11_0     = D3D_FEATURE_LEVEL(0xb000)
D3D_FEATURE_LEVEL_11_1     = D3D_FEATURE_LEVEL(0xb100)
D3D_FEATURE_LEVEL_12_0     = D3D_FEATURE_LEVEL(0xc000)
D3D_FEATURE_LEVEL_12_1     = D3D_FEATURE_LEVEL(0xc100)


D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION        = 2048
D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION        = 4096
D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION   = 2048
D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION   = 4096
D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION        = 512
D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION        = 4096
D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 256
D3D_FL9_1_DEFAULT_MAX_ANISOTROPY           = 2
D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT           = 65535
D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT           = 1048575
D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT = 1
D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT = 4
D3D_FL9_1_MAX_TEXTURE_REPEAT               = 128
D3D_FL9_2_MAX_TEXTURE_REPEAT               = 2048
D3D_FL9_3_MAX_TEXTURE_REPEAT               = 8192


D3D_PRIMITIVE_TOPOLOGY = ctypes.c_int
D3D_PRIMITIVE_TOPOLOGY_UNDEFINED     = D3D_PRIMITIVE_TOPOLOGY(0)
D3D_PRIMITIVE_TOPOLOGY_POINTLIST     = D3D_PRIMITIVE_TOPOLOGY(1)
D3D_PRIMITIVE_TOPOLOGY_LINELIST      = D3D_PRIMITIVE_TOPOLOGY(2)
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP     = D3D_PRIMITIVE_TOPOLOGY(3)
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST  = D3D_PRIMITIVE_TOPOLOGY(4)
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY(5)
## 6 is reserved for legacy triangle fans
## Adjacency values should be equal to (0x8 & non-adjacency):
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ      = D3D_PRIMITIVE_TOPOLOGY(10)
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ     = D3D_PRIMITIVE_TOPOLOGY(11)
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ  = D3D_PRIMITIVE_TOPOLOGY(12)
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY(13)
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(33)
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(34)
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(35)
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(36)
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(37)
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(38)
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(39)
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(40)
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY(41)
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(42)
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(43)
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(44)
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(45)
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(46)
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(47)
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(48)
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(49)
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(50)
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(51)
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(52)
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(53)
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(54)
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(55)
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(56)
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(57)
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(58)
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(59)
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(60)
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(61)
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(62)
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(63)
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY(64)
D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED         = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
D3D10_PRIMITIVE_TOPOLOGY_POINTLIST         = D3D_PRIMITIVE_TOPOLOGY_POINTLIST
D3D10_PRIMITIVE_TOPOLOGY_LINELIST          = D3D_PRIMITIVE_TOPOLOGY_LINELIST
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP         = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST      = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP     = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ      = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ     = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ  = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED         = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
D3D11_PRIMITIVE_TOPOLOGY_POINTLIST         = D3D_PRIMITIVE_TOPOLOGY_POINTLIST
D3D11_PRIMITIVE_TOPOLOGY_LINELIST          = D3D_PRIMITIVE_TOPOLOGY_LINELIST
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP         = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST      = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP     = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ      = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ     = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ  = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST  = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST


D3D_PRIMITIVE = ctypes.c_uint
D3D_PRIMITIVE_UNDEFINED              = D3D_PRIMITIVE(0)
D3D_PRIMITIVE_POINT                  = D3D_PRIMITIVE(1)
D3D_PRIMITIVE_LINE                   = D3D_PRIMITIVE(2)
D3D_PRIMITIVE_TRIANGLE               = D3D_PRIMITIVE(3)
## Adjacency values should be equal to (0x4 & non-adjacency):
D3D_PRIMITIVE_LINE_ADJ               = D3D_PRIMITIVE(6)
D3D_PRIMITIVE_TRIANGLE_ADJ           = D3D_PRIMITIVE(7)
D3D_PRIMITIVE_1_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(8)
D3D_PRIMITIVE_2_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(9)
D3D_PRIMITIVE_3_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(10)
D3D_PRIMITIVE_4_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(11)
D3D_PRIMITIVE_5_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(12)
D3D_PRIMITIVE_6_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(13)
D3D_PRIMITIVE_7_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(14)
D3D_PRIMITIVE_8_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(15)
D3D_PRIMITIVE_9_CONTROL_POINT_PATCH  = D3D_PRIMITIVE(16)
D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE(17)
D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE(18)
D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE(19)
D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE(20)
D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE(21)
D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE(22)
D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE(23)
D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE(24)
D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE(25)
D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE(26)
D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE(27)
D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE(28)
D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE(29)
D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE(30)
D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE(31)
D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE(32)
D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE(33)
D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE(34)
D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE(35)
D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE(36)
D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE(37)
D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE(38)
D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE(39)
D3D10_PRIMITIVE_UNDEFINED    = D3D_PRIMITIVE_UNDEFINED
D3D10_PRIMITIVE_POINT        = D3D_PRIMITIVE_POINT
D3D10_PRIMITIVE_LINE         = D3D_PRIMITIVE_LINE
D3D10_PRIMITIVE_TRIANGLE     = D3D_PRIMITIVE_TRIANGLE
D3D10_PRIMITIVE_LINE_ADJ     = D3D_PRIMITIVE_LINE_ADJ
D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ
D3D11_PRIMITIVE_UNDEFINED    = D3D_PRIMITIVE_UNDEFINED
D3D11_PRIMITIVE_POINT        = D3D_PRIMITIVE_POINT
D3D11_PRIMITIVE_LINE         = D3D_PRIMITIVE_LINE
D3D11_PRIMITIVE_TRIANGLE     = D3D_PRIMITIVE_TRIANGLE
D3D11_PRIMITIVE_LINE_ADJ     = D3D_PRIMITIVE_LINE_ADJ
D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ
D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH  = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH
D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH


D3D_SRV_DIMENSION = ctypes.c_uint
D3D_SRV_DIMENSION_UNKNOWN          = D3D_SRV_DIMENSION(0)
D3D_SRV_DIMENSION_BUFFER           = D3D_SRV_DIMENSION(1)
D3D_SRV_DIMENSION_TEXTURE1D        = D3D_SRV_DIMENSION(2)
D3D_SRV_DIMENSION_TEXTURE1DARRAY   = D3D_SRV_DIMENSION(3)
D3D_SRV_DIMENSION_TEXTURE2D        = D3D_SRV_DIMENSION(4)
D3D_SRV_DIMENSION_TEXTURE2DARRAY   = D3D_SRV_DIMENSION(5)
D3D_SRV_DIMENSION_TEXTURE2DMS      = D3D_SRV_DIMENSION(6)
D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION(7)
D3D_SRV_DIMENSION_TEXTURE3D        = D3D_SRV_DIMENSION(8)
D3D_SRV_DIMENSION_TEXTURECUBE      = D3D_SRV_DIMENSION(9)
D3D_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION(10)
D3D_SRV_DIMENSION_BUFFEREX         = D3D_SRV_DIMENSION(11)
D3D10_SRV_DIMENSION_UNKNOWN          = D3D_SRV_DIMENSION_UNKNOWN
D3D10_SRV_DIMENSION_BUFFER           = D3D_SRV_DIMENSION_BUFFER
D3D10_SRV_DIMENSION_TEXTURE1D        = D3D_SRV_DIMENSION_TEXTURE1D
D3D10_SRV_DIMENSION_TEXTURE1DARRAY   = D3D_SRV_DIMENSION_TEXTURE1DARRAY
D3D10_SRV_DIMENSION_TEXTURE2D        = D3D_SRV_DIMENSION_TEXTURE2D
D3D10_SRV_DIMENSION_TEXTURE2DARRAY   = D3D_SRV_DIMENSION_TEXTURE2DARRAY
D3D10_SRV_DIMENSION_TEXTURE2DMS      = D3D_SRV_DIMENSION_TEXTURE2DMS
D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY
D3D10_SRV_DIMENSION_TEXTURE3D        = D3D_SRV_DIMENSION_TEXTURE3D
D3D10_SRV_DIMENSION_TEXTURECUBE      = D3D_SRV_DIMENSION_TEXTURECUBE
D3D10_1_SRV_DIMENSION_UNKNOWN          = D3D_SRV_DIMENSION_UNKNOWN
D3D10_1_SRV_DIMENSION_BUFFER           = D3D_SRV_DIMENSION_BUFFER
D3D10_1_SRV_DIMENSION_TEXTURE1D        = D3D_SRV_DIMENSION_TEXTURE1D
D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY   = D3D_SRV_DIMENSION_TEXTURE1DARRAY
D3D10_1_SRV_DIMENSION_TEXTURE2D        = D3D_SRV_DIMENSION_TEXTURE2D
D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY   = D3D_SRV_DIMENSION_TEXTURE2DARRAY
D3D10_1_SRV_DIMENSION_TEXTURE2DMS      = D3D_SRV_DIMENSION_TEXTURE2DMS
D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY
D3D10_1_SRV_DIMENSION_TEXTURE3D        = D3D_SRV_DIMENSION_TEXTURE3D
D3D10_1_SRV_DIMENSION_TEXTURECUBE      = D3D_SRV_DIMENSION_TEXTURECUBE
D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY
D3D11_SRV_DIMENSION_UNKNOWN          = D3D_SRV_DIMENSION_UNKNOWN
D3D11_SRV_DIMENSION_BUFFER           = D3D_SRV_DIMENSION_BUFFER
D3D11_SRV_DIMENSION_TEXTURE1D        = D3D_SRV_DIMENSION_TEXTURE1D
D3D11_SRV_DIMENSION_TEXTURE1DARRAY   = D3D_SRV_DIMENSION_TEXTURE1DARRAY
D3D11_SRV_DIMENSION_TEXTURE2D        = D3D_SRV_DIMENSION_TEXTURE2D
D3D11_SRV_DIMENSION_TEXTURE2DARRAY   = D3D_SRV_DIMENSION_TEXTURE2DARRAY
D3D11_SRV_DIMENSION_TEXTURE2DMS      = D3D_SRV_DIMENSION_TEXTURE2DMS
D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY
D3D11_SRV_DIMENSION_TEXTURE3D        = D3D_SRV_DIMENSION_TEXTURE3D
D3D11_SRV_DIMENSION_TEXTURECUBE      = D3D_SRV_DIMENSION_TEXTURECUBE
D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY
D3D11_SRV_DIMENSION_BUFFEREX         = D3D_SRV_DIMENSION_BUFFEREX


## ----------------------------------------------------------------------------
## 
##  Shader compilation information.
## 
## ----------------------------------------------------------------------------

## ----------------------------------------------------------------------------
## D3D_SHADER_MACRO:
##  ----------
##  Preprocessor macro definition.  The application pass in a NULL-terminated
##  array of this structure to various D3D APIs.  This enables the application
##  to #define tokens at runtime, before the file is parsed.
## ----------------------------------------------------------------------------

class D3D_SHADER_MACRO(ctypes.Structure):
	_fields_ = [('Name',       wintypes.LPCSTR),
				('Definition', wintypes.LPCSTR),
	]

## ----------------------------------------------------------------------------
##  ID3DBlob:
##  ------------
##  The buffer object is used by D3D to return arbitrary size data.
##  For compatibility with D3D10 this interface is also called ID3D10Blob,
##  but the version-neutral form is preferred.
## 
##  GetBufferPointer -
##     Returns a pointer to the beginning of the buffer.
## 
##  GetBufferSize -
##     Returns the size of the buffer, in bytes.
## ----------------------------------------------------------------------------

class ID3D10Blob(comtypes.IUnknown):
	_iid_ = comtypes.GUID("{8BA5FB08-5195-40e2-AC58-0D989C3A0102}")
	_methods_ = [
		comtypes.STDMETHOD(None,"GetBufferPointer", []),
		comtypes.STDMETHOD(ctypes.c_size_t,"GetBufferSize", []),
	]

# 
class ID3DDestructionNotifier(comtypes.IUnknown):
	_iid_ = comtypes.GUID("{a06eb39a-50da-425b-8c31-4eecd6c270f3}")
	_methods_ = [
		comtypes.STDMETHOD(comtypes.HRESULT,"RegisterDestructionCallback", [
			# PFN_DESTRUCTION_CALLBACK,
			# ctypes.c_void_p,
			# ctypes.POINTER(ctypes.UINT),
			]),
		comtypes.STDMETHOD(comtypes.HRESULT,"UnregisterDestructionCallback", [
			wintypes.UINT,
			]),
	]	


D3D_INCLUDE_TYPE = ctypes.c_uint
D3D_INCLUDE_LOCAL    = D3D_INCLUDE_TYPE(0)
D3D_INCLUDE_SYSTEM   = D3D_INCLUDE_TYPE(1)
D3D10_INCLUDE_LOCAL  = D3D_INCLUDE_LOCAL
D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM
# force 32-bit size enum
D3D_INCLUDE_FORCE_DWORD = D3D_INCLUDE_TYPE(0x7FFFFFFF)

## ----------------------------------------------------------------------------
## 
##  Shader reflection information.
## 
## ----------------------------------------------------------------------------


D3D_SHADER_VARIABLE_CLASS = ctypes.c_uint
D3D_SVC_SCALAR              = D3D_SHADER_VARIABLE_CLASS(0)
D3D_SVC_VECTOR              = D3D_SHADER_VARIABLE_CLASS(1)
D3D_SVC_MATRIX_ROWS         = D3D_SHADER_VARIABLE_CLASS(2)
D3D_SVC_MATRIX_COLUMNS      = D3D_SHADER_VARIABLE_CLASS(3)
D3D_SVC_OBJECT              = D3D_SHADER_VARIABLE_CLASS(4)
D3D_SVC_STRUCT              = D3D_SHADER_VARIABLE_CLASS(5)
D3D_SVC_INTERFACE_CLASS     = D3D_SHADER_VARIABLE_CLASS(6)
D3D_SVC_INTERFACE_POINTER   = D3D_SHADER_VARIABLE_CLASS(7)
D3D10_SVC_SCALAR            = D3D_SVC_SCALAR
D3D10_SVC_VECTOR            = D3D_SVC_VECTOR
D3D10_SVC_MATRIX_ROWS       = D3D_SVC_MATRIX_ROWS
D3D10_SVC_MATRIX_COLUMNS    = D3D_SVC_MATRIX_COLUMNS
D3D10_SVC_OBJECT            = D3D_SVC_OBJECT
D3D10_SVC_STRUCT            = D3D_SVC_STRUCT
D3D11_SVC_INTERFACE_CLASS   = D3D_SVC_INTERFACE_CLASS
D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER
# force 32-bit size enum
D3D_SVC_FORCE_DWORD = D3D_SHADER_VARIABLE_CLASS(0x7FFFFFFF)


D3D_SHADER_VARIABLE_FLAGS = ctypes.c_uint
D3D_SVF_USERPACKED = D3D_SHADER_VARIABLE_FLAGS(1)
D3D_SVF_USED       = D3D_SHADER_VARIABLE_FLAGS(2)
D3D_SVF_INTERFACE_POINTER = D3D_SHADER_VARIABLE_FLAGS(4)
D3D_SVF_INTERFACE_PARAMETER = D3D_SHADER_VARIABLE_FLAGS(8)
D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED
D3D10_SVF_USED       = D3D_SVF_USED
D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER
D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER
## force 32-bit size enum
D3D_SVF_FORCE_DWORD = D3D_SHADER_VARIABLE_FLAGS(0x7FFFFFFF)




D3D_SHADER_VARIABLE_TYPE = ctypes.c_uint
D3D_SVT_VOID             = D3D_SHADER_VARIABLE_TYPE(0)
D3D_SVT_BOOL             = D3D_SHADER_VARIABLE_TYPE(1)
D3D_SVT_INT              = D3D_SHADER_VARIABLE_TYPE(2)
D3D_SVT_FLOAT            = D3D_SHADER_VARIABLE_TYPE(3)
D3D_SVT_STRING           = D3D_SHADER_VARIABLE_TYPE(4)
D3D_SVT_TEXTURE          = D3D_SHADER_VARIABLE_TYPE(5)
D3D_SVT_TEXTURE1D        = D3D_SHADER_VARIABLE_TYPE(6)
D3D_SVT_TEXTURE2D        = D3D_SHADER_VARIABLE_TYPE(7)
D3D_SVT_TEXTURE3D        = D3D_SHADER_VARIABLE_TYPE(8)
D3D_SVT_TEXTURECUBE      = D3D_SHADER_VARIABLE_TYPE(9)
D3D_SVT_SAMPLER          = D3D_SHADER_VARIABLE_TYPE(10) 
D3D_SVT_SAMPLER1D        = D3D_SHADER_VARIABLE_TYPE(11)
D3D_SVT_SAMPLER2D        = D3D_SHADER_VARIABLE_TYPE(12)
D3D_SVT_SAMPLER3D        = D3D_SHADER_VARIABLE_TYPE(13)
D3D_SVT_SAMPLERCUBE      = D3D_SHADER_VARIABLE_TYPE(14)
D3D_SVT_PIXELSHADER      = D3D_SHADER_VARIABLE_TYPE(15)
D3D_SVT_VERTEXSHADER     = D3D_SHADER_VARIABLE_TYPE(16)
D3D_SVT_PIXELFRAGMENT    = D3D_SHADER_VARIABLE_TYPE(17)
D3D_SVT_VERTEXFRAGMENT   = D3D_SHADER_VARIABLE_TYPE(18)
D3D_SVT_UINT             = D3D_SHADER_VARIABLE_TYPE(19)
D3D_SVT_UINT8            = D3D_SHADER_VARIABLE_TYPE(20)
D3D_SVT_GEOMETRYSHADER   = D3D_SHADER_VARIABLE_TYPE(21)
D3D_SVT_RASTERIZER       = D3D_SHADER_VARIABLE_TYPE(22)
D3D_SVT_DEPTHSTENCIL     = D3D_SHADER_VARIABLE_TYPE(23)
D3D_SVT_BLEND            = D3D_SHADER_VARIABLE_TYPE(24)
D3D_SVT_BUFFER           = D3D_SHADER_VARIABLE_TYPE(25)
D3D_SVT_CBUFFER          = D3D_SHADER_VARIABLE_TYPE(26)
D3D_SVT_TBUFFER          = D3D_SHADER_VARIABLE_TYPE(27)
D3D_SVT_TEXTURE1DARRAY   = D3D_SHADER_VARIABLE_TYPE(28)
D3D_SVT_TEXTURE2DARRAY   = D3D_SHADER_VARIABLE_TYPE(29)
D3D_SVT_RENDERTARGETVIEW = D3D_SHADER_VARIABLE_TYPE(30)
D3D_SVT_DEPTHSTENCILVIEW = D3D_SHADER_VARIABLE_TYPE(31)
D3D_SVT_TEXTURE2DMS      = D3D_SHADER_VARIABLE_TYPE(32)
D3D_SVT_TEXTURE2DMSARRAY = D3D_SHADER_VARIABLE_TYPE(33)
D3D_SVT_TEXTURECUBEARRAY = D3D_SHADER_VARIABLE_TYPE(34)
D3D_SVT_HULLSHADER       = D3D_SHADER_VARIABLE_TYPE(35)
D3D_SVT_DOMAINSHADER      = D3D_SHADER_VARIABLE_TYPE(36)
D3D_SVT_INTERFACE_POINTER = D3D_SHADER_VARIABLE_TYPE(37)
D3D_SVT_COMPUTESHADER     = D3D_SHADER_VARIABLE_TYPE(38)
D3D_SVT_DOUBLE            = D3D_SHADER_VARIABLE_TYPE(39)
D3D_SVT_RWTEXTURE1D       = D3D_SHADER_VARIABLE_TYPE(40)
D3D_SVT_RWTEXTURE1DARRAY  = D3D_SHADER_VARIABLE_TYPE(41)
D3D_SVT_RWTEXTURE2D       = D3D_SHADER_VARIABLE_TYPE(42)
D3D_SVT_RWTEXTURE2DARRAY  = D3D_SHADER_VARIABLE_TYPE(43)
D3D_SVT_RWTEXTURE3D       = D3D_SHADER_VARIABLE_TYPE(44)
D3D_SVT_RWBUFFER          = D3D_SHADER_VARIABLE_TYPE(45)
D3D_SVT_BYTEADDRESS_BUFFER   = D3D_SHADER_VARIABLE_TYPE(46)
D3D_SVT_RWBYTEADDRESS_BUFFER = D3D_SHADER_VARIABLE_TYPE(47)
D3D_SVT_STRUCTURED_BUFFER    = D3D_SHADER_VARIABLE_TYPE(48)
D3D_SVT_RWSTRUCTURED_BUFFER  = D3D_SHADER_VARIABLE_TYPE(49)
D3D_SVT_APPEND_STRUCTURED_BUFFER  = D3D_SHADER_VARIABLE_TYPE(50)
D3D_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SHADER_VARIABLE_TYPE(51)
D3D_SVT_MIN8FLOAT  = D3D_SHADER_VARIABLE_TYPE(52)
D3D_SVT_MIN10FLOAT = D3D_SHADER_VARIABLE_TYPE(53)
D3D_SVT_MIN16FLOAT = D3D_SHADER_VARIABLE_TYPE(54)
D3D_SVT_MIN12INT   = D3D_SHADER_VARIABLE_TYPE(55)
D3D_SVT_MIN16INT   = D3D_SHADER_VARIABLE_TYPE(56)
D3D_SVT_MIN16UINT  = D3D_SHADER_VARIABLE_TYPE(57)
D3D10_SVT_VOID             = D3D_SVT_VOID
D3D10_SVT_BOOL             = D3D_SVT_BOOL
D3D10_SVT_INT              = D3D_SVT_INT
D3D10_SVT_FLOAT            = D3D_SVT_FLOAT
D3D10_SVT_STRING           = D3D_SVT_STRING
D3D10_SVT_TEXTURE          = D3D_SVT_TEXTURE
D3D10_SVT_TEXTURE1D        = D3D_SVT_TEXTURE1D
D3D10_SVT_TEXTURE2D        = D3D_SVT_TEXTURE2D
D3D10_SVT_TEXTURE3D        = D3D_SVT_TEXTURE3D
D3D10_SVT_TEXTURECUBE      = D3D_SVT_TEXTURECUBE
D3D10_SVT_SAMPLER          = D3D_SVT_SAMPLER
D3D10_SVT_SAMPLER1D        = D3D_SVT_SAMPLER1D
D3D10_SVT_SAMPLER2D        = D3D_SVT_SAMPLER2D
D3D10_SVT_SAMPLER3D        = D3D_SVT_SAMPLER3D
D3D10_SVT_SAMPLERCUBE      = D3D_SVT_SAMPLERCUBE
D3D10_SVT_PIXELSHADER      = D3D_SVT_PIXELSHADER
D3D10_SVT_VERTEXSHADER     = D3D_SVT_VERTEXSHADER
D3D10_SVT_PIXELFRAGMENT    = D3D_SVT_PIXELFRAGMENT
D3D10_SVT_VERTEXFRAGMENT   = D3D_SVT_VERTEXFRAGMENT
D3D10_SVT_UINT             = D3D_SVT_UINT
D3D10_SVT_UINT8            = D3D_SVT_UINT8
D3D10_SVT_GEOMETRYSHADER   = D3D_SVT_GEOMETRYSHADER
D3D10_SVT_RASTERIZER       = D3D_SVT_RASTERIZER
D3D10_SVT_DEPTHSTENCIL     = D3D_SVT_DEPTHSTENCIL
D3D10_SVT_BLEND            = D3D_SVT_BLEND
D3D10_SVT_BUFFER           = D3D_SVT_BUFFER
D3D10_SVT_CBUFFER          = D3D_SVT_CBUFFER
D3D10_SVT_TBUFFER          = D3D_SVT_TBUFFER
D3D10_SVT_TEXTURE1DARRAY   = D3D_SVT_TEXTURE1DARRAY
D3D10_SVT_TEXTURE2DARRAY   = D3D_SVT_TEXTURE2DARRAY
D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW
D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW
D3D10_SVT_TEXTURE2DMS               = D3D_SVT_TEXTURE2DMS
D3D10_SVT_TEXTURE2DMSARRAY          = D3D_SVT_TEXTURE2DMSARRAY
D3D10_SVT_TEXTURECUBEARRAY          = D3D_SVT_TEXTURECUBEARRAY
D3D11_SVT_HULLSHADER                = D3D_SVT_HULLSHADER
D3D11_SVT_DOMAINSHADER              = D3D_SVT_DOMAINSHADER
D3D11_SVT_INTERFACE_POINTER         = D3D_SVT_INTERFACE_POINTER
D3D11_SVT_COMPUTESHADER             = D3D_SVT_COMPUTESHADER
D3D11_SVT_DOUBLE                    = D3D_SVT_DOUBLE
D3D11_SVT_RWTEXTURE1D               = D3D_SVT_RWTEXTURE1D
D3D11_SVT_RWTEXTURE1DARRAY          = D3D_SVT_RWTEXTURE1DARRAY
D3D11_SVT_RWTEXTURE2D               = D3D_SVT_RWTEXTURE2D
D3D11_SVT_RWTEXTURE2DARRAY          = D3D_SVT_RWTEXTURE2DARRAY
D3D11_SVT_RWTEXTURE3D               = D3D_SVT_RWTEXTURE3D
D3D11_SVT_RWBUFFER                  = D3D_SVT_RWBUFFER
D3D11_SVT_BYTEADDRESS_BUFFER        = D3D_SVT_BYTEADDRESS_BUFFER
D3D11_SVT_RWBYTEADDRESS_BUFFER      = D3D_SVT_RWBYTEADDRESS_BUFFER
D3D11_SVT_STRUCTURED_BUFFER         = D3D_SVT_STRUCTURED_BUFFER
D3D11_SVT_RWSTRUCTURED_BUFFER       = D3D_SVT_RWSTRUCTURED_BUFFER
D3D11_SVT_APPEND_STRUCTURED_BUFFER  = D3D_SVT_APPEND_STRUCTURED_BUFFER
D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER
## force 32-bit size enum
D3D_SVT_FORCE_DWORD = D3D_SHADER_VARIABLE_TYPE(0x7fffffff)


D3D_SHADER_INPUT_FLAGS= ctypes.c_uint
D3D_SIF_USERPACKED          = D3D_SHADER_INPUT_FLAGS(0x01)
D3D_SIF_COMPARISON_SAMPLER  = D3D_SHADER_INPUT_FLAGS(0x02) # is this a comparison sampler?
D3D_SIF_TEXTURE_COMPONENT_0 = D3D_SHADER_INPUT_FLAGS(0x04) # this 2-bit value encodes c - 1, where c
D3D_SIF_TEXTURE_COMPONENT_1 = D3D_SHADER_INPUT_FLAGS(0x08) # is the number of components in the texture
D3D_SIF_TEXTURE_COMPONENTS  = D3D_SHADER_INPUT_FLAGS(0x0c)
D3D_SIF_UNUSED              = D3D_SHADER_INPUT_FLAGS(0x10)
D3D10_SIF_USERPACKED          = D3D_SIF_USERPACKED
D3D10_SIF_COMPARISON_SAMPLER  = D3D_SIF_COMPARISON_SAMPLER
D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0
D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1
D3D10_SIF_TEXTURE_COMPONENTS  = D3D_SIF_TEXTURE_COMPONENTS
## force 32-bit size enum
D3D_SIF_FORCE_DWORD = D3D_SHADER_INPUT_FLAGS(0x7fffffff)


D3D_SHADER_INPUT_TYPE= ctypes.c_uint
D3D_SIT_CBUFFER                       = D3D_SHADER_INPUT_TYPE(0)
D3D_SIT_TBUFFER                       = D3D_SHADER_INPUT_TYPE(1)
D3D_SIT_TEXTURE                       = D3D_SHADER_INPUT_TYPE(2)
D3D_SIT_SAMPLER                       = D3D_SHADER_INPUT_TYPE(3)
D3D_SIT_UAV_RWTYPED                   = D3D_SHADER_INPUT_TYPE(4)
D3D_SIT_STRUCTURED                    = D3D_SHADER_INPUT_TYPE(5)
D3D_SIT_UAV_RWSTRUCTURED              = D3D_SHADER_INPUT_TYPE(6)
D3D_SIT_BYTEADDRESS                   = D3D_SHADER_INPUT_TYPE(7)
D3D_SIT_UAV_RWBYTEADDRESS             = D3D_SHADER_INPUT_TYPE(8)
D3D_SIT_UAV_APPEND_STRUCTURED         = D3D_SHADER_INPUT_TYPE(9)
D3D_SIT_UAV_CONSUME_STRUCTURED        = D3D_SHADER_INPUT_TYPE(10)
D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SHADER_INPUT_TYPE(11)
D3D_SIT_RTACCELERATIONSTRUCTURE       = D3D_SHADER_INPUT_TYPE(12)
D3D_SIT_UAV_FEEDBACKTEXTURE           = D3D_SHADER_INPUT_TYPE(13)
D3D10_SIT_CBUFFER                       = D3D_SIT_CBUFFER
D3D10_SIT_TBUFFER                       = D3D_SIT_TBUFFER
D3D10_SIT_TEXTURE                       = D3D_SIT_TEXTURE
D3D10_SIT_SAMPLER                       = D3D_SIT_SAMPLER
D3D11_SIT_UAV_RWTYPED                   = D3D_SIT_UAV_RWTYPED
D3D11_SIT_STRUCTURED                    = D3D_SIT_STRUCTURED
D3D11_SIT_UAV_RWSTRUCTURED              = D3D_SIT_UAV_RWSTRUCTURED
D3D11_SIT_BYTEADDRESS                   = D3D_SIT_BYTEADDRESS
D3D11_SIT_UAV_RWBYTEADDRESS             = D3D_SIT_UAV_RWBYTEADDRESS
D3D11_SIT_UAV_APPEND_STRUCTURED         = D3D_SIT_UAV_APPEND_STRUCTURED
D3D11_SIT_UAV_CONSUME_STRUCTURED        = D3D_SIT_UAV_CONSUME_STRUCTURED
D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER


D3D_SHADER_CBUFFER_FLAGS= ctypes.c_uint
D3D_CBF_USERPACKED   = D3D_SHADER_CBUFFER_FLAGS(1)
D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED
## force 32-bit size enum
D3D_CBF_FORCE_DWORD  = D3D_SHADER_CBUFFER_FLAGS(0x7fffffff)


D3D_CBUFFER_TYPE = ctypes.c_uint
D3D_CT_CBUFFER            = D3D_CBUFFER_TYPE(0)
D3D_CT_TBUFFER            = D3D_CBUFFER_TYPE(1)
D3D_CT_INTERFACE_POINTERS = D3D_CBUFFER_TYPE(2)
D3D_CT_RESOURCE_BIND_INFO = D3D_CBUFFER_TYPE(3)
D3D10_CT_CBUFFER = D3D_CT_CBUFFER
D3D10_CT_TBUFFER = D3D_CT_TBUFFER
D3D11_CT_CBUFFER = D3D_CT_CBUFFER
D3D11_CT_TBUFFER = D3D_CT_TBUFFER
D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS
D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO


D3D_NAME = ctypes.c_uint
D3D_NAME_UNDEFINED = D3D_NAME(0)
## Names meaningful to both HLSL and hardware
D3D_NAME_POSITION                      = D3D_NAME(1)
D3D_NAME_CLIP_DISTANCE                 = D3D_NAME(2)
D3D_NAME_CULL_DISTANCE                 = D3D_NAME(3)
D3D_NAME_RENDER_TARGET_ARRAY_INDEX     = D3D_NAME(4)
D3D_NAME_VIEWPORT_ARRAY_INDEX          = D3D_NAME(5)
D3D_NAME_VERTEX_ID                     = D3D_NAME(6)
D3D_NAME_PRIMITIVE_ID                  = D3D_NAME(7)
D3D_NAME_INSTANCE_ID                   = D3D_NAME(8)
D3D_NAME_IS_FRONT_FACE                 = D3D_NAME(9)
D3D_NAME_SAMPLE_INDEX                  = D3D_NAME(10)
D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR    = D3D_NAME(11)
D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR  = D3D_NAME(12)
D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR     = D3D_NAME(13)
D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR   = D3D_NAME(14)
D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR  = D3D_NAME(15)
D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME(16)
D3D_NAME_BARYCENTRICS                  = D3D_NAME(23)
D3D_NAME_SHADINGRATE                   = D3D_NAME(24)
D3D_NAME_CULLPRIMITIVE                 = D3D_NAME(25)
## Names meaningful to HLSL only
D3D_NAME_TARGET              = D3D_NAME(64)
D3D_NAME_DEPTH               = D3D_NAME(65)
D3D_NAME_COVERAGE            = D3D_NAME(66)
D3D_NAME_DEPTH_GREATER_EQUAL = D3D_NAME(67)
D3D_NAME_DEPTH_LESS_EQUAL    = D3D_NAME(68)
D3D_NAME_STENCIL_REF         = D3D_NAME(69)
D3D_NAME_INNER_COVERAGE      = D3D_NAME(70)
D3D10_NAME_UNDEFINED                 = D3D_NAME_UNDEFINED
D3D10_NAME_POSITION                  = D3D_NAME_POSITION
D3D10_NAME_CLIP_DISTANCE             = D3D_NAME_CLIP_DISTANCE
D3D10_NAME_CULL_DISTANCE             = D3D_NAME_CULL_DISTANCE
D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX
D3D10_NAME_VIEWPORT_ARRAY_INDEX      = D3D_NAME_VIEWPORT_ARRAY_INDEX
D3D10_NAME_VERTEX_ID                 = D3D_NAME_VERTEX_ID
D3D10_NAME_PRIMITIVE_ID              = D3D_NAME_PRIMITIVE_ID
D3D10_NAME_INSTANCE_ID               = D3D_NAME_INSTANCE_ID
D3D10_NAME_IS_FRONT_FACE             = D3D_NAME_IS_FRONT_FACE
D3D10_NAME_SAMPLE_INDEX              = D3D_NAME_SAMPLE_INDEX
D3D10_NAME_TARGET                    = D3D_NAME_TARGET
D3D10_NAME_DEPTH                     = D3D_NAME_DEPTH
D3D10_NAME_COVERAGE                  = D3D_NAME_COVERAGE
D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR    = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR
D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR  = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR 
D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR     = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR 
D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR   = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR 
D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR  = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR
D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR
D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL
D3D11_NAME_DEPTH_LESS_EQUAL    = D3D_NAME_DEPTH_LESS_EQUAL
D3D11_NAME_STENCIL_REF         = D3D_NAME_STENCIL_REF
D3D11_NAME_INNER_COVERAGE      = D3D_NAME_INNER_COVERAGE
D3D12_NAME_BARYCENTRICS        = D3D_NAME_BARYCENTRICS
D3D12_NAME_SHADINGRATE         = D3D_NAME_SHADINGRATE
D3D12_NAME_CULLPRIMITIVE       = D3D_NAME_CULLPRIMITIVE


D3D_RESOURCE_RETURN_TYPE = ctypes.c_uint
D3D_RETURN_TYPE_UNORM     = D3D_RESOURCE_RETURN_TYPE(1)
D3D_RETURN_TYPE_SNORM     = D3D_RESOURCE_RETURN_TYPE(2)
D3D_RETURN_TYPE_SINT      = D3D_RESOURCE_RETURN_TYPE(3)
D3D_RETURN_TYPE_UINT      = D3D_RESOURCE_RETURN_TYPE(4)
D3D_RETURN_TYPE_FLOAT     = D3D_RESOURCE_RETURN_TYPE(5)
D3D_RETURN_TYPE_MIXED     = D3D_RESOURCE_RETURN_TYPE(6)
D3D_RETURN_TYPE_DOUBLE    = D3D_RESOURCE_RETURN_TYPE(7)
D3D_RETURN_TYPE_CONTINUED = D3D_RESOURCE_RETURN_TYPE(8)
D3D10_RETURN_TYPE_UNORM     = D3D_RETURN_TYPE_UNORM
D3D10_RETURN_TYPE_SNORM     = D3D_RETURN_TYPE_SNORM
D3D10_RETURN_TYPE_SINT      = D3D_RETURN_TYPE_SINT
D3D10_RETURN_TYPE_UINT      = D3D_RETURN_TYPE_UINT
D3D10_RETURN_TYPE_FLOAT     = D3D_RETURN_TYPE_FLOAT
D3D10_RETURN_TYPE_MIXED     = D3D_RETURN_TYPE_MIXED
D3D11_RETURN_TYPE_UNORM     = D3D_RETURN_TYPE_UNORM
D3D11_RETURN_TYPE_SNORM     = D3D_RETURN_TYPE_SNORM
D3D11_RETURN_TYPE_SINT      = D3D_RETURN_TYPE_SINT
D3D11_RETURN_TYPE_UINT      = D3D_RETURN_TYPE_UINT
D3D11_RETURN_TYPE_FLOAT     = D3D_RETURN_TYPE_FLOAT
D3D11_RETURN_TYPE_MIXED     = D3D_RETURN_TYPE_MIXED
D3D11_RETURN_TYPE_DOUBLE    = D3D_RETURN_TYPE_DOUBLE
D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED


D3D_REGISTER_COMPONENT_TYPE = ctypes.c_uint
D3D_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_TYPE(0)
D3D_REGISTER_COMPONENT_UINT32  = D3D_REGISTER_COMPONENT_TYPE(1)
D3D_REGISTER_COMPONENT_SINT32  = D3D_REGISTER_COMPONENT_TYPE(2)
D3D_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_TYPE(3)
D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN
D3D10_REGISTER_COMPONENT_UINT32  = D3D_REGISTER_COMPONENT_UINT32
D3D10_REGISTER_COMPONENT_SINT32  = D3D_REGISTER_COMPONENT_SINT32
D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32

D3D_TESSELLATOR_DOMAIN = ctypes.c_uint
D3D_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN(0)
D3D_TESSELLATOR_DOMAIN_ISOLINE   = D3D_TESSELLATOR_DOMAIN(1)
D3D_TESSELLATOR_DOMAIN_TRI       = D3D_TESSELLATOR_DOMAIN(2)
D3D_TESSELLATOR_DOMAIN_QUAD      = D3D_TESSELLATOR_DOMAIN(3)
D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED
D3D11_TESSELLATOR_DOMAIN_ISOLINE   = D3D_TESSELLATOR_DOMAIN_ISOLINE
D3D11_TESSELLATOR_DOMAIN_TRI       = D3D_TESSELLATOR_DOMAIN_TRI
D3D11_TESSELLATOR_DOMAIN_QUAD      = D3D_TESSELLATOR_DOMAIN_QUAD


D3D_TESSELLATOR_PARTITIONING = ctypes.c_uint
D3D_TESSELLATOR_PARTITIONING_UNDEFINED       = D3D_TESSELLATOR_PARTITIONING(0)
D3D_TESSELLATOR_PARTITIONING_INTEGER         = D3D_TESSELLATOR_PARTITIONING(1)
D3D_TESSELLATOR_PARTITIONING_POW2            = D3D_TESSELLATOR_PARTITIONING(2)
D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD  = D3D_TESSELLATOR_PARTITIONING(3)
D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING(4)
D3D11_TESSELLATOR_PARTITIONING_UNDEFINED       = D3D_TESSELLATOR_PARTITIONING_UNDEFINED
D3D11_TESSELLATOR_PARTITIONING_INTEGER         = D3D_TESSELLATOR_PARTITIONING_INTEGER
D3D11_TESSELLATOR_PARTITIONING_POW2            = D3D_TESSELLATOR_PARTITIONING_POW2
D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD  = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD
D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN


D3D_TESSELLATOR_OUTPUT_PRIMITIVE = ctypes.c_uint
D3D_TESSELLATOR_OUTPUT_UNDEFINED    = D3D_TESSELLATOR_OUTPUT_PRIMITIVE(0)
D3D_TESSELLATOR_OUTPUT_POINT        = D3D_TESSELLATOR_OUTPUT_PRIMITIVE(1)
D3D_TESSELLATOR_OUTPUT_LINE         = D3D_TESSELLATOR_OUTPUT_PRIMITIVE(2)
D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW  = D3D_TESSELLATOR_OUTPUT_PRIMITIVE(3)
D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_PRIMITIVE(4)
D3D11_TESSELLATOR_OUTPUT_UNDEFINED    = D3D_TESSELLATOR_OUTPUT_UNDEFINED
D3D11_TESSELLATOR_OUTPUT_POINT        = D3D_TESSELLATOR_OUTPUT_POINT
D3D11_TESSELLATOR_OUTPUT_LINE         = D3D_TESSELLATOR_OUTPUT_LINE
D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW  = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW
D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW


D3D_MIN_PRECISION = ctypes.c_uint
D3D_MIN_PRECISION_DEFAULT    = D3D_MIN_PRECISION(0) # Default precision for the shader model
D3D_MIN_PRECISION_FLOAT_16   = D3D_MIN_PRECISION(1) # Min 16 bit/component float
D3D_MIN_PRECISION_FLOAT_2_8  = D3D_MIN_PRECISION(2) # Min 10(2.8)bit/comp. float
D3D_MIN_PRECISION_RESERVED   = D3D_MIN_PRECISION(3) # Reserved for future use
D3D_MIN_PRECISION_SINT_16    = D3D_MIN_PRECISION(4) # Min 16 bit/comp. signed integer
D3D_MIN_PRECISION_UINT_16    = D3D_MIN_PRECISION(5) # Min 16 bit/comp. unsigned integer
## These values are abstractions of width only for use in situations
## where a general width is needed instead of specific types.  They
## will never be used in shader operands.
D3D_MIN_PRECISION_ANY_16     = D3D_MIN_PRECISION(0xf0)
D3D_MIN_PRECISION_ANY_10     = D3D_MIN_PRECISION(0xf1)


D3D_INTERPOLATION_MODE = ctypes.c_uint
D3D_INTERPOLATION_UNDEFINED                     = D3D_INTERPOLATION_MODE(0)
D3D_INTERPOLATION_CONSTANT                      = D3D_INTERPOLATION_MODE(1)
D3D_INTERPOLATION_LINEAR                        = D3D_INTERPOLATION_MODE(2)
D3D_INTERPOLATION_LINEAR_CENTROID               = D3D_INTERPOLATION_MODE(3)
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE          = D3D_INTERPOLATION_MODE(4)
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = D3D_INTERPOLATION_MODE(5)
D3D_INTERPOLATION_LINEAR_SAMPLE                 = D3D_INTERPOLATION_MODE(6)
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE   = D3D_INTERPOLATION_MODE(7)


## Parameter flags.
D3D_PARAMETER_FLAGS = ctypes.c_uint
D3D_PF_NONE        = D3D_PARAMETER_FLAGS(0x00000000)
D3D_PF_IN          = D3D_PARAMETER_FLAGS(0x00000001)
D3D_PF_OUT         = D3D_PARAMETER_FLAGS(0x00000002)
D3D_PF_FORCE_DWORD = D3D_PARAMETER_FLAGS(0x7FFFFFFF)


WKPDID_D3DDebugObjectName  = comtypes.GUID("{429b8c22-9188-4b0c-8742-acb0bf85c200}") # DEFINE_GUID(WKPDID_D3DDebugObjectName , 0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);
WKPDID_D3DDebugObjectNameW = comtypes.GUID("{4cca5fd8-921f-42c8-8566-70caf2a9b741}") # DEFINE_GUID(WKPDID_D3DDebugObjectNameW, 0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);
WKPDID_CommentStringW      = comtypes.GUID("{d0149dc8-90e8-4ec8-8144-e900ad266bb2}") # DEFINE_GUID(WKPDID_CommentStringW,      0xd0149dc0,0x90e8,0x4ec8,0x81,0x44,0xe9,0x00,0xad,0x26,0x6b,0xb2);

D3D_COMPONENT_MASK_X = 1
D3D_COMPONENT_MASK_Y = 2
D3D_COMPONENT_MASK_Z = 4
D3D_COMPONENT_MASK_W = 8

D3D_TEXTURE_LAYOUT_ROW_MAJOR             = comtypes.GUID("{b5dc234f-72bb-4bec-9705-8cf258df6b6c}") # DEFINE_GUID(D3D_TEXTURE_LAYOUT_ROW_MAJOR,             0xb5dc234f,0x72bb,0x4bec,0x97,0x05,0x8c,0xf2,0x58,0xdf,0x6b,0x6c);
D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = comtypes.GUID("{4c0f29e3-3f5f-4d35-84c9-bc0983b62c28}") # DEFINE_GUID(D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE, 0x4c0f29e3,0x3f5f,0x4d35,0x84,0xc9,0xbc,0x09,0x83,0xb6,0x2c,0x28);


####### END OF FILE #######

