summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xCMakeLists.txt52
-rw-r--r--cmake/FindDirectX.cmake71
-rw-r--r--d3d11trace.py46
-rw-r--r--specs/d3d10.py40
-rw-r--r--specs/d3d10_1.py1
-rw-r--r--specs/d3d11.py1231
-rw-r--r--specs/d3d11sdklayers.py890
-rw-r--r--specs/d3d11shader.py186
-rw-r--r--specs/d3dcommon.py691
-rwxr-xr-xspecs/scripts/cdecl.py96
-rw-r--r--specs/stdapi.py38
-rw-r--r--specs/tags.vim38
12 files changed, 3236 insertions, 144 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 265b2141..7c42200e 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -75,8 +75,8 @@ else (WIN32)
CHECK_CXX_COMPILER_FLAG("-fvisibility=hidden" CXX_COMPILER_FLAG_VISIBILITY)
if (CXX_COMPILER_FLAG_VISIBILITY)
add_definitions ("-fvisibility=hidden")
- endif (CXX_COMPILER_FLAG_VISIBILITY)
-endif (WIN32)
+ endif ()
+endif ()
if (MSVC)
# C99 includes for msvc
@@ -108,7 +108,7 @@ if (MSVC)
)
if (${flag_var} MATCHES "/MD")
string (REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
- endif (${flag_var} MATCHES "/MD")
+ endif ()
endforeach (flag_var)
else ()
# Adjust warnings
@@ -302,7 +302,7 @@ if (WIN32)
if (MINGW)
# Silence warnings about @nn suffix mismatch
set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--enable-stdcall-fixup")
- endif (MINGW)
+ endif ()
# ddraw.dll
if (DirectX_D3D_INCLUDE_DIR)
@@ -324,7 +324,7 @@ if (WIN32)
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
)
install (TARGETS ddraw LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
- endif (DirectX_D3D_INCLUDE_DIR)
+ endif ()
# d3d8.dll
if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3DX9_INCLUDE_DIR)
@@ -346,7 +346,7 @@ if (WIN32)
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
)
install (TARGETS d3d8 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
- endif (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3DX9_INCLUDE_DIR)
+ endif ()
# d3d9.dll
if (DirectX_D3DX9_INCLUDE_DIR)
@@ -368,15 +368,15 @@ if (WIN32)
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
)
install (TARGETS d3d9 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
- endif (DirectX_D3DX9_INCLUDE_DIR)
+ endif ()
# d3d10.dll
- if (DirectX_D3D10_INCLUDE_DIR)
- include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
+ if (DirectX_D3DX10_INCLUDE_DIR)
+ include_directories (SYSTEM ${DirectX_D3DX10_INCLUDE_DIR})
add_custom_command (
OUTPUT d3d10trace.cpp
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d10trace.cpp
- DEPENDS d3d10trace.py trace.py specs/d3d10misc.py specs/d3d10.py specs/d3d10sdklayers.py specs/dxgi.py specs/dxgitype.py specs/dxgiformat.py specs/winapi.py specs/stdapi.py
+ DEPENDS d3d10trace.py trace.py specs/d3d10misc.py specs/d3d10.py specs/d3d10sdklayers.py specs/d3dcommon.py specs/dxgi.py specs/dxgitype.py specs/dxgiformat.py specs/winapi.py specs/stdapi.py
)
add_library (d3d10 MODULE specs/d3d10.def d3d10trace.cpp)
target_link_libraries (d3d10
@@ -390,15 +390,15 @@ if (WIN32)
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
)
install (TARGETS d3d10 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
- endif (DirectX_D3D10_INCLUDE_DIR)
+ endif ()
# d3d10_1.dll
- if (DirectX_D3D10_INCLUDE_DIR)
- include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
+ if (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3D10_1_INCLUDE_DIR)
+ include_directories (SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR})
add_custom_command (
OUTPUT d3d10_1trace.cpp
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10_1trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d10_1trace.cpp
- DEPENDS d3d10_1trace.py trace.py specs/d3d10_1.py specs/d3d10.py specs/d3d10sdklayers.py specs/dxgi.py specs/dxgitype.py specs/dxgiformat.py specs/winapi.py specs/stdapi.py
+ DEPENDS d3d10_1trace.py trace.py specs/d3d10_1.py specs/d3d10.py specs/d3d10sdklayers.py specs/d3dcommon.py specs/dxgi.py specs/dxgitype.py specs/dxgiformat.py specs/winapi.py specs/stdapi.py
)
add_library (d3d10_1 MODULE specs/d3d10_1.def d3d10_1trace.cpp)
target_link_libraries (d3d10_1
@@ -412,7 +412,29 @@ if (WIN32)
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
)
install (TARGETS d3d10_1 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
- endif (DirectX_D3D10_INCLUDE_DIR)
+ endif ()
+
+ # d3d11.dll
+ if (DirectX_D3DX11_INCLUDE_DIR)
+ include_directories (SYSTEM ${DirectX_D3DX11_INCLUDE_DIR})
+ add_custom_command (
+ OUTPUT d3d11trace.cpp
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d11trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d11trace.cpp
+ DEPENDS d3d11trace.py trace.py specs/d3d11.py specs/d3d11sdklayers.py specs/d3dcommon.py specs/dxgi.py specs/dxgitype.py specs/dxgiformat.py specs/winapi.py specs/stdapi.py
+ )
+ add_library (d3d11 MODULE specs/d3d11.def d3d11trace.cpp)
+ target_link_libraries (d3d11
+ common
+ ${ZLIB_LIBRARIES}
+ ${SNAPPY_LIBRARIES}
+ )
+ set_target_properties (d3d11
+ PROPERTIES PREFIX ""
+ RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
+ LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
+ )
+ install (TARGETS d3d11 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+ endif ()
# opengl32.dll
add_custom_command (
diff --git a/cmake/FindDirectX.cmake b/cmake/FindDirectX.cmake
index a1748709..d841af4a 100644
--- a/cmake/FindDirectX.cmake
+++ b/cmake/FindDirectX.cmake
@@ -57,8 +57,8 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set (DirectX_D3D_FOUND 1)
if (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY)
set (DirectX_D3DX_FOUND 1)
- endif (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY)
- endif (DirectX_D3D_INCLUDE_DIR AND DirectX_DDRAW_LIBRARY)
+ endif ()
+ endif ()
find_path (DirectX_D3D8_INCLUDE_DIR d3d8.h
@@ -85,8 +85,8 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set (DirectX_D3D8_FOUND 1)
if (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY)
set (DirectX_D3DX8_FOUND 1)
- endif (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY)
- endif (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D8_LIBRARY)
+ endif ()
+ endif ()
find_path (DirectX_D3D9_INCLUDE_DIR d3d9.h
@@ -113,8 +113,8 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set (DirectX_D3D9_FOUND 1)
if (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY)
set (DirectX_D3DX9_FOUND 1)
- endif (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY)
- endif (DirectX_D3D9_INCLUDE_DIR AND DirectX_D3D9_LIBRARY)
+ endif ()
+ endif ()
find_path (DirectX_D3D10_INCLUDE_DIR d3d10.h
@@ -141,8 +141,52 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set (DirectX_D3D10_FOUND 1)
if (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY)
set (DirectX_D3DX10_FOUND 1)
- endif (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY)
- endif (DirectX_D3D10_INCLUDE_DIR AND DirectX_D3D10_LIBRARY)
+ endif ()
+ endif ()
+
+
+ find_path (DirectX_D3D10_1_INCLUDE_DIR d3d10_1.h
+ PATHS
+ "${DirectX_ROOT_DIR}/Include"
+ DOC "The directory where d3d10_1.h resides")
+
+ find_library (DirectX_D3D10_1_LIBRARY d3d10_1
+ PATHS
+ "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
+ DOC "The directory where d3d10_1 resides")
+
+ if (DirectX_D3D10_1_INCLUDE_DIR AND DirectX_D3D10_1_LIBRARY)
+ set (DirectX_D3D10_1_FOUND 1)
+ endif ()
+
+
+ find_path (DirectX_D3D11_INCLUDE_DIR d3d11.h
+ PATHS
+ "${DirectX_ROOT_DIR}/Include"
+ DOC "The directory where d3d11.h resides")
+
+ find_path (DirectX_D3DX11_INCLUDE_DIR d3dx11.h
+ PATHS
+ "${DirectX_ROOT_DIR}/Include"
+ DOC "The directory where d3dx11.h resides")
+
+ find_library (DirectX_D3D11_LIBRARY d3d11
+ PATHS
+ "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
+ DOC "The directory where d3d11 resides")
+
+ find_library (DirectX_D3DX11_LIBRARY d3dx11
+ PATHS
+ "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
+ DOC "The directory where d3dx11 resides")
+
+ if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
+ set (DirectX_D3D11_FOUND 1)
+ if (DirectX_D3DX11_INCLUDE_DIR AND DirectX_D3DX11_LIBRARY)
+ set (DirectX_D3DX11_FOUND 1)
+ endif ()
+ endif ()
+
mark_as_advanced(
DirectX_D3D_INCLUDE_DIR
@@ -169,9 +213,15 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
DirectX_D3D10_LIBRARY
DirectX_D3DX10_INCLUDE_DIR
DirectX_D3DX10_LIBRARY
+ DirectX_D3D10_1_INCLUDE_DIR
+ DirectX_D3D10_1_LIBRARY
+ DirectX_D3D11_INCLUDE_DIR
+ DirectX_D3D11_LIBRARY
+ DirectX_D3DX11_INCLUDE_DIR
+ DirectX_D3DX11_LIBRARY
)
-endif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+endif ()
mark_as_advanced (
DirectX_D3D_FOUND
@@ -182,4 +232,7 @@ mark_as_advanced (
DirectX_D3DX9_FOUND
DirectX_D3D10_FOUND
DirectX_D3DX10_FOUND
+ DirectX_D3D10_1_FOUND
+ DirectX_D3D11_FOUND
+ DirectX_D3DX11_FOUND
)
diff --git a/d3d11trace.py b/d3d11trace.py
new file mode 100644
index 00000000..e40828bf
--- /dev/null
+++ b/d3d11trace.py
@@ -0,0 +1,46 @@
+##########################################################################
+#
+# Copyright 2008-2012 VMware, Inc.
+# All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+##########################################################################/
+
+
+from specs.d3d11 import d3d11
+from dlltrace import DllTracer
+
+
+if __name__ == '__main__':
+ print '#define INITGUID'
+ print
+ print '#include "trace_writer_local.hpp"'
+ print '#include "os.hpp"'
+ print
+ print '#include <windows.h>'
+ print '#include <tchar.h>'
+ print
+ print '#include "compat.h"'
+ print
+ print '#include <d3d11.h>'
+ print '#include <d3dx11.h>'
+ print
+ tracer = DllTracer('d3d11.dll')
+ tracer.trace_api(d3d11)
diff --git a/specs/d3d10.py b/specs/d3d10.py
index 00321d71..51199041 100644
--- a/specs/d3d10.py
+++ b/specs/d3d10.py
@@ -23,7 +23,10 @@
#
##########################################################################/
+
from dxgi import *
+from d3dcommon import *
+
HRESULT = FakeEnum(HRESULT, [
"D3D10_ERROR_FILE_NOT_FOUND",
@@ -567,28 +570,6 @@ D3D10_QUERY_DESC = Struct("D3D10_QUERY_DESC", [
(D3D10_QUERY_MISC_FLAG, "MiscFlags"),
])
-D3D10_PRIMITIVE_TOPOLOGY = Enum("D3D10_PRIMITIVE_TOPOLOGY", [
- "D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED",
- "D3D10_PRIMITIVE_TOPOLOGY_POINTLIST",
- "D3D10_PRIMITIVE_TOPOLOGY_LINELIST",
- "D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP",
- "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST",
- "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP",
- "D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ",
- "D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ",
- "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ",
- "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ",
-])
-
-D3D10_PRIMITIVE = Enum("D3D10_PRIMITIVE", [
- "D3D10_PRIMITIVE_UNDEFINED",
- "D3D10_PRIMITIVE_POINT",
- "D3D10_PRIMITIVE_LINE",
- "D3D10_PRIMITIVE_TRIANGLE",
- "D3D10_PRIMITIVE_LINE_ADJ",
- "D3D10_PRIMITIVE_TRIANGLE_ADJ",
-])
-
D3D10_RECT = Alias("D3D10_RECT", RECT)
D3D10_VIEWPORT = Struct("D3D10_VIEWPORT", [
(INT, "TopLeftX"),
@@ -766,15 +747,6 @@ ID3D10DepthStencilState.methods += [
Method(Void, "GetDesc", [Out(Pointer(D3D10_DEPTH_STENCIL_DESC), "pDesc")]),
]
-ID3D10GeometryShader.methods += [
-]
-
-ID3D10InputLayout.methods += [
-]
-
-ID3D10PixelShader.methods += [
-]
-
ID3D10RasterizerState.methods += [
Method(Void, "GetDesc", [Out(Pointer(D3D10_RASTERIZER_DESC), "pDesc")]),
]
@@ -783,9 +755,6 @@ ID3D10SamplerState.methods += [
Method(Void, "GetDesc", [Out(Pointer(D3D10_SAMPLER_DESC), "pDesc")]),
]
-ID3D10VertexShader.methods += [
-]
-
ID3D10Asynchronous.methods += [
Method(Void, "Begin", []),
Method(Void, "End", []),
@@ -801,9 +770,6 @@ ID3D10Query.methods += [
Method(Void, "GetDesc", [Out(Pointer(D3D10_QUERY_DESC), "pDesc")]),
]
-ID3D10Predicate.methods += [
-]
-
ID3D10Device.methods += [
Method(Void, "VSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(OpaquePointer(ID3D10Buffer)), "NumBuffers"), "ppConstantBuffers")]),
Method(Void, "PSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(OpaquePointer(ID3D10ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]),
diff --git a/specs/d3d10_1.py b/specs/d3d10_1.py
index 5bc364f8..c9bda7ef 100644
--- a/specs/d3d10_1.py
+++ b/specs/d3d10_1.py
@@ -82,7 +82,6 @@ D3D10_TEXCUBE_ARRAY_SRV1 = Struct("D3D10_TEXCUBE_ARRAY_SRV1", [
(UINT, "NumCubes"),
])
-D3D10_SRV_DIMENSION1 = Alias("D3D10_SRV_DIMENSION1", D3D10_SRV_DIMENSION)
D3D10_SHADER_RESOURCE_VIEW_DESC1 = Struct("D3D10_SHADER_RESOURCE_VIEW_DESC1", [
(DXGI_FORMAT, "Format"),
(D3D10_SRV_DIMENSION1, "ViewDimension"),
diff --git a/specs/d3d11.py b/specs/d3d11.py
new file mode 100644
index 00000000..6371529a
--- /dev/null
+++ b/specs/d3d11.py
@@ -0,0 +1,1231 @@
+##########################################################################
+#
+# Copyright 2012 Jose Fonseca
+# All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+##########################################################################/
+
+
+from dxgi import *
+from d3dcommon import *
+from d3d11sdklayers import *
+
+
+HRESULT = FakeEnum(HRESULT, [
+ "D3D11_ERROR_FILE_NOT_FOUND",
+ "D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS",
+ "D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS",
+ "D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD",
+ "D3DERR_INVALIDCALL",
+ "D3DERR_WASSTILLDRAWING",
+ "E_FAIL",
+ "E_INVALIDARG",
+ "E_OUTOFMEMORY",
+ "S_FALSE",
+ "S_OK",
+])
+
+
+ID3D11DepthStencilState = Interface('ID3D11DepthStencilState', ID3D11DeviceChild)
+ID3D11BlendState = Interface('ID3D11BlendState', ID3D11DeviceChild)
+ID3D11RasterizerState = Interface('ID3D11RasterizerState', ID3D11DeviceChild)
+ID3D11Resource = Interface('ID3D11Resource', ID3D11DeviceChild)
+ID3D11Buffer = Interface('ID3D11Buffer', ID3D11Resource)
+ID3D11Texture1D = Interface('ID3D11Texture1D', ID3D11Resource)
+ID3D11Texture2D = Interface('ID3D11Texture2D', ID3D11Resource)
+ID3D11Texture3D = Interface('ID3D11Texture3D', ID3D11Resource)
+ID3D11View = Interface('ID3D11View', ID3D11DeviceChild)
+ID3D11ShaderResourceView = Interface('ID3D11ShaderResourceView', ID3D11View)
+ID3D11RenderTargetView = Interface('ID3D11RenderTargetView', ID3D11View)
+ID3D11DepthStencilView = Interface('ID3D11DepthStencilView', ID3D11View)
+ID3D11UnorderedAccessView = Interface('ID3D11UnorderedAccessView', ID3D11View)
+ID3D11VertexShader = Interface('ID3D11VertexShader', ID3D11DeviceChild)
+ID3D11HullShader = Interface('ID3D11HullShader', ID3D11DeviceChild)
+ID3D11DomainShader = Interface('ID3D11DomainShader', ID3D11DeviceChild)
+ID3D11GeometryShader = Interface('ID3D11GeometryShader', ID3D11DeviceChild)
+ID3D11PixelShader = Interface('ID3D11PixelShader', ID3D11DeviceChild)
+ID3D11ComputeShader = Interface('ID3D11ComputeShader', ID3D11DeviceChild)
+ID3D11InputLayout = Interface('ID3D11InputLayout', ID3D11DeviceChild)
+ID3D11SamplerState = Interface('ID3D11SamplerState', ID3D11DeviceChild)
+ID3D11Asynchronous = Interface('ID3D11Asynchronous', ID3D11DeviceChild)
+ID3D11Query = Interface('ID3D11Query', ID3D11Asynchronous)
+ID3D11Predicate = Interface('ID3D11Predicate', ID3D11Query)
+ID3D11Counter = Interface('ID3D11Counter', ID3D11Asynchronous)
+ID3D11ClassInstance = Interface('ID3D11ClassInstance', ID3D11DeviceChild)
+ID3D11ClassLinkage = Interface('ID3D11ClassLinkage', ID3D11DeviceChild)
+ID3D11CommandList = Interface('ID3D11CommandList', ID3D11DeviceChild)
+ID3D11Device = Interface('ID3D11Device', IUnknown)
+
+
+D3D11_INPUT_CLASSIFICATION = Enum('D3D11_INPUT_CLASSIFICATION', [
+ 'D3D11_INPUT_PER_VERTEX_DATA',
+ 'D3D11_INPUT_PER_INSTANCE_DATA',
+])
+
+D3D11_INPUT_ELEMENT_ALIGNED_BYTE_OFFSET = FakeEnum(UINT, [
+ 'D3D11_APPEND_ALIGNED_ELEMENT',
+])
+
+D3D11_INPUT_ELEMENT_DESC = Struct('D3D11_INPUT_ELEMENT_DESC', [
+ (LPCSTR, 'SemanticName'),
+ (UINT, 'SemanticIndex'),
+ (DXGI_FORMAT, 'Format'),
+ (UINT, 'InputSlot'),
+ (D3D11_INPUT_ELEMENT_ALIGNED_BYTE_OFFSET, 'AlignedByteOffset'),
+ (D3D11_INPUT_CLASSIFICATION, 'InputSlotClass'),
+ (UINT, 'InstanceDataStepRate'),
+])
+
+D3D11_FILL_MODE = Enum('D3D11_FILL_MODE', [
+ 'D3D11_FILL_WIREFRAME',
+ 'D3D11_FILL_SOLID',
+])
+
+D3D11_PRIMITIVE_TOPOLOGY = Enum('D3D11_PRIMITIVE_TOPOLOGY', [
+ 'D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED',
+ 'D3D11_PRIMITIVE_TOPOLOGY_POINTLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_LINELIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP',
+ 'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP',
+ 'D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ',
+ 'D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ',
+ 'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ',
+ 'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ',
+ 'D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST',
+])
+
+D3D11_PRIMITIVE = Enum('D3D11_PRIMITIVE', [
+ 'D3D11_PRIMITIVE_UNDEFINED',
+ 'D3D11_PRIMITIVE_POINT',
+ 'D3D11_PRIMITIVE_LINE',
+ 'D3D11_PRIMITIVE_TRIANGLE',
+ 'D3D11_PRIMITIVE_LINE_ADJ',
+ 'D3D11_PRIMITIVE_TRIANGLE_ADJ',
+ 'D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH',
+])
+
+D3D11_CULL_MODE = Enum('D3D11_CULL_MODE', [
+ 'D3D11_CULL_NONE',
+ 'D3D11_CULL_FRONT',
+ 'D3D11_CULL_BACK',
+])
+
+D3D11_SO_DECLARATION_ENTRY = Struct('D3D11_SO_DECLARATION_ENTRY', [
+ (UINT, 'Stream'),
+ (LPCSTR, 'SemanticName'),
+ (UINT, 'SemanticIndex'),
+ (BYTE, 'StartComponent'),
+ (BYTE, 'ComponentCount'),
+ (BYTE, 'OutputSlot'),
+])
+
+D3D11_VIEWPORT = Struct('D3D11_VIEWPORT', [
+ (FLOAT, 'TopLeftX'),
+ (FLOAT, 'TopLeftY'),
+ (FLOAT, 'Width'),
+ (FLOAT, 'Height'),
+ (FLOAT, 'MinDepth'),
+ (FLOAT, 'MaxDepth'),
+])
+
+D3D11_RESOURCE_DIMENSION = Enum('D3D11_RESOURCE_DIMENSION', [
+ 'D3D11_RESOURCE_DIMENSION_UNKNOWN',
+ 'D3D11_RESOURCE_DIMENSION_BUFFER',
+ 'D3D11_RESOURCE_DIMENSION_TEXTURE1D',
+ 'D3D11_RESOURCE_DIMENSION_TEXTURE2D',
+ 'D3D11_RESOURCE_DIMENSION_TEXTURE3D',
+])
+
+D3D11_SRV_DIMENSION = Enum('D3D11_SRV_DIMENSION', [
+ 'D3D11_SRV_DIMENSION_UNKNOWN',
+ 'D3D11_SRV_DIMENSION_BUFFER',
+ 'D3D11_SRV_DIMENSION_TEXTURE1D',
+ 'D3D11_SRV_DIMENSION_TEXTURE1DARRAY',
+ 'D3D11_SRV_DIMENSION_TEXTURE2D',
+ 'D3D11_SRV_DIMENSION_TEXTURE2DARRAY',
+ 'D3D11_SRV_DIMENSION_TEXTURE2DMS',
+ 'D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY',
+ 'D3D11_SRV_DIMENSION_TEXTURE3D',
+ 'D3D11_SRV_DIMENSION_TEXTURECUBE',
+ 'D3D11_SRV_DIMENSION_TEXTURECUBEARRAY',
+ 'D3D11_SRV_DIMENSION_BUFFEREX',
+])
+
+D3D11_DSV_DIMENSION = Enum('D3D11_DSV_DIMENSION', [
+ 'D3D11_DSV_DIMENSION_UNKNOWN',
+ 'D3D11_DSV_DIMENSION_TEXTURE1D',
+ 'D3D11_DSV_DIMENSION_TEXTURE1DARRAY',
+ 'D3D11_DSV_DIMENSION_TEXTURE2D',
+ 'D3D11_DSV_DIMENSION_TEXTURE2DARRAY',
+ 'D3D11_DSV_DIMENSION_TEXTURE2DMS',
+ 'D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY',
+])
+
+D3D11_RTV_DIMENSION = Enum('D3D11_RTV_DIMENSION', [
+ 'D3D11_RTV_DIMENSION_UNKNOWN',
+ 'D3D11_RTV_DIMENSION_BUFFER',
+ 'D3D11_RTV_DIMENSION_TEXTURE1D',
+ 'D3D11_RTV_DIMENSION_TEXTURE1DARRAY',
+ 'D3D11_RTV_DIMENSION_TEXTURE2D',
+ 'D3D11_RTV_DIMENSION_TEXTURE2DARRAY',
+ 'D3D11_RTV_DIMENSION_TEXTURE2DMS',
+ 'D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY',
+ 'D3D11_RTV_DIMENSION_TEXTURE3D',
+])
+
+D3D11_UAV_DIMENSION = Enum('D3D11_UAV_DIMENSION', [
+ 'D3D11_UAV_DIMENSION_UNKNOWN',
+ 'D3D11_UAV_DIMENSION_BUFFER',
+ 'D3D11_UAV_DIMENSION_TEXTURE1D',
+ 'D3D11_UAV_DIMENSION_TEXTURE1DARRAY',
+ 'D3D11_UAV_DIMENSION_TEXTURE2D',
+ 'D3D11_UAV_DIMENSION_TEXTURE2DARRAY',
+ 'D3D11_UAV_DIMENSION_TEXTURE3D',
+])
+
+D3D11_USAGE = Enum('D3D11_USAGE', [
+ 'D3D11_USAGE_DEFAULT',
+ 'D3D11_USAGE_IMMUTABLE',
+ 'D3D11_USAGE_DYNAMIC',
+ 'D3D11_USAGE_STAGING',
+])
+
+D3D11_BIND_FLAG = Flags(UINT, [
+ 'D3D11_BIND_VERTEX_BUFFER',
+ 'D3D11_BIND_INDEX_BUFFER',
+ 'D3D11_BIND_CONSTANT_BUFFER',
+ 'D3D11_BIND_SHADER_RESOURCE',
+ 'D3D11_BIND_STREAM_OUTPUT',
+ 'D3D11_BIND_RENDER_TARGET',
+ 'D3D11_BIND_DEPTH_STENCIL',
+ 'D3D11_BIND_UNORDERED_ACCESS',
+])
+
+D3D11_CPU_ACCESS_FLAG = Flags(UINT, [
+ 'D3D11_CPU_ACCESS_WRITE',
+ 'D3D11_CPU_ACCESS_READ',
+])
+
+D3D11_RESOURCE_MISC_FLAG = Flags(UINT, [
+ 'D3D11_RESOURCE_MISC_GENERATE_MIPS',
+ 'D3D11_RESOURCE_MISC_SHARED',
+ 'D3D11_RESOURCE_MISC_TEXTURECUBE',
+ 'D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS',
+ 'D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS',
+ 'D3D11_RESOURCE_MISC_BUFFER_STRUCTURED',
+ 'D3D11_RESOURCE_MISC_RESOURCE_CLAMP',
+ 'D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX',
+ 'D3D11_RESOURCE_MISC_GDI_COMPATIBLE',
+])
+
+D3D11_MAP = Enum('D3D11_MAP', [
+ 'D3D11_MAP_READ',
+ 'D3D11_MAP_WRITE',
+ 'D3D11_MAP_READ_WRITE',
+ 'D3D11_MAP_WRITE_DISCARD',
+ 'D3D11_MAP_WRITE_NO_OVERWRITE',
+])
+
+D3D11_MAP_FLAG = Flags(UINT, [
+ 'D3D11_MAP_FLAG_DO_NOT_WAIT',
+])
+
+D3D11_RAISE_FLAG = Flags(UINT, [
+ 'D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR',
+])
+
+D3D11_CLEAR_FLAG = Flags(UINT, [
+ 'D3D11_CLEAR_DEPTH',
+ 'D3D11_CLEAR_STENCIL',
+])
+
+D3D11_RECT = Alias('D3D11_RECT', RECT)
+D3D11_BOX = Struct('D3D11_BOX', [
+ (UINT, 'left'),
+ (UINT, 'top'),
+ (UINT, 'front'),
+ (UINT, 'right'),
+ (UINT, 'bottom'),
+ (UINT, 'back'),
+])
+
+ID3D11DeviceChild.methods += [
+ StdMethod(Void, 'GetDevice', [Out(Pointer(Pointer(ID3D11Device)), 'ppDevice')]),
+ StdMethod(HRESULT, 'GetPrivateData', [(REFGUID, 'guid'), Out(Pointer(UINT), 'pDataSize'), Out(OpaquePointer(Void), 'pData')]),
+ StdMethod(HRESULT, 'SetPrivateData', [(REFGUID, 'guid'), (UINT, 'DataSize'), (OpaqueBlob(Const(Void), 'DataSize'), 'pData')]),
+ StdMethod(HRESULT, 'SetPrivateDataInterface', [(REFGUID, 'guid'), (Pointer(Const(IUnknown)), 'pData')]),
+]
+
+D3D11_COMPARISON_FUNC = Enum('D3D11_COMPARISON_FUNC', [
+ 'D3D11_COMPARISON_NEVER',
+ 'D3D11_COMPARISON_LESS',
+ 'D3D11_COMPARISON_EQUAL',
+ 'D3D11_COMPARISON_LESS_EQUAL',
+ 'D3D11_COMPARISON_GREATER',
+ 'D3D11_COMPARISON_NOT_EQUAL',
+ 'D3D11_COMPARISON_GREATER_EQUAL',
+ 'D3D11_COMPARISON_ALWAYS',
+])
+
+D3D11_DEPTH_WRITE_MASK = Enum('D3D11_DEPTH_WRITE_MASK', [
+ 'D3D11_DEPTH_WRITE_MASK_ZERO',
+ 'D3D11_DEPTH_WRITE_MASK_ALL',
+])
+
+D3D11_STENCIL_OP = Enum('D3D11_STENCIL_OP', [
+ 'D3D11_STENCIL_OP_KEEP',
+ 'D3D11_STENCIL_OP_ZERO',
+ 'D3D11_STENCIL_OP_REPLACE',
+ 'D3D11_STENCIL_OP_INCR_SAT',
+ 'D3D11_STENCIL_OP_DECR_SAT',
+ 'D3D11_STENCIL_OP_INVERT',
+ 'D3D11_STENCIL_OP_INCR',
+ 'D3D11_STENCIL_OP_DECR',
+])
+
+D3D11_DEPTH_STENCILOP_DESC = Struct('D3D11_DEPTH_STENCILOP_DESC', [
+ (D3D11_STENCIL_OP, 'StencilFailOp'),
+ (D3D11_STENCIL_OP, 'StencilDepthFailOp'),
+ (D3D11_STENCIL_OP, 'StencilPassOp'),
+ (D3D11_COMPARISON_FUNC, 'StencilFunc'),
+])
+
+D3D11_DEPTH_STENCIL_DESC = Struct('D3D11_DEPTH_STENCIL_DESC', [
+ (BOOL, 'DepthEnable'),
+ (D3D11_DEPTH_WRITE_MASK, 'DepthWriteMask'),
+ (D3D11_COMPARISON_FUNC, 'DepthFunc'),
+ (BOOL, 'StencilEnable'),
+ (UINT8, 'StencilReadMask'),
+ (UINT8, 'StencilWriteMask'),
+ (D3D11_DEPTH_STENCILOP_DESC, 'FrontFace'),
+ (D3D11_DEPTH_STENCILOP_DESC, 'BackFace'),
+])
+
+ID3D11DepthStencilState.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_DEPTH_STENCIL_DESC), 'pDesc')]),
+]
+
+D3D11_BLEND = Enum('D3D11_BLEND', [
+ 'D3D11_BLEND_ZERO',
+ 'D3D11_BLEND_ONE',
+ 'D3D11_BLEND_SRC_COLOR',
+ 'D3D11_BLEND_INV_SRC_COLOR',
+ 'D3D11_BLEND_SRC_ALPHA',
+ 'D3D11_BLEND_INV_SRC_ALPHA',
+ 'D3D11_BLEND_DEST_ALPHA',
+ 'D3D11_BLEND_INV_DEST_ALPHA',
+ 'D3D11_BLEND_DEST_COLOR',
+ 'D3D11_BLEND_INV_DEST_COLOR',
+ 'D3D11_BLEND_SRC_ALPHA_SAT',
+ 'D3D11_BLEND_BLEND_FACTOR',
+ 'D3D11_BLEND_INV_BLEND_FACTOR',
+ 'D3D11_BLEND_SRC1_COLOR',
+ 'D3D11_BLEND_INV_SRC1_COLOR',
+ 'D3D11_BLEND_SRC1_ALPHA',
+ 'D3D11_BLEND_INV_SRC1_ALPHA',
+])
+
+D3D11_BLEND_OP = Enum('D3D11_BLEND_OP', [
+ 'D3D11_BLEND_OP_ADD',
+ 'D3D11_BLEND_OP_SUBTRACT',
+ 'D3D11_BLEND_OP_REV_SUBTRACT',
+ 'D3D11_BLEND_OP_MIN',
+ 'D3D11_BLEND_OP_MAX',
+])
+
+D3D11_COLOR_WRITE_ENABLE = Enum('D3D11_COLOR_WRITE_ENABLE', [
+ 'D3D11_COLOR_WRITE_ENABLE_ALL',
+ 'D3D11_COLOR_WRITE_ENABLE_RED',
+ 'D3D11_COLOR_WRITE_ENABLE_GREEN',
+ 'D3D11_COLOR_WRITE_ENABLE_BLUE',
+ 'D3D11_COLOR_WRITE_ENABLE_ALPHA',
+])
+
+D3D11_RENDER_TARGET_BLEND_DESC = Struct('D3D11_RENDER_TARGET_BLEND_DESC', [
+ (BOOL, 'BlendEnable'),
+ (D3D11_BLEND, 'SrcBlend'),
+ (D3D11_BLEND, 'DestBlend'),
+ (D3D11_BLEND_OP, 'BlendOp'),
+ (D3D11_BLEND, 'SrcBlendAlpha'),
+ (D3D11_BLEND, 'DestBlendAlpha'),
+ (D3D11_BLEND_OP, 'BlendOpAlpha'),
+ (UINT8, 'RenderTargetWriteMask'),
+])
+
+D3D11_BLEND_DESC = Struct('D3D11_BLEND_DESC', [
+ (BOOL, 'AlphaToCoverageEnable'),
+ (BOOL, 'IndependentBlendEnable'),
+ (Array(D3D11_RENDER_TARGET_BLEND_DESC, 8), 'RenderTarget'),
+])
+
+ID3D11BlendState.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_BLEND_DESC), 'pDesc')]),
+]
+
+D3D11_RASTERIZER_DESC = Struct('D3D11_RASTERIZER_DESC', [
+ (D3D11_FILL_MODE, 'FillMode'),
+ (D3D11_CULL_MODE, 'CullMode'),
+ (BOOL, 'FrontCounterClockwise'),
+ (INT, 'DepthBias'),
+ (FLOAT, 'DepthBiasClamp'),
+ (FLOAT, 'SlopeScaledDepthBias'),
+ (BOOL, 'DepthClipEnable'),
+ (BOOL, 'ScissorEnable'),
+ (BOOL, 'MultisampleEnable'),
+ (BOOL, 'AntialiasedLineEnable'),
+])
+
+ID3D11RasterizerState.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_RASTERIZER_DESC), 'pDesc')]),
+]
+
+D3D11_SUBRESOURCE_DATA = Struct('D3D11_SUBRESOURCE_DATA', [
+ (OpaquePointer(Const(Void)), 'pSysMem'),
+ (UINT, 'SysMemPitch'),
+ (UINT, 'SysMemSlicePitch'),
+])
+
+D3D11_MAPPED_SUBRESOURCE = Struct('D3D11_MAPPED_SUBRESOURCE', [
+ (OpaquePointer(Void), 'pData'),
+ (UINT, 'RowPitch'),
+ (UINT, 'DepthPitch'),
+])
+
+ID3D11Resource.methods += [
+ StdMethod(Void, 'GetType', [Out(Pointer(D3D11_RESOURCE_DIMENSION), 'pResourceDimension')]),
+ StdMethod(Void, 'SetEvictionPriority', [(UINT, 'EvictionPriority')]),
+ StdMethod(UINT, 'GetEvictionPriority', []),
+]
+
+D3D11_BUFFER_DESC = Struct('D3D11_BUFFER_DESC', [
+ (UINT, 'ByteWidth'),
+ (D3D11_USAGE, 'Usage'),
+ (D3D11_BIND_FLAG, 'BindFlags'),
+ (D3D11_CPU_ACCESS_FLAG, 'CPUAccessFlags'),
+ (D3D11_RESOURCE_MISC_FLAG, 'MiscFlags'),
+ (UINT, 'StructureByteStride'),
+])
+
+ID3D11Buffer.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_BUFFER_DESC), 'pDesc')]),
+]
+
+D3D11_TEXTURE1D_DESC = Struct('D3D11_TEXTURE1D_DESC', [
+ (UINT, 'Width'),
+ (UINT, 'MipLevels'),
+ (UINT, 'ArraySize'),
+ (DXGI_FORMAT, 'Format'),
+ (D3D11_USAGE, 'Usage'),
+ (D3D11_BIND_FLAG, 'BindFlags'),
+ (D3D11_CPU_ACCESS_FLAG, 'CPUAccessFlags'),
+ (D3D11_RESOURCE_MISC_FLAG, 'MiscFlags'),
+])
+
+ID3D11Texture1D.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_TEXTURE1D_DESC), 'pDesc')]),
+]
+
+D3D11_TEXTURE2D_DESC = Struct('D3D11_TEXTURE2D_DESC', [
+ (UINT, 'Width'),
+ (UINT, 'Height'),
+ (UINT, 'MipLevels'),
+ (UINT, 'ArraySize'),
+ (DXGI_FORMAT, 'Format'),
+ (DXGI_SAMPLE_DESC, 'SampleDesc'),
+ (D3D11_USAGE, 'Usage'),
+ (D3D11_BIND_FLAG, 'BindFlags'),
+ (D3D11_CPU_ACCESS_FLAG, 'CPUAccessFlags'),
+ (D3D11_RESOURCE_MISC_FLAG, 'MiscFlags'),
+])
+
+ID3D11Texture2D.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_TEXTURE2D_DESC), 'pDesc')]),
+]
+
+D3D11_TEXTURE3D_DESC = Struct('D3D11_TEXTURE3D_DESC', [
+ (UINT, 'Width'),
+ (UINT, 'Height'),
+ (UINT, 'Depth'),
+ (UINT, 'MipLevels'),
+ (DXGI_FORMAT, 'Format'),
+ (D3D11_USAGE, 'Usage'),
+ (D3D11_BIND_FLAG, 'BindFlags'),
+ (D3D11_CPU_ACCESS_FLAG, 'CPUAccessFlags'),
+ (D3D11_RESOURCE_MISC_FLAG, 'MiscFlags'),
+])
+
+ID3D11Texture3D.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_TEXTURE3D_DESC), 'pDesc')]),
+]
+
+D3D11_TEXTURECUBE_FACE = Enum('D3D11_TEXTURECUBE_FACE', [
+ 'D3D11_TEXTURECUBE_FACE_POSITIVE_X',
+ 'D3D11_TEXTURECUBE_FACE_NEGATIVE_X',
+ 'D3D11_TEXTURECUBE_FACE_POSITIVE_Y',
+ 'D3D11_TEXTURECUBE_FACE_NEGATIVE_Y',
+ 'D3D11_TEXTURECUBE_FACE_POSITIVE_Z',
+ 'D3D11_TEXTURECUBE_FACE_NEGATIVE_Z',
+])
+
+ID3D11View.methods += [
+ StdMethod(Void, 'GetResource', [Out(Pointer(Pointer(ID3D11Resource)), 'ppResource')]),
+]
+
+D3D11_BUFFER_SRV = Struct('D3D11_BUFFER_SRV', [
+ (Union(None, [(UINT, 'FirstElement'), (UINT, 'ElementOffset')]), None),
+ (Union(None, [(UINT, 'NumElements'), (UINT, 'ElementWidth')]), None),
+])
+
+D3D11_BUFFEREX_SRV_FLAG = Flags(UINT, [
+ 'D3D11_BUFFEREX_SRV_FLAG_RAW',
+])
+
+D3D11_BUFFEREX_SRV = Struct('D3D11_BUFFEREX_SRV', [
+ (UINT, 'FirstElement'),
+ (UINT, 'NumElements'),
+ (D3D11_BUFFEREX_SRV_FLAG, 'Flags'),
+])
+
+D3D11_TEX1D_SRV = Struct('D3D11_TEX1D_SRV', [
+ (UINT, 'MostDetailedMip'),
+ (UINT, 'MipLevels'),
+])
+
+D3D11_TEX1D_ARRAY_SRV = Struct('D3D11_TEX1D_ARRAY_SRV', [
+ (UINT, 'MostDetailedMip'),
+ (UINT, 'MipLevels'),
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX2D_SRV = Struct('D3D11_TEX2D_SRV', [
+ (UINT, 'MostDetailedMip'),
+ (UINT, 'MipLevels'),
+])
+
+D3D11_TEX2D_ARRAY_SRV = Struct('D3D11_TEX2D_ARRAY_SRV', [
+ (UINT, 'MostDetailedMip'),
+ (UINT, 'MipLevels'),
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX3D_SRV = Struct('D3D11_TEX3D_SRV', [
+ (UINT, 'MostDetailedMip'),
+ (UINT, 'MipLevels'),
+])
+
+D3D11_TEXCUBE_SRV = Struct('D3D11_TEXCUBE_SRV', [
+ (UINT, 'MostDetailedMip'),
+ (UINT, 'MipLevels'),
+])
+
+D3D11_TEXCUBE_ARRAY_SRV = Struct('D3D11_TEXCUBE_ARRAY_SRV', [
+ (UINT, 'MostDetailedMip'),
+ (UINT, 'MipLevels'),
+ (UINT, 'First2DArrayFace'),
+ (UINT, 'NumCubes'),
+])
+
+D3D11_TEX2DMS_SRV = Struct('D3D11_TEX2DMS_SRV', [
+ (UINT, 'UnusedField_NothingToDefine'),
+])
+
+D3D11_TEX2DMS_ARRAY_SRV = Struct('D3D11_TEX2DMS_ARRAY_SRV', [
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_SHADER_RESOURCE_VIEW_DESC = Struct('D3D11_SHADER_RESOURCE_VIEW_DESC', [
+ (DXGI_FORMAT, 'Format'),
+ (D3D11_SRV_DIMENSION, 'ViewDimension'),
+ (Union(None, [
+ (D3D11_BUFFER_SRV, 'Buffer'),
+ (D3D11_TEX1D_SRV, 'Texture1D'),
+ (D3D11_TEX1D_ARRAY_SRV, 'Texture1DArray'),
+ (D3D11_TEX2D_SRV, 'Texture2D'),
+ (D3D11_TEX2D_ARRAY_SRV, 'Texture2DArray'),
+ (D3D11_TEX2DMS_SRV, 'Texture2DMS'),
+ (D3D11_TEX2DMS_ARRAY_SRV, 'Texture2DMSArray'),
+ (D3D11_TEX3D_SRV, 'Texture3D'),
+ (D3D11_TEXCUBE_SRV, 'TextureCube'),
+ (D3D11_TEXCUBE_ARRAY_SRV, 'TextureCubeArray'),
+ (D3D11_BUFFEREX_SRV, 'BufferEx'),
+ ]), None),
+])
+
+ID3D11ShaderResourceView.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_SHADER_RESOURCE_VIEW_DESC), 'pDesc')]),
+]
+
+D3D11_BUFFER_RTV = Struct('D3D11_BUFFER_RTV', [
+ (Union(None, [(UINT, 'FirstElement'), (UINT, 'ElementOffset')]), None),
+ (Union(None, [(UINT, 'NumElements'), (UINT, 'ElementWidth')]), None),
+])
+
+D3D11_TEX1D_RTV = Struct('D3D11_TEX1D_RTV', [
+ (UINT, 'MipSlice'),
+])
+
+D3D11_TEX1D_ARRAY_RTV = Struct('D3D11_TEX1D_ARRAY_RTV', [
+ (UINT, 'MipSlice'),
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX2D_RTV = Struct('D3D11_TEX2D_RTV', [
+ (UINT, 'MipSlice'),
+])
+
+D3D11_TEX2DMS_RTV = Struct('D3D11_TEX2DMS_RTV', [
+ (UINT, 'UnusedField_NothingToDefine'),
+])
+
+D3D11_TEX2D_ARRAY_RTV = Struct('D3D11_TEX2D_ARRAY_RTV', [
+ (UINT, 'MipSlice'),
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX2DMS_ARRAY_RTV = Struct('D3D11_TEX2DMS_ARRAY_RTV', [
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX3D_RTV = Struct('D3D11_TEX3D_RTV', [
+ (UINT, 'MipSlice'),
+ (UINT, 'FirstWSlice'),
+ (UINT, 'WSize'),
+])
+
+D3D11_RENDER_TARGET_VIEW_DESC = Struct('D3D11_RENDER_TARGET_VIEW_DESC', [
+ (DXGI_FORMAT, 'Format'),
+ (D3D11_RTV_DIMENSION, 'ViewDimension'),
+ (Union(None, [
+ (D3D11_BUFFER_RTV, 'Buffer'),
+ (D3D11_TEX1D_RTV, 'Texture1D'),
+ (D3D11_TEX1D_ARRAY_RTV, 'Texture1DArray'),
+ (D3D11_TEX2D_RTV, 'Texture2D'),
+ (D3D11_TEX2D_ARRAY_RTV, 'Texture2DArray'),
+ (D3D11_TEX2DMS_RTV, 'Texture2DMS'),
+ (D3D11_TEX2DMS_ARRAY_RTV, 'Texture2DMSArray'),
+ (D3D11_TEX3D_RTV, 'Texture3D'),
+ ]), None),
+])
+
+ID3D11RenderTargetView.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_RENDER_TARGET_VIEW_DESC), 'pDesc')]),
+]
+
+D3D11_TEX1D_DSV = Struct('D3D11_TEX1D_DSV', [
+ (UINT, 'MipSlice'),
+])
+
+D3D11_TEX1D_ARRAY_DSV = Struct('D3D11_TEX1D_ARRAY_DSV', [
+ (UINT, 'MipSlice'),
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX2D_DSV = Struct('D3D11_TEX2D_DSV', [
+ (UINT, 'MipSlice'),
+])
+
+D3D11_TEX2D_ARRAY_DSV = Struct('D3D11_TEX2D_ARRAY_DSV', [
+ (UINT, 'MipSlice'),
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX2DMS_DSV = Struct('D3D11_TEX2DMS_DSV', [
+ (UINT, 'UnusedField_NothingToDefine'),
+])
+
+D3D11_TEX2DMS_ARRAY_DSV = Struct('D3D11_TEX2DMS_ARRAY_DSV', [
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_DSV_FLAG = Flags(UINT, [
+ 'D3D11_DSV_READ_ONLY_DEPTH',
+ 'D3D11_DSV_READ_ONLY_STENCIL',
+])
+
+D3D11_DEPTH_STENCIL_VIEW_DESC = Struct('D3D11_DEPTH_STENCIL_VIEW_DESC', [
+ (DXGI_FORMAT, 'Format'),
+ (D3D11_DSV_DIMENSION, 'ViewDimension'),
+ (D3D11_DSV_FLAG, 'Flags'),
+ (Union(None, [
+ (D3D11_TEX1D_DSV, 'Texture1D'),
+ (D3D11_TEX1D_ARRAY_DSV, 'Texture1DArray'),
+ (D3D11_TEX2D_DSV, 'Texture2D'),
+ (D3D11_TEX2D_ARRAY_DSV, 'Texture2DArray'),
+ (D3D11_TEX2DMS_DSV, 'Texture2DMS'),
+ (D3D11_TEX2DMS_ARRAY_DSV, 'Texture2DMSArray'),
+ ]), None),
+])
+
+ID3D11DepthStencilView.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_DEPTH_STENCIL_VIEW_DESC), 'pDesc')]),
+]
+
+D3D11_BUFFER_UAV_FLAG = Flags(UINT, [
+ 'D3D11_BUFFER_UAV_FLAG_RAW',
+ 'D3D11_BUFFER_UAV_FLAG_APPEND',
+ 'D3D11_BUFFER_UAV_FLAG_COUNTER',
+])
+
+D3D11_BUFFER_UAV = Struct('D3D11_BUFFER_UAV', [
+ (UINT, 'FirstElement'),
+ (UINT, 'NumElements'),
+ (D3D11_BUFFER_UAV_FLAG, 'Flags'),
+])
+
+D3D11_TEX1D_UAV = Struct('D3D11_TEX1D_UAV', [
+ (UINT, 'MipSlice'),
+])
+
+D3D11_TEX1D_ARRAY_UAV = Struct('D3D11_TEX1D_ARRAY_UAV', [
+ (UINT, 'MipSlice'),
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX2D_UAV = Struct('D3D11_TEX2D_UAV', [
+ (UINT, 'MipSlice'),
+])
+
+D3D11_TEX2D_ARRAY_UAV = Struct('D3D11_TEX2D_ARRAY_UAV', [
+ (UINT, 'MipSlice'),
+ (UINT, 'FirstArraySlice'),
+ (UINT, 'ArraySize'),
+])
+
+D3D11_TEX3D_UAV = Struct('D3D11_TEX3D_UAV', [
+ (UINT, 'MipSlice'),
+ (UINT, 'FirstWSlice'),
+ (UINT, 'WSize'),
+])
+
+D3D11_UNORDERED_ACCESS_VIEW_DESC = Struct('D3D11_UNORDERED_ACCESS_VIEW_DESC', [
+ (DXGI_FORMAT, 'Format'),
+ (D3D11_UAV_DIMENSION, 'ViewDimension'),
+ (Union(None, [
+ (D3D11_BUFFER_UAV, 'Buffer'),
+ (D3D11_TEX1D_UAV, 'Texture1D'),
+ (D3D11_TEX1D_ARRAY_UAV, 'Texture1DArray'),
+ (D3D11_TEX2D_UAV, 'Texture2D'),
+ (D3D11_TEX2D_ARRAY_UAV, 'Texture2DArray'),
+ (D3D11_TEX3D_UAV, 'Texture3D'),
+ ]), None),
+])
+
+ID3D11UnorderedAccessView.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_UNORDERED_ACCESS_VIEW_DESC), 'pDesc')]),
+]
+
+D3D11_FILTER = Enum('D3D11_FILTER', [
+ 'D3D11_FILTER_MIN_MAG_MIP_POINT',
+ 'D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR',
+ 'D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT',
+ 'D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR',
+ 'D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT',
+ 'D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR',
+ 'D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT',
+ 'D3D11_FILTER_MIN_MAG_MIP_LINEAR',
+ 'D3D11_FILTER_ANISOTROPIC',
+ 'D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT',
+ 'D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR',
+ 'D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT',
+ 'D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR',
+ 'D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT',
+ 'D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR',
+ 'D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT',
+ 'D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR',
+ 'D3D11_FILTER_COMPARISON_ANISOTROPIC',
+])
+
+D3D11_FILTER_TYPE = Enum('D3D11_FILTER_TYPE', [
+ 'D3D11_FILTER_TYPE_POINT',
+ 'D3D11_FILTER_TYPE_LINEAR',
+])
+
+D3D11_TEXTURE_ADDRESS_MODE = Enum('D3D11_TEXTURE_ADDRESS_MODE', [
+ 'D3D11_TEXTURE_ADDRESS_WRAP',
+ 'D3D11_TEXTURE_ADDRESS_MIRROR',
+ 'D3D11_TEXTURE_ADDRESS_CLAMP',
+ 'D3D11_TEXTURE_ADDRESS_BORDER',
+ 'D3D11_TEXTURE_ADDRESS_MIRROR_ONCE',
+])
+
+D3D11_SAMPLER_DESC = Struct('D3D11_SAMPLER_DESC', [
+ (D3D11_FILTER, 'Filter'),
+ (D3D11_TEXTURE_ADDRESS_MODE, 'AddressU'),
+ (D3D11_TEXTURE_ADDRESS_MODE, 'AddressV'),
+ (D3D11_TEXTURE_ADDRESS_MODE, 'AddressW'),
+ (FLOAT, 'MipLODBias'),
+ (UINT, 'MaxAnisotropy'),
+ (D3D11_COMPARISON_FUNC, 'ComparisonFunc'),
+ (Array(FLOAT, 4), 'BorderColor'),
+ (FLOAT, 'MinLOD'),
+ (FLOAT, 'MaxLOD'),
+])
+
+ID3D11SamplerState.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_SAMPLER_DESC), 'pDesc')]),
+]
+
+D3D11_FORMAT_SUPPORT = Enum('D3D11_FORMAT_SUPPORT', [
+ 'D3D11_FORMAT_SUPPORT_BUFFER',
+ 'D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER',
+ 'D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER',
+ 'D3D11_FORMAT_SUPPORT_SO_BUFFER',
+ 'D3D11_FORMAT_SUPPORT_TEXTURE1D',
+ 'D3D11_FORMAT_SUPPORT_TEXTURE2D',
+ 'D3D11_FORMAT_SUPPORT_TEXTURE3D',
+ 'D3D11_FORMAT_SUPPORT_TEXTURECUBE',
+ 'D3D11_FORMAT_SUPPORT_SHADER_LOAD',
+ 'D3D11_FORMAT_SUPPORT_SHADER_SAMPLE',
+ 'D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON',
+ 'D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT',
+ 'D3D11_FORMAT_SUPPORT_MIP',
+ 'D3D11_FORMAT_SUPPORT_MIP_AUTOGEN',
+ 'D3D11_FORMAT_SUPPORT_RENDER_TARGET',
+ 'D3D11_FORMAT_SUPPORT_BLENDABLE',
+ 'D3D11_FORMAT_SUPPORT_DEPTH_STENCIL',
+ 'D3D11_FORMAT_SUPPORT_CPU_LOCKABLE',
+ 'D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE',
+ 'D3D11_FORMAT_SUPPORT_DISPLAY',
+ 'D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT',
+ 'D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET',
+ 'D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD',
+ 'D3D11_FORMAT_SUPPORT_SHADER_GATHER',
+ 'D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST',
+ 'D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW',
+ 'D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON',
+])
+
+D3D11_FORMAT_SUPPORT2 = Enum('D3D11_FORMAT_SUPPORT2', [
+ 'D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD',
+ 'D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS',
+ 'D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE',
+ 'D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE',
+ 'D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX',
+ 'D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX',
+ 'D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD',
+ 'D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE',
+])
+
+ID3D11Asynchronous.methods += [
+ StdMethod(UINT, 'GetDataSize', []),
+]
+
+D3D11_ASYNC_GETDATA_FLAG = Flags(UINT, [
+ 'D3D11_ASYNC_GETDATA_DONOTFLUSH',
+])
+
+D3D11_QUERY = Enum('D3D11_QUERY', [
+ 'D3D11_QUERY_EVENT',
+ 'D3D11_QUERY_OCCLUSION',
+ 'D3D11_QUERY_TIMESTAMP',
+ 'D3D11_QUERY_TIMESTAMP_DISJOINT',
+ 'D3D11_QUERY_PIPELINE_STATISTICS',
+ 'D3D11_QUERY_OCCLUSION_PREDICATE',
+ 'D3D11_QUERY_SO_STATISTICS',
+ 'D3D11_QUERY_SO_OVERFLOW_PREDICATE',
+ 'D3D11_QUERY_SO_STATISTICS_STREAM0',
+ 'D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0',
+ 'D3D11_QUERY_SO_STATISTICS_STREAM1',
+ 'D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1',
+ 'D3D11_QUERY_SO_STATISTICS_STREAM2',
+ 'D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2',
+ 'D3D11_QUERY_SO_STATISTICS_STREAM3',
+ 'D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3',
+])
+
+D3D11_QUERY_MISC_FLAG = Flags(UINT, [
+ 'D3D11_QUERY_MISC_PREDICATEHINT',
+])
+
+D3D11_QUERY_DESC = Struct('D3D11_QUERY_DESC', [
+ (D3D11_QUERY, 'Query'),
+ (D3D11_QUERY_MISC_FLAG, 'MiscFlags'),
+])
+
+ID3D11Query.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_QUERY_DESC), 'pDesc')]),
+]
+
+D3D11_QUERY_DATA_TIMESTAMP_DISJOINT = Struct('D3D11_QUERY_DATA_TIMESTAMP_DISJOINT', [
+ (UINT64, 'Frequency'),
+ (BOOL, 'Disjoint'),
+])
+
+D3D11_QUERY_DATA_PIPELINE_STATISTICS = Struct('D3D11_QUERY_DATA_PIPELINE_STATISTICS', [
+ (UINT64, 'IAVertices'),
+ (UINT64, 'IAPrimitives'),
+ (UINT64, 'VSInvocations'),
+ (UINT64, 'GSInvocations'),
+ (UINT64, 'GSPrimitives'),
+ (UINT64, 'CInvocations'),
+ (UINT64, 'CPrimitives'),
+ (UINT64, 'PSInvocations'),
+ (UINT64, 'HSInvocations'),
+ (UINT64, 'DSInvocations'),
+ (UINT64, 'CSInvocations'),
+])
+
+D3D11_QUERY_DATA_SO_STATISTICS = Struct('D3D11_QUERY_DATA_SO_STATISTICS', [
+ (UINT64, 'NumPrimitivesWritten'),
+ (UINT64, 'PrimitivesStorageNeeded'),
+])
+
+D3D11_COUNTER = Enum('D3D11_COUNTER', [
+ 'D3D11_COUNTER_DEVICE_DEPENDENT_0',
+])
+
+D3D11_COUNTER_TYPE = Enum('D3D11_COUNTER_TYPE', [
+ 'D3D11_COUNTER_TYPE_FLOAT32',
+ 'D3D11_COUNTER_TYPE_UINT16',
+ 'D3D11_COUNTER_TYPE_UINT32',
+ 'D3D11_COUNTER_TYPE_UINT64',
+])
+
+D3D11_COUNTER_DESC = Struct('D3D11_COUNTER_DESC', [
+ (D3D11_COUNTER, 'Counter'),
+ (UINT, 'MiscFlags'),
+])
+
+D3D11_COUNTER_INFO = Struct('D3D11_COUNTER_INFO', [
+ (D3D11_COUNTER, 'LastDeviceDependentCounter'),
+ (UINT, 'NumSimultaneousCounters'),
+ (UINT8, 'NumDetectableParallelUnits'),
+])
+
+ID3D11Counter.methods += [
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_COUNTER_DESC), 'pDesc')]),
+]
+
+D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS = Enum('D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS', [
+ 'D3D11_STANDARD_MULTISAMPLE_PATTERN',
+ 'D3D11_CENTER_MULTISAMPLE_PATTERN',
+])
+
+D3D11_DEVICE_CONTEXT_TYPE = Enum('D3D11_DEVICE_CONTEXT_TYPE', [
+ 'D3D11_DEVICE_CONTEXT_IMMEDIATE',
+ 'D3D11_DEVICE_CONTEXT_DEFERRED',
+])
+
+D3D11_CLASS_INSTANCE_DESC = Struct('D3D11_CLASS_INSTANCE_DESC', [
+ (UINT, 'InstanceId'),
+ (UINT, 'InstanceIndex'),
+ (UINT, 'TypeId'),
+ (UINT, 'ConstantBuffer'),
+ (UINT, 'BaseConstantBufferOffset'),
+ (UINT, 'BaseTexture'),
+ (UINT, 'BaseSampler'),
+ (BOOL, 'Created'),
+])
+
+
+ID3D11ClassInstance.methods += [
+ StdMethod(Void, 'GetClassLinkage', [Out(Pointer(Pointer(ID3D11ClassLinkage)), 'ppLinkage')]),
+ StdMethod(Void, 'GetDesc', [Out(Pointer(D3D11_CLASS_INSTANCE_DESC), 'pDesc')]),
+ StdMethod(Void, 'GetInstanceName', [Out(LPSTR, 'pInstanceName'), Out(Pointer(SIZE_T), 'pBufferLength')]),
+ StdMethod(Void, 'GetTypeName', [Out(LPSTR, 'pTypeName'), Out(Pointer(SIZE_T), 'pBufferLength')]),
+]
+
+ID3D11ClassLinkage.methods += [
+ StdMethod(HRESULT, 'GetClassInstance', [(LPCSTR, 'pClassInstanceName'), (UINT, 'InstanceIndex'), Out(Pointer(Pointer(ID3D11ClassInstance)), 'ppInstance')]),
+ StdMethod(HRESULT, 'CreateClassInstance', [(LPCSTR, 'pClassTypeName'), (UINT, 'ConstantBufferOffset'), (UINT, 'ConstantVectorOffset'), (UINT, 'TextureOffset'), (UINT, 'SamplerOffset'), Out(Pointer(Pointer(ID3D11ClassInstance)), 'ppInstance')]),
+]
+
+ID3D11CommandList.methods += [
+ StdMethod(UINT, 'GetContextFlags', []),
+]
+
+D3D11_FEATURE = Enum('D3D11_FEATURE', [
+ 'D3D11_FEATURE_THREADING',
+ 'D3D11_FEATURE_DOUBLES',
+ 'D3D11_FEATURE_FORMAT_SUPPORT',
+ 'D3D11_FEATURE_FORMAT_SUPPORT2',
+ 'D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS',
+])
+
+D3D11_FEATURE_DATA_THREADING = Struct('D3D11_FEATURE_DATA_THREADING', [
+ (BOOL, 'DriverConcurrentCreates'),
+ (BOOL, 'DriverCommandLists'),
+])
+
+D3D11_FEATURE_DATA_DOUBLES = Struct('D3D11_FEATURE_DATA_DOUBLES', [
+ (BOOL, 'DoublePrecisionFloatShaderOps'),
+])
+
+D3D11_FEATURE_DATA_FORMAT_SUPPORT = Struct('D3D11_FEATURE_DATA_FORMAT_SUPPORT', [
+ (DXGI_FORMAT, 'InFormat'),
+ (UINT, 'OutFormatSupport'),
+])
+
+D3D11_FEATURE_DATA_FORMAT_SUPPORT2 = Struct('D3D11_FEATURE_DATA_FORMAT_SUPPORT2', [
+ (DXGI_FORMAT, 'InFormat'),
+ (UINT, 'OutFormatSupport2'),
+])
+
+D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS = Struct('D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS', [
+ (BOOL, 'ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x'),
+])
+
+ID3D11DeviceContext.methods += [
+ StdMethod(Void, 'VSSetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), (Pointer(Const(Pointer(ID3D11Buffer))), 'ppConstantBuffers')]),
+ StdMethod(Void, 'PSSetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), (Pointer(Const(Pointer(ID3D11ShaderResourceView))), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'PSSetShader', [(Pointer(ID3D11PixelShader), 'pPixelShader'), (Pointer(Const(Pointer(ID3D11ClassInstance))), 'ppClassInstances'), (UINT, 'NumClassInstances')]),
+ StdMethod(Void, 'PSSetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), (Pointer(Const(Pointer(ID3D11SamplerState))), 'ppSamplers')]),
+ StdMethod(Void, 'VSSetShader', [(Pointer(ID3D11VertexShader), 'pVertexShader'), (Pointer(Const(Pointer(ID3D11ClassInstance))), 'ppClassInstances'), (UINT, 'NumClassInstances')]),
+ StdMethod(Void, 'DrawIndexed', [(UINT, 'IndexCount'), (UINT, 'StartIndexLocation'), (INT, 'BaseVertexLocation')]),
+ StdMethod(Void, 'Draw', [(UINT, 'VertexCount'), (UINT, 'StartVertexLocation')]),
+ StdMethod(HRESULT, 'Map', [(Pointer(ID3D11Resource), 'pResource'), (UINT, 'Subresource'), (D3D11_MAP, 'MapType'), (D3D11_MAP_FLAG, 'MapFlags'), Out(Pointer(D3D11_MAPPED_SUBRESOURCE), 'pMappedResource')]),
+ StdMethod(Void, 'Unmap', [(Pointer(ID3D11Resource), 'pResource'), (UINT, 'Subresource')]),
+ StdMethod(Void, 'PSSetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), (Pointer(Const(Pointer(ID3D11Buffer))), 'ppConstantBuffers')]),
+ StdMethod(Void, 'IASetInputLayout', [(Pointer(ID3D11InputLayout), 'pInputLayout')]),
+ StdMethod(Void, 'IASetVertexBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), (Pointer(Const(Pointer(ID3D11Buffer))), 'ppVertexBuffers'), (Pointer(Const(UINT)), 'pStrides'), (Pointer(Const(UINT)), 'pOffsets')]),
+ StdMethod(Void, 'IASetIndexBuffer', [(Pointer(ID3D11Buffer), 'pIndexBuffer'), (DXGI_FORMAT, 'Format'), (UINT, 'Offset')]),
+ StdMethod(Void, 'DrawIndexedInstanced', [(UINT, 'IndexCountPerInstance'), (UINT, 'InstanceCount'), (UINT, 'StartIndexLocation'), (INT, 'BaseVertexLocation'), (UINT, 'StartInstanceLocation')]),
+ StdMethod(Void, 'DrawInstanced', [(UINT, 'VertexCountPerInstance'), (UINT, 'InstanceCount'), (UINT, 'StartVertexLocation'), (UINT, 'StartInstanceLocation')]),
+ StdMethod(Void, 'GSSetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), (Pointer(Const(Pointer(ID3D11Buffer))), 'ppConstantBuffers')]),
+ StdMethod(Void, 'GSSetShader', [(Pointer(ID3D11GeometryShader), 'pShader'), (Pointer(Const(Pointer(ID3D11ClassInstance))), 'ppClassInstances'), (UINT, 'NumClassInstances')]),
+ StdMethod(Void, 'IASetPrimitiveTopology', [(D3D11_PRIMITIVE_TOPOLOGY, 'Topology')]),
+ StdMethod(Void, 'VSSetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), (Pointer(Const(Pointer(ID3D11ShaderResourceView))), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'VSSetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), (Pointer(Const(Pointer(ID3D11SamplerState))), 'ppSamplers')]),
+ StdMethod(Void, 'Begin', [(Pointer(ID3D11Asynchronous), 'pAsync')]),
+ StdMethod(Void, 'End', [(Pointer(ID3D11Asynchronous), 'pAsync')]),
+ StdMethod(HRESULT, 'GetData', [(Pointer(ID3D11Asynchronous), 'pAsync'), Out(OpaqueBlob(Void, 'DataSize'), 'pData'), (UINT, 'DataSize'), (D3D11_ASYNC_GETDATA_FLAG, 'GetDataFlags')]),
+ StdMethod(Void, 'SetPredication', [(Pointer(ID3D11Predicate), 'pPredicate'), (BOOL, 'PredicateValue')]),
+ StdMethod(Void, 'GSSetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), (Pointer(Const(Pointer(ID3D11ShaderResourceView))), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'GSSetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), (Pointer(Const(Pointer(ID3D11SamplerState))), 'ppSamplers')]),
+ StdMethod(Void, 'OMSetRenderTargets', [(UINT, 'NumViews'), (Pointer(Const(Pointer(ID3D11RenderTargetView))), 'ppRenderTargetViews'), (Pointer(ID3D11DepthStencilView), 'pDepthStencilView')]),
+ StdMethod(Void, 'OMSetRenderTargetsAndUnorderedAccessViews', [(UINT, 'NumRTVs'), (Pointer(Const(Pointer(ID3D11RenderTargetView))), 'ppRenderTargetViews'), (Pointer(ID3D11DepthStencilView), 'pDepthStencilView'), (UINT, 'UAVStartSlot'), (UINT, 'NumUAVs'), (Pointer(Const(Pointer(ID3D11UnorderedAccessView))), 'ppUnorderedAccessViews'), (Pointer(Const(UINT)), 'pUAVInitialCounts')]),
+ StdMethod(Void, 'OMSetBlendState', [(Pointer(ID3D11BlendState), 'pBlendState'), (Array(Const(FLOAT), 4), 'BlendFactor'), (UINT, 'SampleMask')]),
+ StdMethod(Void, 'OMSetDepthStencilState', [(Pointer(ID3D11DepthStencilState), 'pDepthStencilState'), (UINT, 'StencilRef')]),
+ StdMethod(Void, 'SOSetTargets', [(UINT, 'NumBuffers'), (Pointer(Const(Pointer(ID3D11Buffer))), 'ppSOTargets'), (Pointer(Const(UINT)), 'pOffsets')]),
+ StdMethod(Void, 'DrawAuto', []),
+ StdMethod(Void, 'DrawIndexedInstancedIndirect', [(Pointer(ID3D11Buffer), 'pBufferForArgs'), (UINT, 'AlignedByteOffsetForArgs')]),
+ StdMethod(Void, 'DrawInstancedIndirect', [(Pointer(ID3D11Buffer), 'pBufferForArgs'), (UINT, 'AlignedByteOffsetForArgs')]),
+ StdMethod(Void, 'Dispatch', [(UINT, 'ThreadGroupCountX'), (UINT, 'ThreadGroupCountY'), (UINT, 'ThreadGroupCountZ')]),
+ StdMethod(Void, 'DispatchIndirect', [(Pointer(ID3D11Buffer), 'pBufferForArgs'), (UINT, 'AlignedByteOffsetForArgs')]),
+ StdMethod(Void, 'RSSetState', [(Pointer(ID3D11RasterizerState), 'pRasterizerState')]),
+ StdMethod(Void, 'RSSetViewports', [(UINT, 'NumViewports'), (Pointer(Const(D3D11_VIEWPORT)), 'pViewports')]),
+ StdMethod(Void, 'RSSetScissorRects', [(UINT, 'NumRects'), (Pointer(Const(D3D11_RECT)), 'pRects')]),
+ StdMethod(Void, 'CopySubresourceRegion', [(Pointer(ID3D11Resource), 'pDstResource'), (UINT, 'DstSubresource'), (UINT, 'DstX'), (UINT, 'DstY'), (UINT, 'DstZ'), (Pointer(ID3D11Resource), 'pSrcResource'), (UINT, 'SrcSubresource'), (Pointer(Const(D3D11_BOX)), 'pSrcBox')]),
+ StdMethod(Void, 'CopyResource', [(Pointer(ID3D11Resource), 'pDstResource'), (Pointer(ID3D11Resource), 'pSrcResource')]),
+ StdMethod(Void, 'UpdateSubresource', [(Pointer(ID3D11Resource), 'pDstResource'), (UINT, 'DstSubresource'), (Pointer(Const(D3D11_BOX)), 'pDstBox'), (OpaquePointer(Const(Void)), 'pSrcData'), (UINT, 'SrcRowPitch'), (UINT, 'SrcDepthPitch')]),
+ StdMethod(Void, 'CopyStructureCount', [(Pointer(ID3D11Buffer), 'pDstBuffer'), (UINT, 'DstAlignedByteOffset'), (Pointer(ID3D11UnorderedAccessView), 'pSrcView')]),
+ StdMethod(Void, 'ClearRenderTargetView', [(Pointer(ID3D11RenderTargetView), 'pRenderTargetView'), (Array(Const(FLOAT), 4), 'ColorRGBA')]),
+ StdMethod(Void, 'ClearUnorderedAccessViewUint', [(Pointer(ID3D11UnorderedAccessView), 'pUnorderedAccessView'), (Array(Const(UINT), 4), 'Values')]),
+ StdMethod(Void, 'ClearUnorderedAccessViewFloat', [(Pointer(ID3D11UnorderedAccessView), 'pUnorderedAccessView'), (Array(Const(FLOAT), 4), 'Values')]),
+ StdMethod(Void, 'ClearDepthStencilView', [(Pointer(ID3D11DepthStencilView), 'pDepthStencilView'), (D3D11_CLEAR_FLAG, 'ClearFlags'), (FLOAT, 'Depth'), (UINT8, 'Stencil')]),
+ StdMethod(Void, 'GenerateMips', [(Pointer(ID3D11ShaderResourceView), 'pShaderResourceView')]),
+ StdMethod(Void, 'SetResourceMinLOD', [(Pointer(ID3D11Resource), 'pResource'), (FLOAT, 'MinLOD')]),
+ StdMethod(FLOAT, 'GetResourceMinLOD', [(Pointer(ID3D11Resource), 'pResource')]),
+ StdMethod(Void, 'ResolveSubresource', [(Pointer(ID3D11Resource), 'pDstResource'), (UINT, 'DstSubresource'), (Pointer(ID3D11Resource), 'pSrcResource'), (UINT, 'SrcSubresource'), (DXGI_FORMAT, 'Format')]),
+ StdMethod(Void, 'ExecuteCommandList', [(Pointer(ID3D11CommandList), 'pCommandList'), (BOOL, 'RestoreContextState')]),
+ StdMethod(Void, 'HSSetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), (Pointer(Const(Pointer(ID3D11ShaderResourceView))), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'HSSetShader', [(Pointer(ID3D11HullShader), 'pHullShader'), (Pointer(Const(Pointer(ID3D11ClassInstance))), 'ppClassInstances'), (UINT, 'NumClassInstances')]),
+ StdMethod(Void, 'HSSetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), (Pointer(Const(Pointer(ID3D11SamplerState))), 'ppSamplers')]),
+ StdMethod(Void, 'HSSetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), (Pointer(Const(Pointer(ID3D11Buffer))), 'ppConstantBuffers')]),
+ StdMethod(Void, 'DSSetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), (Pointer(Const(Pointer(ID3D11ShaderResourceView))), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'DSSetShader', [(Pointer(ID3D11DomainShader), 'pDomainShader'), (Pointer(Const(Pointer(ID3D11ClassInstance))), 'ppClassInstances'), (UINT, 'NumClassInstances')]),
+ StdMethod(Void, 'DSSetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), (Pointer(Const(Pointer(ID3D11SamplerState))), 'ppSamplers')]),
+ StdMethod(Void, 'DSSetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), (Pointer(Const(Pointer(ID3D11Buffer))), 'ppConstantBuffers')]),
+ StdMethod(Void, 'CSSetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), (Pointer(Const(Pointer(ID3D11ShaderResourceView))), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'CSSetUnorderedAccessViews', [(UINT, 'StartSlot'), (UINT, 'NumUAVs'), (Pointer(Const(Pointer(ID3D11UnorderedAccessView))), 'ppUnorderedAccessViews'), (Pointer(Const(UINT)), 'pUAVInitialCounts')]),
+ StdMethod(Void, 'CSSetShader', [(Pointer(ID3D11ComputeShader), 'pComputeShader'), (Pointer(Const(Pointer(ID3D11ClassInstance))), 'ppClassInstances'), (UINT, 'NumClassInstances')]),
+ StdMethod(Void, 'CSSetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), (Pointer(Const(Pointer(ID3D11SamplerState))), 'ppSamplers')]),
+ StdMethod(Void, 'CSSetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), (Pointer(Const(Pointer(ID3D11Buffer))), 'ppConstantBuffers')]),
+ StdMethod(Void, 'VSGetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppConstantBuffers')]),
+ StdMethod(Void, 'PSGetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), Out(Pointer(Pointer(ID3D11ShaderResourceView)), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'PSGetShader', [Out(Pointer(Pointer(ID3D11PixelShader)), 'ppPixelShader'), Out(Pointer(Pointer(ID3D11ClassInstance)), 'ppClassInstances'), Out(Pointer(UINT), 'pNumClassInstances')]),
+ StdMethod(Void, 'PSGetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), Out(Pointer(Pointer(ID3D11SamplerState)), 'ppSamplers')]),
+ StdMethod(Void, 'VSGetShader', [Out(Pointer(Pointer(ID3D11VertexShader)), 'ppVertexShader'), Out(Pointer(Pointer(ID3D11ClassInstance)), 'ppClassInstances'), Out(Pointer(UINT), 'pNumClassInstances')]),
+ StdMethod(Void, 'PSGetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppConstantBuffers')]),
+ StdMethod(Void, 'IAGetInputLayout', [Out(Pointer(Pointer(ID3D11InputLayout)), 'ppInputLayout')]),
+ StdMethod(Void, 'IAGetVertexBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppVertexBuffers'), Out(Pointer(UINT), 'pStrides'), Out(Pointer(UINT), 'pOffsets')]),
+ StdMethod(Void, 'IAGetIndexBuffer', [Out(Pointer(Pointer(ID3D11Buffer)), 'pIndexBuffer'), Out(Pointer(DXGI_FORMAT), 'Format'), Out(Pointer(UINT), 'Offset')]),
+ StdMethod(Void, 'GSGetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppConstantBuffers')]),
+ StdMethod(Void, 'GSGetShader', [Out(Pointer(Pointer(ID3D11GeometryShader)), 'ppGeometryShader'), Out(Pointer(Pointer(ID3D11ClassInstance)), 'ppClassInstances'), Out(Pointer(UINT), 'pNumClassInstances')]),
+ StdMethod(Void, 'IAGetPrimitiveTopology', [Out(Pointer(D3D11_PRIMITIVE_TOPOLOGY), 'pTopology')]),
+ StdMethod(Void, 'VSGetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), Out(Pointer(Pointer(ID3D11ShaderResourceView)), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'VSGetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), Out(Pointer(Pointer(ID3D11SamplerState)), 'ppSamplers')]),
+ StdMethod(Void, 'GetPredication', [Out(Pointer(Pointer(ID3D11Predicate)), 'ppPredicate'), Out(Pointer(BOOL), 'pPredicateValue')]),
+ StdMethod(Void, 'GSGetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), Out(Pointer(Pointer(ID3D11ShaderResourceView)), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'GSGetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), Out(Pointer(Pointer(ID3D11SamplerState)), 'ppSamplers')]),
+ StdMethod(Void, 'OMGetRenderTargets', [(UINT, 'NumViews'), Out(Pointer(Pointer(ID3D11RenderTargetView)), 'ppRenderTargetViews'), Out(Pointer(Pointer(ID3D11DepthStencilView)), 'ppDepthStencilView')]),
+ StdMethod(Void, 'OMGetRenderTargetsAndUnorderedAccessViews', [(UINT, 'NumRTVs'), Out(Pointer(Pointer(ID3D11RenderTargetView)), 'ppRenderTargetViews'), Out(Pointer(Pointer(ID3D11DepthStencilView)), 'ppDepthStencilView'), (UINT, 'UAVStartSlot'), (UINT, 'NumUAVs'), Out(Pointer(Pointer(ID3D11UnorderedAccessView)), 'ppUnorderedAccessViews')]),
+ StdMethod(Void, 'OMGetBlendState', [Out(Pointer(Pointer(ID3D11BlendState)), 'ppBlendState'), Out(Array(FLOAT, 4), 'BlendFactor'), Out(Pointer(UINT), 'pSampleMask')]),
+ StdMethod(Void, 'OMGetDepthStencilState', [Out(Pointer(Pointer(ID3D11DepthStencilState)), 'ppDepthStencilState'), Out(Pointer(UINT), 'pStencilRef')]),
+ StdMethod(Void, 'SOGetTargets', [(UINT, 'NumBuffers'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppSOTargets')]),
+ StdMethod(Void, 'RSGetState', [Out(Pointer(Pointer(ID3D11RasterizerState)), 'ppRasterizerState')]),
+ StdMethod(Void, 'RSGetViewports', [Out(Pointer(UINT), 'pNumViewports'), Out(Pointer(D3D11_VIEWPORT), 'pViewports')]),
+ StdMethod(Void, 'RSGetScissorRects', [Out(Pointer(UINT), 'pNumRects'), Out(Pointer(D3D11_RECT), 'pRects')]),
+ StdMethod(Void, 'HSGetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), Out(Pointer(Pointer(ID3D11ShaderResourceView)), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'HSGetShader', [Out(Pointer(Pointer(ID3D11HullShader)), 'ppHullShader'), Out(Pointer(Pointer(ID3D11ClassInstance)), 'ppClassInstances'), Out(Pointer(UINT), 'pNumClassInstances')]),
+ StdMethod(Void, 'HSGetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), Out(Pointer(Pointer(ID3D11SamplerState)), 'ppSamplers')]),
+ StdMethod(Void, 'HSGetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppConstantBuffers')]),
+ StdMethod(Void, 'DSGetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), Out(Pointer(Pointer(ID3D11ShaderResourceView)), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'DSGetShader', [Out(Pointer(Pointer(ID3D11DomainShader)), 'ppDomainShader'), Out(Pointer(Pointer(ID3D11ClassInstance)), 'ppClassInstances'), Out(Pointer(UINT), 'pNumClassInstances')]),
+ StdMethod(Void, 'DSGetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), Out(Pointer(Pointer(ID3D11SamplerState)), 'ppSamplers')]),
+ StdMethod(Void, 'DSGetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppConstantBuffers')]),
+ StdMethod(Void, 'CSGetShaderResources', [(UINT, 'StartSlot'), (UINT, 'NumViews'), Out(Pointer(Pointer(ID3D11ShaderResourceView)), 'ppShaderResourceViews')]),
+ StdMethod(Void, 'CSGetUnorderedAccessViews', [(UINT, 'StartSlot'), (UINT, 'NumUAVs'), Out(Pointer(Pointer(ID3D11UnorderedAccessView)), 'ppUnorderedAccessViews')]),
+ StdMethod(Void, 'CSGetShader', [Out(Pointer(Pointer(ID3D11ComputeShader)), 'ppComputeShader'), Out(Pointer(Pointer(ID3D11ClassInstance)), 'ppClassInstances'), Out(Pointer(UINT), 'pNumClassInstances')]),
+ StdMethod(Void, 'CSGetSamplers', [(UINT, 'StartSlot'), (UINT, 'NumSamplers'), Out(Pointer(Pointer(ID3D11SamplerState)), 'ppSamplers')]),
+ StdMethod(Void, 'CSGetConstantBuffers', [(UINT, 'StartSlot'), (UINT, 'NumBuffers'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppConstantBuffers')]),
+ StdMethod(Void, 'ClearState', []),
+ StdMethod(Void, 'Flush', []),
+ StdMethod(D3D11_DEVICE_CONTEXT_TYPE, 'GetType', []),
+ StdMethod(UINT, 'GetContextFlags', []),
+ StdMethod(HRESULT, 'FinishCommandList', [(BOOL, 'RestoreDeferredContextState'), Out(Pointer(Pointer(ID3D11CommandList)), 'ppCommandList')]),
+]
+
+D3D11_CREATE_DEVICE_FLAG = Flags(UINT, [
+ 'D3D11_CREATE_DEVICE_SINGLETHREADED',
+ 'D3D11_CREATE_DEVICE_DEBUG',
+ 'D3D11_CREATE_DEVICE_SWITCH_TO_REF',
+ 'D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS',
+ 'D3D11_CREATE_DEVICE_BGRA_SUPPORT',
+])
+
+ID3D11Device.methods += [
+ StdMethod(HRESULT, 'CreateBuffer', [(Pointer(Const(D3D11_BUFFER_DESC)), 'pDesc'), (Pointer(Const(D3D11_SUBRESOURCE_DATA)), 'pInitialData'), Out(Pointer(Pointer(ID3D11Buffer)), 'ppBuffer')]),
+ StdMethod(HRESULT, 'CreateTexture1D', [(Pointer(Const(D3D11_TEXTURE1D_DESC)), 'pDesc'), (Pointer(Const(D3D11_SUBRESOURCE_DATA)), 'pInitialData'), Out(Pointer(Pointer(ID3D11Texture1D)), 'ppTexture1D')]),
+ StdMethod(HRESULT, 'CreateTexture2D', [(Pointer(Const(D3D11_TEXTURE2D_DESC)), 'pDesc'), (Pointer(Const(D3D11_SUBRESOURCE_DATA)), 'pInitialData'), Out(Pointer(Pointer(ID3D11Texture2D)), 'ppTexture2D')]),
+ StdMethod(HRESULT, 'CreateTexture3D', [(Pointer(Const(D3D11_TEXTURE3D_DESC)), 'pDesc'), (Pointer(Const(D3D11_SUBRESOURCE_DATA)), 'pInitialData'), Out(Pointer(Pointer(ID3D11Texture3D)), 'ppTexture3D')]),
+ StdMethod(HRESULT, 'CreateShaderResourceView', [(Pointer(ID3D11Resource), 'pResource'), (Pointer(Const(D3D11_SHADER_RESOURCE_VIEW_DESC)), 'pDesc'), Out(Pointer(Pointer(ID3D11ShaderResourceView)), 'ppSRView')]),
+ StdMethod(HRESULT, 'CreateUnorderedAccessView', [(Pointer(ID3D11Resource), 'pResource'), (Pointer(Const(D3D11_UNORDERED_ACCESS_VIEW_DESC)), 'pDesc'), Out(Pointer(Pointer(ID3D11UnorderedAccessView)), 'ppUAView')]),
+ StdMethod(HRESULT, 'CreateRenderTargetView', [(Pointer(ID3D11Resource), 'pResource'), (Pointer(Const(D3D11_RENDER_TARGET_VIEW_DESC)), 'pDesc'), Out(Pointer(Pointer(ID3D11RenderTargetView)), 'ppRTView')]),
+ StdMethod(HRESULT, 'CreateDepthStencilView', [(Pointer(ID3D11Resource), 'pResource'), (Pointer(Const(D3D11_DEPTH_STENCIL_VIEW_DESC)), 'pDesc'), Out(Pointer(Pointer(ID3D11DepthStencilView)), 'ppDepthStencilView')]),
+ StdMethod(HRESULT, 'CreateInputLayout', [(Pointer(Const(D3D11_INPUT_ELEMENT_DESC)), 'pInputElementDescs'), (UINT, 'NumElements'), (Blob(Const(Void), 'BytecodeLength'), 'pShaderBytecodeWithInputSignature'), (SIZE_T, 'BytecodeLength'), Out(Pointer(Pointer(ID3D11InputLayout)), 'ppInputLayout')]),
+ StdMethod(HRESULT, 'CreateVertexShader', [(Blob(Const(Void), 'BytecodeLength'), 'pShaderBytecode'), (SIZE_T, 'BytecodeLength'), (Pointer(ID3D11ClassLinkage), 'pClassLinkage'), Out(Pointer(Pointer(ID3D11VertexShader)), 'ppVertexShader')]),
+ StdMethod(HRESULT, 'CreateGeometryShader', [(Blob(Const(Void), 'BytecodeLength'), 'pShaderBytecode'), (SIZE_T, 'BytecodeLength'), (Pointer(ID3D11ClassLinkage), 'pClassLinkage'), Out(Pointer(Pointer(ID3D11GeometryShader)), 'ppGeometryShader')]),
+ StdMethod(HRESULT, 'CreateGeometryShaderWithStreamOutput', [(Blob(Const(Void), 'BytecodeLength'), 'pShaderBytecode'), (SIZE_T, 'BytecodeLength'), (Pointer(Const(D3D11_SO_DECLARATION_ENTRY)), 'pSODeclaration'), (UINT, 'NumEntries'), (Pointer(Const(UINT)), 'pBufferStrides'), (UINT, 'NumStrides'), (UINT, 'RasterizedStream'), (Pointer(ID3D11ClassLinkage), 'pClassLinkage'), Out(Pointer(Pointer(ID3D11GeometryShader)), 'ppGeometryShader')]),
+ StdMethod(HRESULT, 'CreatePixelShader', [(Blob(Const(Void), 'BytecodeLength'), 'pShaderBytecode'), (SIZE_T, 'BytecodeLength'), (Pointer(ID3D11ClassLinkage), 'pClassLinkage'), Out(Pointer(Pointer(ID3D11PixelShader)), 'ppPixelShader')]),
+ StdMethod(HRESULT, 'CreateHullShader', [(Blob(Const(Void), 'BytecodeLength'), 'pShaderBytecode'), (SIZE_T, 'BytecodeLength'), (Pointer(ID3D11ClassLinkage), 'pClassLinkage'), Out(Pointer(Pointer(ID3D11HullShader)), 'ppHullShader')]),
+ StdMethod(HRESULT, 'CreateDomainShader', [(Blob(Const(Void), 'BytecodeLength'), 'pShaderBytecode'), (SIZE_T, 'BytecodeLength'), (Pointer(ID3D11ClassLinkage), 'pClassLinkage'), Out(Pointer(Pointer(ID3D11DomainShader)), 'ppDomainShader')]),
+ StdMethod(HRESULT, 'CreateComputeShader', [(Blob(Const(Void), 'BytecodeLength'), 'pShaderBytecode'), (SIZE_T, 'BytecodeLength'), (Pointer(ID3D11ClassLinkage), 'pClassLinkage'), Out(Pointer(Pointer(ID3D11ComputeShader)), 'ppComputeShader')]),
+ StdMethod(HRESULT, 'CreateClassLinkage', [Out(Pointer(Pointer(ID3D11ClassLinkage)), 'ppLinkage')]),
+ StdMethod(HRESULT, 'CreateBlendState', [(Pointer(Const(D3D11_BLEND_DESC)), 'pBlendStateDesc'), Out(Pointer(Pointer(ID3D11BlendState)), 'ppBlendState')]),
+ StdMethod(HRESULT, 'CreateDepthStencilState', [(Pointer(Const(D3D11_DEPTH_STENCIL_DESC)), 'pDepthStencilDesc'), Out(Pointer(Pointer(ID3D11DepthStencilState)), 'ppDepthStencilState')]),
+ StdMethod(HRESULT, 'CreateRasterizerState', [(Pointer(Const(D3D11_RASTERIZER_DESC)), 'pRasterizerDesc'), Out(Pointer(Pointer(ID3D11RasterizerState)), 'ppRasterizerState')]),
+ StdMethod(HRESULT, 'CreateSamplerState', [(Pointer(Const(D3D11_SAMPLER_DESC)), 'pSamplerDesc'), Out(Pointer(Pointer(ID3D11SamplerState)), 'ppSamplerState')]),
+ StdMethod(HRESULT, 'CreateQuery', [(Pointer(Const(D3D11_QUERY_DESC)), 'pQueryDesc'), Out(Pointer(Pointer(ID3D11Query)), 'ppQuery')]),
+ StdMethod(HRESULT, 'CreatePredicate', [(Pointer(Const(D3D11_QUERY_DESC)), 'pPredicateDesc'), Out(Pointer(Pointer(ID3D11Predicate)), 'ppPredicate')]),
+ StdMethod(HRESULT, 'CreateCounter', [(Pointer(Const(D3D11_COUNTER_DESC)), 'pCounterDesc'), Out(Pointer(Pointer(ID3D11Counter)), 'ppCounter')]),
+ StdMethod(HRESULT, 'CreateDeferredContext', [(UINT, 'ContextFlags'), Out(Pointer(Pointer(ID3D11DeviceContext)), 'ppDeferredContext')]),
+ StdMethod(HRESULT, 'OpenSharedResource', [(HANDLE, 'hResource'), (REFIID, 'ReturnedInterface'), Out(Pointer(OpaquePointer(Void)), 'ppResource')]),
+ StdMethod(HRESULT, 'CheckFormatSupport', [(DXGI_FORMAT, 'Format'), Out(Pointer(UINT), 'pFormatSupport')]),
+ StdMethod(HRESULT, 'CheckMultisampleQualityLevels', [(DXGI_FORMAT, 'Format'), (UINT, 'SampleCount'), Out(Pointer(UINT), 'pNumQualityLevels')]),
+ StdMethod(Void, 'CheckCounterInfo', [Out(Pointer(D3D11_COUNTER_INFO), 'pCounterInfo')]),
+ StdMethod(HRESULT, 'CheckCounter', [(Pointer(Const(D3D11_COUNTER_DESC)), 'pDesc'), Out(Pointer(D3D11_COUNTER_TYPE), 'pType'), Out(Pointer(UINT), 'pActiveCounters'), Out(LPSTR, 'szName'), Out(Pointer(UINT), 'pNameLength'), Out(LPSTR, 'szUnits'), Out(Pointer(UINT), 'pUnitsLength'), Out(LPSTR, 'szDescription'), Out(Pointer(UINT), 'pDescriptionLength')]),
+ StdMethod(HRESULT, 'CheckFeatureSupport', [(D3D11_FEATURE, 'Feature'), Out(OpaqueBlob(Void, 'FeatureSupportDataSize'), 'pFeatureSupportData'), (UINT, 'FeatureSupportDataSize')]),
+ StdMethod(HRESULT, 'GetPrivateData', [(REFGUID, 'guid'), Out(Pointer(UINT), 'pDataSize'), Out(OpaquePointer(Void), 'pData')]),
+ StdMethod(HRESULT, 'SetPrivateData', [(REFGUID, 'guid'), (UINT, 'DataSize'), (OpaqueBlob(Const(Void), 'DataSize'), 'pData')]),
+ StdMethod(HRESULT, 'SetPrivateDataInterface', [(REFGUID, 'guid'), (Pointer(Const(IUnknown)), 'pData')]),
+ StdMethod(D3D_FEATURE_LEVEL, 'GetFeatureLevel', []),
+ StdMethod(D3D11_CREATE_DEVICE_FLAG, 'GetCreationFlags', []),
+ StdMethod(HRESULT, 'GetDeviceRemovedReason', []),
+ StdMethod(Void, 'GetImmediateContext', [Out(Pointer(Pointer(ID3D11DeviceContext)), 'ppImmediateContext')]),
+ StdMethod(HRESULT, 'SetExceptionMode', [(D3D11_RAISE_FLAG, 'RaiseFlags')]),
+ StdMethod(UINT, 'GetExceptionMode', []),
+]
+
+d3d11 = API("d3d11")
+
+d3d11.addFunctions([
+ StdFunction(HRESULT, 'D3D11CreateDevice', [(Pointer(IDXGIAdapter), 'pAdapter'), (D3D_DRIVER_TYPE, 'DriverType'), (HMODULE, 'Software'), (D3D11_CREATE_DEVICE_FLAG, 'Flags'), (Pointer(Const(D3D_FEATURE_LEVEL)), 'pFeatureLevels'), (UINT, 'FeatureLevels'), (UINT, 'SDKVersion'), Out(Pointer(Pointer(ID3D11Device)), 'ppDevice'), Out(Pointer(D3D_FEATURE_LEVEL), 'pFeatureLevel'), Out(Pointer(Pointer(ID3D11DeviceContext)), 'ppImmediateContext')]),
+ StdFunction(HRESULT, 'D3D11CreateDeviceAndSwapChain', [(Pointer(IDXGIAdapter), 'pAdapter'), (D3D_DRIVER_TYPE, 'DriverType'), (HMODULE, 'Software'), (D3D11_CREATE_DEVICE_FLAG, 'Flags'), (Pointer(Const(D3D_FEATURE_LEVEL)), 'pFeatureLevels'), (UINT, 'FeatureLevels'), (UINT, 'SDKVersion'), (Pointer(Const(DXGI_SWAP_CHAIN_DESC)), 'pSwapChainDesc'), Out(Pointer(Pointer(IDXGISwapChain)), 'ppSwapChain'), Out(Pointer(Pointer(ID3D11Device)), 'ppDevice'), Out(Pointer(D3D_FEATURE_LEVEL), 'pFeatureLevel'), Out(Pointer(Pointer(ID3D11DeviceContext)), 'ppImmediateContext')]),
+])
+
+d3d11.addInterfaces([
+ IDXGIDevice,
+ ID3D11Debug,
+])
diff --git a/specs/d3d11sdklayers.py b/specs/d3d11sdklayers.py
new file mode 100644
index 00000000..c42e6e0c
--- /dev/null
+++ b/specs/d3d11sdklayers.py
@@ -0,0 +1,890 @@
+##########################################################################
+#
+# Copyright 2012 Jose Fonseca
+# All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+##########################################################################/
+
+
+from dxgi import *
+
+
+ID3D11DeviceChild = Interface('ID3D11DeviceChild', IUnknown)
+ID3D11DeviceContext = Interface('ID3D11DeviceContext', ID3D11DeviceChild)
+
+
+D3D11_DEBUG_FEATURE = Flags(UINT, [
+ 'D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP',
+ 'D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP',
+ 'D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP',
+])
+
+D3D11_RLDO_FLAGS = Enum('D3D11_RLDO_FLAGS', [
+ 'D3D11_RLDO_SUMMARY',
+ 'D3D11_RLDO_DETAIL',
+])
+
+ID3D11Debug = Interface('ID3D11Debug', IUnknown)
+ID3D11Debug.methods += [
+ StdMethod(HRESULT, 'SetFeatureMask', [(D3D11_DEBUG_FEATURE, 'Mask')]),
+ StdMethod(D3D11_DEBUG_FEATURE, 'GetFeatureMask', []),
+ StdMethod(HRESULT, 'SetPresentPerRenderOpDelay', [(UINT, 'Milliseconds')]),
+ StdMethod(UINT, 'GetPresentPerRenderOpDelay', []),
+ StdMethod(HRESULT, 'SetSwapChain', [(Pointer(IDXGISwapChain), 'pSwapChain')]),
+ StdMethod(HRESULT, 'GetSwapChain', [Out(Pointer(Pointer(IDXGISwapChain)), 'ppSwapChain')]),
+ StdMethod(HRESULT, 'ValidateContext', [(Pointer(ID3D11DeviceContext), 'pContext')]),
+ StdMethod(HRESULT, 'ReportLiveDeviceObjects', [(D3D11_RLDO_FLAGS, 'Flags')]),
+ StdMethod(HRESULT, 'ValidateContextForDispatch', [(Pointer(ID3D11DeviceContext), 'pContext')]),
+]
+
+ID3D11SwitchToRef = Interface('ID3D11SwitchToRef', IUnknown)
+ID3D11SwitchToRef.methods += [
+ StdMethod(BOOL, 'SetUseRef', [(BOOL, 'UseRef')]),
+ StdMethod(BOOL, 'GetUseRef', []),
+]
+
+D3D11_MESSAGE_CATEGORY = Enum('D3D11_MESSAGE_CATEGORY', [
+ 'D3D11_MESSAGE_CATEGORY_APPLICATION_DEFINED',
+ 'D3D11_MESSAGE_CATEGORY_MISCELLANEOUS',
+ 'D3D11_MESSAGE_CATEGORY_INITIALIZATION',
+ 'D3D11_MESSAGE_CATEGORY_CLEANUP',
+ 'D3D11_MESSAGE_CATEGORY_COMPILATION',
+ 'D3D11_MESSAGE_CATEGORY_STATE_CREATION',
+ 'D3D11_MESSAGE_CATEGORY_STATE_SETTING',
+ 'D3D11_MESSAGE_CATEGORY_STATE_GETTING',
+ 'D3D11_MESSAGE_CATEGORY_RESOURCE_MANIPULATION',
+ 'D3D11_MESSAGE_CATEGORY_EXECUTION',
+])
+
+D3D11_MESSAGE_SEVERITY = Enum('D3D11_MESSAGE_SEVERITY', [
+ 'D3D11_MESSAGE_SEVERITY_CORRUPTION',
+ 'D3D11_MESSAGE_SEVERITY_ERROR',
+ 'D3D11_MESSAGE_SEVERITY_WARNING',
+ 'D3D11_MESSAGE_SEVERITY_INFO',
+])
+
+D3D11_MESSAGE_ID = Enum('D3D11_MESSAGE_ID', [
+ 'D3D11_MESSAGE_ID_UNKNOWN',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETS_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_HAZARD',
+ 'D3D11_MESSAGE_ID_STRING_FROM_APPLICATION',
+ 'D3D11_MESSAGE_ID_CORRUPTED_THIS',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER1',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER2',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER3',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER4',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER5',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER6',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER7',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER8',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER9',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER10',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER11',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER12',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER13',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER14',
+ 'D3D11_MESSAGE_ID_CORRUPTED_PARAMETER15',
+ 'D3D11_MESSAGE_ID_CORRUPTED_MULTITHREADING',
+ 'D3D11_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_IASETINPUTLAYOUT_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_IASETINDEXBUFFER_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_VSSETSHADER_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_VSSETSHADERRESOURCES_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_VSSETSAMPLERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_GSSETSHADER_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_GSSETSHADERRESOURCES_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_GSSETSAMPLERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_SOSETTARGETS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_PSSETSHADER_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_PSSETSHADERRESOURCES_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_PSSETSAMPLERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_RSSETSTATE_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_OMSETBLENDSTATE_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_OMSETDEPTHSTENCILSTATE_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_OMSETRENDERTARGETS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_SETPREDICATION_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_GETPRIVATEDATA_MOREDATA',
+ 'D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA',
+ 'D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN',
+ 'D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS',
+ 'D3D11_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSAMPLES',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDUSAGE',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDBINDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDCPUACCESSFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCPUACCESSFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDBINDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDINITIALDATA',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMIPLEVELS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCONSTANTBUFFERBINDINGS',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_LARGEALLOCATION',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_UNSUPPORTEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDSAMPLES',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDUSAGE',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDBINDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDCPUACCESSFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDCPUACCESSFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDBINDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDINITIALDATA',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMIPLEVELS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE1D_LARGEALLOCATION',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_UNSUPPORTEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDSAMPLES',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDUSAGE',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDBINDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDCPUACCESSFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDCPUACCESSFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDBINDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDINITIALDATA',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMIPLEVELS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE2D_LARGEALLOCATION',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_UNSUPPORTEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDSAMPLES',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDUSAGE',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDBINDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDCPUACCESSFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDCPUACCESSFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDBINDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDINITIALDATA',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMIPLEVELS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATETEXTURE3D_LARGEALLOCATION',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE',
+ 'D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE',
+ 'D3D11_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE',
+ 'D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE',
+ 'D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE',
+ 'D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE',
+ 'D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP',
+ 'D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS',
+ 'D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC',
+ 'D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDQUERY',
+ 'D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDMISCFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNEXPECTEDMISCFLAG',
+ 'D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_NULLDESC',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED',
+ 'D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_OFFSET_TOO_LARGE',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_IASETINDEXBUFFER_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_FORMAT_INVALID',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_TOO_LARGE',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_UNALIGNED',
+ 'D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_VSSETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_GSSETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_SOSETTARGETS_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_OFFSET_UNALIGNED',
+ 'D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_PSSETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT',
+ 'D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR',
+ 'D3D11_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH',
+ 'D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH',
+ 'D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID',
+ 'D3D11_MESSAGE_ID_DEVICE_IAGETVERTEXBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_VSGETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_VSGETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_VSGETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_GSGETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_GSGETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_GSGETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_SOGETTARGETS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_PSGETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_PSGETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_PSGETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_RSGETVIEWPORTS_VIEWPORTS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_RSGETSCISSORRECTS_RECTS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_GENERATEMIPS_RESOURCE_INVALID',
+ 'D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESUBRESOURCE',
+ 'D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCEBOX',
+ 'D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCE',
+ 'D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSTATE',
+ 'D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESTATE',
+ 'D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE',
+ 'D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE',
+ 'D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE',
+ 'D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX',
+ 'D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE',
+ 'D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID',
+ 'D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID',
+ 'D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID',
+ 'D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID',
+ 'D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID',
+ 'D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE',
+ 'D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED',
+ 'D3D11_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN',
+ 'D3D11_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED',
+ 'D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE',
+ 'D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED',
+ 'D3D11_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN',
+ 'D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED',
+ 'D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE',
+ 'D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED',
+ 'D3D11_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN',
+ 'D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED',
+ 'D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE',
+ 'D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED',
+ 'D3D11_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN',
+ 'D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED',
+ 'D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED',
+ 'D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED',
+ 'D3D11_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS',
+ 'D3D11_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN',
+ 'D3D11_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE',
+ 'D3D11_MESSAGE_ID_REF_THREADING_MODE',
+ 'D3D11_MESSAGE_ID_REF_UMDRIVER_EXCEPTION',
+ 'D3D11_MESSAGE_ID_REF_KMDRIVER_EXCEPTION',
+ 'D3D11_MESSAGE_ID_REF_HARDWARE_EXCEPTION',
+ 'D3D11_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE',
+ 'D3D11_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER',
+ 'D3D11_MESSAGE_ID_REF_OUT_OF_MEMORY',
+ 'D3D11_MESSAGE_ID_REF_INFO',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_INPUTLAYOUT_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_TOO_SMALL',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_SHADERRESOURCEVIEW_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VIEW_DIMENSION_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_TOO_SMALL',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_FORMAT_INVALID',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_GS_INPUT_PRIMITIVE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_RETURN_TYPE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_POSITION_NOT_PRESENT',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_BOUND_RESOURCE_MAPPED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_PRIMITIVETOPOLOGY',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_OFFSET_UNALIGNED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_STRIDE_UNALIGNED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_OFFSET_UNALIGNED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_SO_STRIDE_LARGER_THAN_BUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0',
+ 'D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT',
+ 'D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT',
+ 'D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT',
+ 'D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC',
+ 'D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH',
+ 'D3D11_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW',
+ 'D3D11_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH',
+ 'D3D11_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY',
+ 'D3D11_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY',
+ 'D3D11_MESSAGE_ID_CREATEQUERY_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEPREDICATE_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFRANGE_COUNTER',
+ 'D3D11_MESSAGE_ID_CREATECOUNTER_SIMULTANEOUS_ACTIVE_COUNTERS_EXHAUSTED',
+ 'D3D11_MESSAGE_ID_CREATECOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER',
+ 'D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATECOUNTER_NONEXCLUSIVE_RETURN',
+ 'D3D11_MESSAGE_ID_CREATECOUNTER_NULLDESC',
+ 'D3D11_MESSAGE_ID_CHECKCOUNTER_OUTOFRANGE_COUNTER',
+ 'D3D11_MESSAGE_ID_CHECKCOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER',
+ 'D3D11_MESSAGE_ID_SETPREDICATION_INVALID_PREDICATE_STATE',
+ 'D3D11_MESSAGE_ID_QUERY_BEGIN_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_PREDICATE_BEGIN_DURING_PREDICATION',
+ 'D3D11_MESSAGE_ID_QUERY_BEGIN_DUPLICATE',
+ 'D3D11_MESSAGE_ID_QUERY_BEGIN_ABANDONING_PREVIOUS_RESULTS',
+ 'D3D11_MESSAGE_ID_PREDICATE_END_DURING_PREDICATION',
+ 'D3D11_MESSAGE_ID_QUERY_END_ABANDONING_PREVIOUS_RESULTS',
+ 'D3D11_MESSAGE_ID_QUERY_END_WITHOUT_BEGIN',
+ 'D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_DATASIZE',
+ 'D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_FLAGS',
+ 'D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_CALL',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH',
+ 'D3D11_MESSAGE_ID_D3D10_MESSAGES_END',
+ 'D3D11_MESSAGE_ID_D3D10L9_MESSAGES_START',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_STENCIL_NO_TWO_SIDED',
+ 'D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthBiasClamp_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_COMPARISON_SUPPORT',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_EXCESSIVE_ANISOTROPY',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_OUT_OF_RANGE',
+ 'D3D11_MESSAGE_ID_VSSETSAMPLERS_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_VSSETSAMPLERS_TOO_MANY_SAMPLERS',
+ 'D3D11_MESSAGE_ID_PSSETSAMPLERS_TOO_MANY_SAMPLERS',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NO_ARRAYS',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NO_VB_AND_IB_BIND',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NO_TEXTURE_1D',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_OUT_OF_RANGE',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_SHADER_RESOURCE',
+ 'D3D11_MESSAGE_ID_OMSETRENDERTARGETS_TOO_MANY_RENDER_TARGETS',
+ 'D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_DIFFERING_BIT_DEPTHS',
+ 'D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_BAD_BUFFER_INDEX',
+ 'D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_TOO_MANY_VIEWPORTS',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_ADJACENCY_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_TOO_MANY_SCISSORS',
+ 'D3D11_MESSAGE_ID_COPYRESOURCE_ONLY_TEXTURE_2D_WITHIN_GPU_MEMORY',
+ 'D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_3D_READBACK',
+ 'D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_ONLY_READBACK',
+ 'D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNSUPPORTED_FORMAT',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_ALPHA_TO_COVERAGE',
+ 'D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthClipEnable_MUST_BE_TRUE',
+ 'D3D11_MESSAGE_ID_DRAWINDEXED_STARTINDEXLOCATION_MUST_BE_POSITIVE',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_MUST_USE_LOWEST_LOD',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MINLOD_MUST_NOT_BE_FRACTIONAL',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MAXLOD_MUST_BE_FLT_MAX',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_FIRSTARRAYSLICE_MUST_BE_ZERO',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_CUBES_MUST_HAVE_6_SIDES',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_RENDER_TARGET',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NO_DWORD_INDEX_BUFFER',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_MSAA_PRECLUDES_SHADER_RESOURCE',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_PRESENTATION_PRECLUDES_SHADER_RESOURCE',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_BLEND_ENABLE',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_WRITE_MASKS',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NO_STREAM_OUT',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_VB_IB_FOR_BUFFERS',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NO_AUTOGEN_FOR_VOLUMES',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_DXGI_FORMAT_R8G8B8A8_CANNOT_BE_SHARED',
+ 'D3D11_MESSAGE_ID_VSSHADERRESOURCES_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_GEOMETRY_SHADER_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_STREAM_OUT_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_TEXT_FILTER_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_SEPARATE_ALPHA_BLEND',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_MRT_BLEND',
+ 'D3D11_MESSAGE_ID_CREATEBLENDSTATE_OPERATION_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_MIRRORONCE',
+ 'D3D11_MESSAGE_ID_DRAWINSTANCED_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_DRAWINDEXEDINSTANCED_NOT_SUPPORTED_BELOW_9_3',
+ 'D3D11_MESSAGE_ID_DRAWINDEXED_POINTLIST_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_SETBLENDSTATE_SAMPLE_MASK_CANNOT_BE_ZERO',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_EXCEEDS_FEATURE_LEVEL_DEFINITION',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_SINGLE_MIP_LEVEL_DEPTH_STENCIL_SUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_NEGATIVESCISSOR',
+ 'D3D11_MESSAGE_ID_SLOT_ZERO_MUST_BE_D3D10_INPUT_PER_VERTEX_DATA',
+ 'D3D11_MESSAGE_ID_CREATERESOURCE_NON_POW_2_MIPMAP',
+ 'D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_SRGB_MRT',
+ 'D3D11_MESSAGE_ID_D3D10L9_MESSAGES_END',
+ 'D3D11_MESSAGE_ID_D3D11_MESSAGES_START',
+ 'D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_COMMANDLISTFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_SINGLETHREADED',
+ 'D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_CALL_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_FINISHDISPLAYLIST_ONIMMEDIATECONTEXT',
+ 'D3D11_MESSAGE_ID_FINISHDISPLAYLIST_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_FINISHDISPLAYLIST_INVALID_CALL_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES',
+ 'D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES',
+ 'D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_HAZARD',
+ 'D3D11_MESSAGE_ID_HSSETSHADERRESOURCES_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL',
+ 'D3D11_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE',
+ 'D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE',
+ 'D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_HSSETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_HSGETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_HSGETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_HSGETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_HAZARD',
+ 'D3D11_MESSAGE_ID_DSSETSHADERRESOURCES_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL',
+ 'D3D11_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE',
+ 'D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE',
+ 'D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_DSSETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_DSGETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_DSGETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_DSGETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEFERRED_CONTEXT_REMOVAL_PROCESS_AT_FAULT',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW',
+ 'D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE',
+ 'D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED',
+ 'D3D11_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN',
+ 'D3D11_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD',
+ 'D3D11_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE',
+ 'D3D11_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS',
+ 'D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH',
+ 'D3D11_MESSAGE_ID_CREATE_CONTEXT',
+ 'D3D11_MESSAGE_ID_LIVE_CONTEXT',
+ 'D3D11_MESSAGE_ID_DESTROY_CONTEXT',
+ 'D3D11_MESSAGE_ID_CREATE_BUFFER',
+ 'D3D11_MESSAGE_ID_LIVE_BUFFER',
+ 'D3D11_MESSAGE_ID_DESTROY_BUFFER',
+ 'D3D11_MESSAGE_ID_CREATE_TEXTURE1D',
+ 'D3D11_MESSAGE_ID_LIVE_TEXTURE1D',
+ 'D3D11_MESSAGE_ID_DESTROY_TEXTURE1D',
+ 'D3D11_MESSAGE_ID_CREATE_TEXTURE2D',
+ 'D3D11_MESSAGE_ID_LIVE_TEXTURE2D',
+ 'D3D11_MESSAGE_ID_DESTROY_TEXTURE2D',
+ 'D3D11_MESSAGE_ID_CREATE_TEXTURE3D',
+ 'D3D11_MESSAGE_ID_LIVE_TEXTURE3D',
+ 'D3D11_MESSAGE_ID_DESTROY_TEXTURE3D',
+ 'D3D11_MESSAGE_ID_CREATE_SHADERRESOURCEVIEW',
+ 'D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW',
+ 'D3D11_MESSAGE_ID_DESTROY_SHADERRESOURCEVIEW',
+ 'D3D11_MESSAGE_ID_CREATE_RENDERTARGETVIEW',
+ 'D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW',
+ 'D3D11_MESSAGE_ID_DESTROY_RENDERTARGETVIEW',
+ 'D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILVIEW',
+ 'D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW',
+ 'D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILVIEW',
+ 'D3D11_MESSAGE_ID_CREATE_VERTEXSHADER',
+ 'D3D11_MESSAGE_ID_LIVE_VERTEXSHADER',
+ 'D3D11_MESSAGE_ID_DESTROY_VERTEXSHADER',
+ 'D3D11_MESSAGE_ID_CREATE_HULLSHADER',
+ 'D3D11_MESSAGE_ID_LIVE_HULLSHADER',
+ 'D3D11_MESSAGE_ID_DESTROY_HULLSHADER',
+ 'D3D11_MESSAGE_ID_CREATE_DOMAINSHADER',
+ 'D3D11_MESSAGE_ID_LIVE_DOMAINSHADER',
+ 'D3D11_MESSAGE_ID_DESTROY_DOMAINSHADER',
+ 'D3D11_MESSAGE_ID_CREATE_GEOMETRYSHADER',
+ 'D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER',
+ 'D3D11_MESSAGE_ID_DESTROY_GEOMETRYSHADER',
+ 'D3D11_MESSAGE_ID_CREATE_PIXELSHADER',
+ 'D3D11_MESSAGE_ID_LIVE_PIXELSHADER',
+ 'D3D11_MESSAGE_ID_DESTROY_PIXELSHADER',
+ 'D3D11_MESSAGE_ID_CREATE_INPUTLAYOUT',
+ 'D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT',
+ 'D3D11_MESSAGE_ID_DESTROY_INPUTLAYOUT',
+ 'D3D11_MESSAGE_ID_CREATE_SAMPLER',
+ 'D3D11_MESSAGE_ID_LIVE_SAMPLER',
+ 'D3D11_MESSAGE_ID_DESTROY_SAMPLER',
+ 'D3D11_MESSAGE_ID_CREATE_BLENDSTATE',
+ 'D3D11_MESSAGE_ID_LIVE_BLENDSTATE',
+ 'D3D11_MESSAGE_ID_DESTROY_BLENDSTATE',
+ 'D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILSTATE',
+ 'D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE',
+ 'D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILSTATE',
+ 'D3D11_MESSAGE_ID_CREATE_RASTERIZERSTATE',
+ 'D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE',
+ 'D3D11_MESSAGE_ID_DESTROY_RASTERIZERSTATE',
+ 'D3D11_MESSAGE_ID_CREATE_QUERY',
+ 'D3D11_MESSAGE_ID_LIVE_QUERY',
+ 'D3D11_MESSAGE_ID_DESTROY_QUERY',
+ 'D3D11_MESSAGE_ID_CREATE_PREDICATE',
+ 'D3D11_MESSAGE_ID_LIVE_PREDICATE',
+ 'D3D11_MESSAGE_ID_DESTROY_PREDICATE',
+ 'D3D11_MESSAGE_ID_CREATE_COUNTER',
+ 'D3D11_MESSAGE_ID_LIVE_COUNTER',
+ 'D3D11_MESSAGE_ID_DESTROY_COUNTER',
+ 'D3D11_MESSAGE_ID_CREATE_COMMANDLIST',
+ 'D3D11_MESSAGE_ID_LIVE_COMMANDLIST',
+ 'D3D11_MESSAGE_ID_DESTROY_COMMANDLIST',
+ 'D3D11_MESSAGE_ID_CREATE_CLASSINSTANCE',
+ 'D3D11_MESSAGE_ID_LIVE_CLASSINSTANCE',
+ 'D3D11_MESSAGE_ID_DESTROY_CLASSINSTANCE',
+ 'D3D11_MESSAGE_ID_CREATE_CLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_LIVE_CLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_DESTROY_CLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_LIVE_DEVICE',
+ 'D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY',
+ 'D3D11_MESSAGE_ID_CREATE_COMPUTESHADER',
+ 'D3D11_MESSAGE_ID_LIVE_COMPUTESHADER',
+ 'D3D11_MESSAGE_ID_DESTROY_COMPUTESHADER',
+ 'D3D11_MESSAGE_ID_CREATE_UNORDEREDACCESSVIEW',
+ 'D3D11_MESSAGE_ID_LIVE_UNORDEREDACCESSVIEW',
+ 'D3D11_MESSAGE_ID_DESTROY_UNORDEREDACCESSVIEW',
+ 'D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACES_FEATURELEVEL',
+ 'D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACE_COUNT_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE',
+ 'D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_INDEX',
+ 'D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_TYPE',
+ 'D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_DATA',
+ 'D3D11_MESSAGE_ID_DEVICE_SETSHADER_UNBOUND_INSTANCE_DATA',
+ 'D3D11_MESSAGE_ID_DEVICE_SETSHADER_INSTANCE_DATA_BINDINGS',
+ 'D3D11_MESSAGE_ID_DEVICE_CREATESHADER_CLASSLINKAGE_FULL',
+ 'D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE',
+ 'D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE',
+ 'D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_HAZARD',
+ 'D3D11_MESSAGE_ID_CSSETSHADERRESOURCES_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL',
+ 'D3D11_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY',
+ 'D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE',
+ 'D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERTYPE',
+ 'D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED',
+ 'D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT',
+ 'D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_HAZARD',
+ 'D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS',
+ 'D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP',
+ 'D3D11_MESSAGE_ID_CSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_PSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_HAZARD',
+ 'D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY',
+ 'D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS',
+ 'D3D11_MESSAGE_ID_CREATESHADERRESESOURCEVIEW_TOOMANYOBJECTS',
+ 'D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER',
+ 'D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED',
+ 'D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW',
+ 'D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDCONTEXT',
+ 'D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDRESOURCE',
+ 'D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDMINLOD',
+ 'D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDCONTEXT',
+ 'D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDRESOURCE',
+ 'D3D11_MESSAGE_ID_OMSETDEPTHSTENCIL_UNBINDDELETINGOBJECT',
+ 'D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY',
+ 'D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY',
+ 'D3D11_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET',
+ 'D3D11_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED',
+ 'D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW',
+ 'D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH',
+ 'D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET',
+ 'D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET',
+ 'D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE',
+ 'D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE',
+ 'D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDVIEW',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDOFFSET',
+ 'D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_TOOMANYVIEWS',
+ 'D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT',
+ 'D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED',
+ 'D3D11_MESSAGE_ID_REF_WARNING',
+ 'D3D11_MESSAGE_ID_D3D11_MESSAGES_END',
+])
+
+D3D11_MESSAGE = Struct('D3D11_MESSAGE', [
+ (D3D11_MESSAGE_CATEGORY, 'Category'),
+ (D3D11_MESSAGE_SEVERITY, 'Severity'),
+ (D3D11_MESSAGE_ID, 'ID'),
+ (Pointer(Const(Int)), 'pDescription'),
+ (SIZE_T, 'DescriptionByteLength'),
+])
+
+D3D11_INFO_QUEUE_FILTER_DESC = Struct('D3D11_INFO_QUEUE_FILTER_DESC', [
+ (UINT, 'NumCategories'),
+ (Pointer(D3D11_MESSAGE_CATEGORY), 'pCategoryList'),
+ (UINT, 'NumSeverities'),
+ (Pointer(D3D11_MESSAGE_SEVERITY), 'pSeverityList'),
+ (UINT, 'NumIDs'),
+ (Pointer(D3D11_MESSAGE_ID), 'pIDList'),
+])
+
+D3D11_INFO_QUEUE_FILTER = Struct('D3D11_INFO_QUEUE_FILTER', [
+ (D3D11_INFO_QUEUE_FILTER_DESC, 'AllowList'),
+ (D3D11_INFO_QUEUE_FILTER_DESC, 'DenyList'),
+])
+
+ID3D11InfoQueue = Interface('ID3D11InfoQueue', IUnknown)
+ID3D11InfoQueue.methods += [
+ StdMethod(HRESULT, 'SetMessageCountLimit', [(UINT64, 'MessageCountLimit')]),
+ StdMethod(Void, 'ClearStoredMessages', []),
+ StdMethod(HRESULT, 'GetMessage', [(UINT64, 'MessageIndex'), Out(Pointer(D3D11_MESSAGE), 'pMessage'), Out(Pointer(SIZE_T), 'pMessageByteLength')]),
+ StdMethod(UINT64, 'GetNumMessagesAllowedByStorageFilter', []),
+ StdMethod(UINT64, 'GetNumMessagesDeniedByStorageFilter', []),
+ StdMethod(UINT64, 'GetNumStoredMessages', []),
+ StdMethod(UINT64, 'GetNumStoredMessagesAllowedByRetrievalFilter', []),
+ StdMethod(UINT64, 'GetNumMessagesDiscardedByMessageCountLimit', []),
+ StdMethod(UINT64, 'GetMessageCountLimit', []),
+ StdMethod(HRESULT, 'AddStorageFilterEntries', [(Pointer(D3D11_INFO_QUEUE_FILTER), 'pFilter')]),
+ StdMethod(HRESULT, 'GetStorageFilter', [Out(Pointer(D3D11_INFO_QUEUE_FILTER), 'pFilter'), Out(Pointer(SIZE_T), 'pFilterByteLength')]),
+ StdMethod(Void, 'ClearStorageFilter', []),
+ StdMethod(HRESULT, 'PushEmptyStorageFilter', []),
+ StdMethod(HRESULT, 'PushCopyOfStorageFilter', []),
+ StdMethod(HRESULT, 'PushStorageFilter', [(Pointer(D3D11_INFO_QUEUE_FILTER), 'pFilter')]),
+ StdMethod(Void, 'PopStorageFilter', []),
+ StdMethod(UINT, 'GetStorageFilterStackSize', []),
+ StdMethod(HRESULT, 'AddRetrievalFilterEntries', [(Pointer(D3D11_INFO_QUEUE_FILTER), 'pFilter')]),
+ StdMethod(HRESULT, 'GetRetrievalFilter', [Out(Pointer(D3D11_INFO_QUEUE_FILTER), 'pFilter'), Out(Pointer(SIZE_T), 'pFilterByteLength')]),
+ StdMethod(Void, 'ClearRetrievalFilter', []),
+ StdMethod(HRESULT, 'PushEmptyRetrievalFilter', []),
+ StdMethod(HRESULT, 'PushCopyOfRetrievalFilter', []),
+ StdMethod(HRESULT, 'PushRetrievalFilter', [(Pointer(D3D11_INFO_QUEUE_FILTER), 'pFilter')]),
+ StdMethod(Void, 'PopRetrievalFilter', []),
+ StdMethod(UINT, 'GetRetrievalFilterStackSize', []),
+ StdMethod(HRESULT, 'AddMessage', [(D3D11_MESSAGE_CATEGORY, 'Category'), (D3D11_MESSAGE_SEVERITY, 'Severity'), (D3D11_MESSAGE_ID, 'ID'), (LPCSTR, 'pDescription')]),
+ StdMethod(HRESULT, 'AddApplicationMessage', [(D3D11_MESSAGE_SEVERITY, 'Severity'), (LPCSTR, 'pDescription')]),
+ StdMethod(HRESULT, 'SetBreakOnCategory', [(D3D11_MESSAGE_CATEGORY, 'Category'), (BOOL, 'bEnable')]),
+ StdMethod(HRESULT, 'SetBreakOnSeverity', [(D3D11_MESSAGE_SEVERITY, 'Severity'), (BOOL, 'bEnable')]),
+ StdMethod(HRESULT, 'SetBreakOnID', [(D3D11_MESSAGE_ID, 'ID'), (BOOL, 'bEnable')]),
+ StdMethod(BOOL, 'GetBreakOnCategory', [(D3D11_MESSAGE_CATEGORY, 'Category')]),
+ StdMethod(BOOL, 'GetBreakOnSeverity', [(D3D11_MESSAGE_SEVERITY, 'Severity')]),
+ StdMethod(BOOL, 'GetBreakOnID', [(D3D11_MESSAGE_ID, 'ID')]),
+ StdMethod(Void, 'SetMuteDebugOutput', [(BOOL, 'bMute')]),
+ StdMethod(BOOL, 'GetMuteDebugOutput', []),
+]
+
diff --git a/specs/d3d11shader.py b/specs/d3d11shader.py
new file mode 100644
index 00000000..a1c02470
--- /dev/null
+++ b/specs/d3d11shader.py
@@ -0,0 +1,186 @@
+##########################################################################
+#
+# Copyright 2012 Jose Fonseca
+# All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+##########################################################################/
+
+
+from d3dcommon import *
+
+
+ID3D11ShaderReflectionType = Interface('ID3D11ShaderReflectionType', IUnknown)
+ID3D11ShaderReflectionVariable = Interface('ID3D11ShaderReflectionVariable', IUnknown)
+ID3D11ShaderReflectionConstantBuffer = Interface('ID3D11ShaderReflectionConstantBuffer', IUnknown)
+ID3D11ShaderReflection = Interface('ID3D11ShaderReflection', IUnknown)
+
+
+D3D11_SHADER_VERSION_TYPE = Enum('D3D11_SHADER_VERSION_TYPE', [
+ 'D3D11_SHVER_PIXEL_SHADER',
+ 'D3D11_SHVER_VERTEX_SHADER',
+ 'D3D11_SHVER_GEOMETRY_SHADER',
+ 'D3D11_SHVER_HULL_SHADER',
+ 'D3D11_SHVER_DOMAIN_SHADER',
+ 'D3D11_SHVER_COMPUTE_SHADER',
+])
+
+D3D11_SIGNATURE_PARAMETER_DESC = Struct('D3D11_SIGNATURE_PARAMETER_DESC', [
+ (LPCSTR, 'SemanticName'),
+ (UINT, 'SemanticIndex'),
+ (UINT, 'Register'),
+ (D3D_NAME, 'SystemValueType'),
+ (D3D_REGISTER_COMPONENT_TYPE, 'ComponentType'),
+ (BYTE, 'Mask'),
+ (BYTE, 'ReadWriteMask'),
+ (UINT, 'Stream'),
+])
+
+D3D11_SHADER_BUFFER_DESC = Struct('D3D11_SHADER_BUFFER_DESC', [
+ (LPCSTR, 'Name'),
+ (D3D_CBUFFER_TYPE, 'Type'),
+ (UINT, 'Variables'),
+ (UINT, 'Size'),
+ (UINT, 'uFlags'),
+])
+
+D3D11_SHADER_VARIABLE_DESC = Struct('D3D11_SHADER_VARIABLE_DESC', [
+ (LPCSTR, 'Name'),
+ (UINT, 'StartOffset'),
+ (UINT, 'Size'),
+ (UINT, 'uFlags'),
+ (LPVOID, 'DefaultValue'),
+ (UINT, 'StartTexture'),
+ (UINT, 'TextureSize'),
+ (UINT, 'StartSampler'),
+ (UINT, 'SamplerSize'),
+])
+
+D3D11_SHADER_TYPE_DESC = Struct('D3D11_SHADER_TYPE_DESC', [
+ (D3D_SHADER_VARIABLE_CLASS, 'Class'),
+ (D3D_SHADER_VARIABLE_TYPE, 'Type'),
+ (UINT, 'Rows'),
+ (UINT, 'Columns'),
+ (UINT, 'Elements'),
+ (UINT, 'Members'),
+ (UINT, 'Offset'),
+ (LPCSTR, 'Name'),
+])
+
+D3D11_SHADER_DESC = Struct('D3D11_SHADER_DESC', [
+ (UINT, 'Version'),
+ (LPCSTR, 'Creator'),
+ (UINT, 'Flags'),
+ (UINT, 'ConstantBuffers'),
+ (UINT, 'BoundResources'),
+ (UINT, 'InputParameters'),
+ (UINT, 'OutputParameters'),
+ (UINT, 'InstructionCount'),
+ (UINT, 'TempRegisterCount'),
+ (UINT, 'TempArrayCount'),
+ (UINT, 'DefCount'),
+ (UINT, 'DclCount'),
+ (UINT, 'TextureNormalInstructions'),
+ (UINT, 'TextureLoadInstructions'),
+ (UINT, 'TextureCompInstructions'),
+ (UINT, 'TextureBiasInstructions'),
+ (UINT, 'TextureGradientInstructions'),
+ (UINT, 'FloatInstructionCount'),
+ (UINT, 'IntInstructionCount'),
+ (UINT, 'UintInstructionCount'),
+ (UINT, 'StaticFlowControlCount'),
+ (UINT, 'DynamicFlowControlCount'),
+ (UINT, 'MacroInstructionCount'),
+ (UINT, 'ArrayInstructionCount'),
+ (UINT, 'CutInstructionCount'),
+ (UINT, 'EmitInstructionCount'),
+ (D3D_PRIMITIVE_TOPOLOGY, 'GSOutputTopology'),
+ (UINT, 'GSMaxOutputVertexCount'),
+ (D3D_PRIMITIVE, 'InputPrimitive'),
+ (UINT, 'PatchConstantParameters'),
+ (UINT, 'cGSInstanceCount'),
+ (UINT, 'cControlPoints'),
+ (D3D_TESSELLATOR_OUTPUT_PRIMITIVE, 'HSOutputPrimitive'),
+ (D3D_TESSELLATOR_PARTITIONING, 'HSPartitioning'),
+ (D3D_TESSELLATOR_DOMAIN, 'TessellatorDomain'),
+ (UINT, 'cBarrierInstructions'),
+ (UINT, 'cInterlockedInstructions'),
+ (UINT, 'cTextureStoreInstructions'),
+])
+
+D3D11_SHADER_INPUT_BIND_DESC = Struct('D3D11_SHADER_INPUT_BIND_DESC', [
+ (LPCSTR, 'Name'),
+ (D3D_SHADER_INPUT_TYPE, 'Type'),
+ (UINT, 'BindPoint'),
+ (UINT, 'BindCount'),
+ (UINT, 'uFlags'),
+ (D3D_RESOURCE_RETURN_TYPE, 'ReturnType'),
+ (D3D_SRV_DIMENSION, 'Dimension'),
+ (UINT, 'NumSamples'),
+])
+
+ID3D11ShaderReflectionType.methods += [
+ StdMethod(HRESULT, 'GetDesc', [Out(Pointer(D3D11_SHADER_TYPE_DESC), 'pDesc')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionType), 'GetMemberTypeByIndex', [(UINT, 'Index')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionType), 'GetMemberTypeByName', [(LPCSTR, 'Name')]),
+ StdMethod(LPCSTR, 'GetMemberTypeName', [(UINT, 'Index')]),
+ StdMethod(HRESULT, 'IsEqual', [(Pointer(ID3D11ShaderReflectionType), 'pType')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionType), 'GetSubType', []),
+ StdMethod(Pointer(ID3D11ShaderReflectionType), 'GetBaseClass', []),
+ StdMethod(UINT, 'GetNumInterfaces', []),
+ StdMethod(Pointer(ID3D11ShaderReflectionType), 'GetInterfaceByIndex', [(UINT, 'uIndex')]),
+ StdMethod(HRESULT, 'IsOfType', [(Pointer(ID3D11ShaderReflectionType), 'pType')]),
+ StdMethod(HRESULT, 'ImplementsInterface', [(Pointer(ID3D11ShaderReflectionType), 'pBase')]),
+]
+
+ID3D11ShaderReflectionVariable.methods += [
+ StdMethod(HRESULT, 'GetDesc', [Out(Pointer(D3D11_SHADER_VARIABLE_DESC), 'pDesc')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionType), 'GetType', []),
+ StdMethod(Pointer(ID3D11ShaderReflectionConstantBuffer), 'GetBuffer', []),
+ StdMethod(UINT, 'GetInterfaceSlot', [(UINT, 'uArrayIndex')]),
+]
+
+ID3D11ShaderReflectionConstantBuffer.methods += [
+ StdMethod(HRESULT, 'GetDesc', [(Pointer(D3D11_SHADER_BUFFER_DESC), 'pDesc')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionVariable), 'GetVariableByIndex', [(UINT, 'Index')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionVariable), 'GetVariableByName', [(LPCSTR, 'Name')]),
+]
+
+ID3D11ShaderReflection.methods += [
+ StdMethod(HRESULT, 'GetDesc', [Out(Pointer(D3D11_SHADER_DESC), 'pDesc')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionConstantBuffer), 'GetConstantBufferByIndex', [(UINT, 'Index')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionConstantBuffer), 'GetConstantBufferByName', [(LPCSTR, 'Name')]),
+ StdMethod(HRESULT, 'GetResourceBindingDesc', [(UINT, 'ResourceIndex'), Out(Pointer(D3D11_SHADER_INPUT_BIND_DESC), 'pDesc')]),
+ StdMethod(HRESULT, 'GetInputParameterDesc', [(UINT, 'ParameterIndex'), Out(Pointer(D3D11_SIGNATURE_PARAMETER_DESC), 'pDesc')]),
+ StdMethod(HRESULT, 'GetOutputParameterDesc', [(UINT, 'ParameterIndex'), Out(Pointer(D3D11_SIGNATURE_PARAMETER_DESC), 'pDesc')]),
+ StdMethod(HRESULT, 'GetPatchConstantParameterDesc', [(UINT, 'ParameterIndex'), Out(Pointer(D3D11_SIGNATURE_PARAMETER_DESC), 'pDesc')]),
+ StdMethod(Pointer(ID3D11ShaderReflectionVariable), 'GetVariableByName', [(LPCSTR, 'Name')]),
+ StdMethod(HRESULT, 'GetResourceBindingDescByName', [(LPCSTR, 'Name'), Out(Pointer(D3D11_SHADER_INPUT_BIND_DESC), 'pDesc')]),
+ StdMethod(UINT, 'GetMovInstructionCount', []),
+ StdMethod(UINT, 'GetMovcInstructionCount', []),
+ StdMethod(UINT, 'GetConversionInstructionCount', []),
+ StdMethod(UINT, 'GetBitwiseInstructionCount', []),
+ StdMethod(D3D_PRIMITIVE, 'GetGSInputPrimitive', []),
+ StdMethod(BOOL, 'IsSampleFrequencyShader', []),
+ StdMethod(UINT, 'GetNumInterfaceSlots', []),
+ StdMethod(HRESULT, 'GetMinFeatureLevel', [Out(Pointer(D3D_FEATURE_LEVEL), 'pLevel')]),
+ StdMethod(UINT, 'GetThreadGroupSize', [Out(Pointer(UINT), 'pSizeX'), Out(Pointer(UINT), 'pSizeY'), Out(Pointer(UINT), 'pSizeZ')]),
+]
+
diff --git a/specs/d3dcommon.py b/specs/d3dcommon.py
new file mode 100644
index 00000000..af6c5c95
--- /dev/null
+++ b/specs/d3dcommon.py
@@ -0,0 +1,691 @@
+##########################################################################
+#
+# Copyright 2012 Jose Fonseca
+# All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+##########################################################################/
+
+
+from winapi import *
+
+
+D3D_DRIVER_TYPE = Enum('D3D_DRIVER_TYPE', [
+ 'D3D_DRIVER_TYPE_UNKNOWN',
+ 'D3D_DRIVER_TYPE_HARDWARE',
+ 'D3D_DRIVER_TYPE_REFERENCE',
+ 'D3D_DRIVER_TYPE_NULL',
+ 'D3D_DRIVER_TYPE_SOFTWARE',
+ 'D3D_DRIVER_TYPE_WARP',
+])
+
+D3D_FEATURE_LEVEL = Enum('D3D_FEATURE_LEVEL', [
+ 'D3D_FEATURE_LEVEL_9_1',
+ 'D3D_FEATURE_LEVEL_9_2',
+ 'D3D_FEATURE_LEVEL_9_3',
+ 'D3D_FEATURE_LEVEL_10_0',
+ 'D3D_FEATURE_LEVEL_10_1',
+ 'D3D_FEATURE_LEVEL_11_0',
+])
+
+D3D_PRIMITIVE_TOPOLOGY = Enum('D3D_PRIMITIVE_TOPOLOGY', [
+ 'D3D_PRIMITIVE_TOPOLOGY_UNDEFINED',
+ 'D3D_PRIMITIVE_TOPOLOGY_POINTLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_LINELIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_LINESTRIP',
+ 'D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP',
+ 'D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ',
+ 'D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ',
+ 'D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ',
+ 'D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ',
+ 'D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST',
+ 'D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST',
+])
+
+D3D10_PRIMITIVE_TOPOLOGY = Enum('D3D10_PRIMITIVE_TOPOLOGY', [
+ 'D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED',
+ 'D3D10_PRIMITIVE_TOPOLOGY_POINTLIST',
+ 'D3D10_PRIMITIVE_TOPOLOGY_LINELIST',
+ 'D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP',
+ 'D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST',
+ 'D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP',
+ 'D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ',
+ 'D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ',
+ 'D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ',
+ 'D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ',
+])
+
+D3D11_PRIMITIVE_TOPOLOGY = Enum('D3D11_PRIMITIVE_TOPOLOGY', [
+ 'D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED',
+ 'D3D11_PRIMITIVE_TOPOLOGY_POINTLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_LINELIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP',
+ 'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP',
+ 'D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ',
+ 'D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ',
+ 'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ',
+ 'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ',
+ 'D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST',
+ 'D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST',
+])
+
+D3D_PRIMITIVE = Enum('D3D_PRIMITIVE', [
+ 'D3D_PRIMITIVE_UNDEFINED',
+ 'D3D_PRIMITIVE_POINT',
+ 'D3D_PRIMITIVE_LINE',
+ 'D3D_PRIMITIVE_TRIANGLE',
+ 'D3D_PRIMITIVE_LINE_ADJ',
+ 'D3D_PRIMITIVE_TRIANGLE_ADJ',
+ 'D3D_PRIMITIVE_1_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_2_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_3_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_4_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_5_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_6_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_7_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_8_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_9_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_10_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_11_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_12_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_13_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_14_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_15_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_16_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_17_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_18_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_19_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_20_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_21_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_22_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_23_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_24_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_25_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_26_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_27_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_28_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_29_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_30_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_31_CONTROL_POINT_PATCH',
+ 'D3D_PRIMITIVE_32_CONTROL_POINT_PATCH',
+])
+
+D3D10_PRIMITIVE = Enum('D3D10_PRIMITIVE', [
+ 'D3D10_PRIMITIVE_UNDEFINED',
+ 'D3D10_PRIMITIVE_POINT',
+ 'D3D10_PRIMITIVE_LINE',
+ 'D3D10_PRIMITIVE_TRIANGLE',
+ 'D3D10_PRIMITIVE_LINE_ADJ',
+ 'D3D10_PRIMITIVE_TRIANGLE_ADJ',
+])
+
+D3D11_PRIMITIVE = Enum('D3D11_PRIMITIVE', [
+ 'D3D11_PRIMITIVE_UNDEFINED',
+ 'D3D11_PRIMITIVE_POINT',
+ 'D3D11_PRIMITIVE_LINE',
+ 'D3D11_PRIMITIVE_TRIANGLE',
+ 'D3D11_PRIMITIVE_LINE_ADJ',
+ 'D3D11_PRIMITIVE_TRIANGLE_ADJ',
+ 'D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH',
+ 'D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH',
+])
+
+D3D_SRV_DIMENSION = Enum('D3D_SRV_DIMENSION', [
+ 'D3D_SRV_DIMENSION_UNKNOWN',
+ 'D3D_SRV_DIMENSION_BUFFER',
+ 'D3D_SRV_DIMENSION_TEXTURE1D',
+ 'D3D_SRV_DIMENSION_TEXTURE1DARRAY',
+ 'D3D_SRV_DIMENSION_TEXTURE2D',
+ 'D3D_SRV_DIMENSION_TEXTURE2DARRAY',
+ 'D3D_SRV_DIMENSION_TEXTURE2DMS',
+ 'D3D_SRV_DIMENSION_TEXTURE2DMSARRAY',
+ 'D3D_SRV_DIMENSION_TEXTURE3D',
+ 'D3D_SRV_DIMENSION_TEXTURECUBE',
+ 'D3D_SRV_DIMENSION_TEXTURECUBEARRAY',
+ 'D3D_SRV_DIMENSION_BUFFEREX',
+])
+
+D3D10_SRV_DIMENSION = Enum('D3D10_SRV_DIMENSION', [
+ 'D3D10_SRV_DIMENSION_UNKNOWN',
+ 'D3D10_SRV_DIMENSION_BUFFER',
+ 'D3D10_SRV_DIMENSION_TEXTURE1D',
+ 'D3D10_SRV_DIMENSION_TEXTURE1DARRAY',
+ 'D3D10_SRV_DIMENSION_TEXTURE2D',
+ 'D3D10_SRV_DIMENSION_TEXTURE2DARRAY',
+ 'D3D10_SRV_DIMENSION_TEXTURE2DMS',
+ 'D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY',
+ 'D3D10_SRV_DIMENSION_TEXTURE3D',
+ 'D3D10_SRV_DIMENSION_TEXTURECUBE',
+])
+
+D3D10_SRV_DIMENSION1 = Enum('D3D10_SRV_DIMENSION1', [
+ 'D3D10_1_SRV_DIMENSION_UNKNOWN',
+ 'D3D10_1_SRV_DIMENSION_BUFFER',
+ 'D3D10_1_SRV_DIMENSION_TEXTURE1D',
+ 'D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY',
+ 'D3D10_1_SRV_DIMENSION_TEXTURE2D',
+ 'D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY',
+ 'D3D10_1_SRV_DIMENSION_TEXTURE2DMS',
+ 'D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY',
+ 'D3D10_1_SRV_DIMENSION_TEXTURE3D',
+ 'D3D10_1_SRV_DIMENSION_TEXTURECUBE',
+ 'D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY',
+])
+
+D3D11_SRV_DIMENSION = Enum('D3D11_SRV_DIMENSION', [
+ 'D3D11_SRV_DIMENSION_UNKNOWN',
+ 'D3D11_SRV_DIMENSION_BUFFER',
+ 'D3D11_SRV_DIMENSION_TEXTURE1D',
+ 'D3D11_SRV_DIMENSION_TEXTURE1DARRAY',
+ 'D3D11_SRV_DIMENSION_TEXTURE2D',
+ 'D3D11_SRV_DIMENSION_TEXTURE2DARRAY',
+ 'D3D11_SRV_DIMENSION_TEXTURE2DMS',
+ 'D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY',
+ 'D3D11_SRV_DIMENSION_TEXTURE3D',
+ 'D3D11_SRV_DIMENSION_TEXTURECUBE',
+ 'D3D11_SRV_DIMENSION_TEXTURECUBEARRAY',
+ 'D3D11_SRV_DIMENSION_BUFFEREX',
+])
+
+D3D_SHADER_MACRO = Struct('D3D_SHADER_MACRO', [
+ (LPCSTR, 'Name'),
+ (LPCSTR, 'Definition'),
+])
+
+ID3D10Blob = Interface('ID3D10Blob', IUnknown)
+ID3D10Blob.methods += [
+ StdMethod(LPVOID, 'GetBufferPointer', []),
+ StdMethod(SIZE_T, 'GetBufferSize', []),
+]
+
+D3D_INCLUDE_TYPE = Enum('D3D_INCLUDE_TYPE', [
+ 'D3D_INCLUDE_LOCAL',
+ 'D3D_INCLUDE_SYSTEM',
+])
+
+D3D10_INCLUDE_TYPE = Enum('D3D10_INCLUDE_TYPE', [
+ 'D3D10_INCLUDE_LOCAL',
+ 'D3D10_INCLUDE_SYSTEM',
+])
+
+D3D_SHADER_VARIABLE_CLASS = Enum('D3D_SHADER_VARIABLE_CLASS', [
+ 'D3D_SVC_SCALAR',
+ 'D3D_SVC_VECTOR',
+ 'D3D_SVC_MATRIX_ROWS',
+ 'D3D_SVC_MATRIX_COLUMNS',
+ 'D3D_SVC_OBJECT',
+ 'D3D_SVC_STRUCT',
+ 'D3D_SVC_INTERFACE_CLASS',
+ 'D3D_SVC_INTERFACE_POINTER',
+])
+
+D3D10_SHADER_VARIABLE_CLASS = Enum('D3D_SHADER_VARIABLE_CLASS', [
+ 'D3D10_SVC_SCALAR',
+ 'D3D10_SVC_VECTOR',
+ 'D3D10_SVC_MATRIX_ROWS',
+ 'D3D10_SVC_MATRIX_COLUMNS',
+ 'D3D10_SVC_OBJECT',
+ 'D3D10_SVC_STRUCT',
+])
+
+D3D11_SHADER_VARIABLE_CLASS = Enum('D3D_SHADER_VARIABLE_CLASS', [
+ 'D3D11_SVC_INTERFACE_CLASS',
+ 'D3D11_SVC_INTERFACE_POINTER',
+])
+
+D3D10_SHADER_VARIABLE_FLAGS = Enum('D3D10_SHADER_VARIABLE_FLAGS', [
+ 'D3D_SVF_USERPACKED',
+ 'D3D_SVF_USED',
+ 'D3D_SVF_INTERFACE_POINTER',
+ 'D3D_SVF_INTERFACE_PARAMETER',
+])
+
+D3D11_SHADER_VARIABLE_FLAGS = Enum('D3D11_SHADER_VARIABLE_FLAGS', [
+ 'D3D10_SVF_USERPACKED',
+ 'D3D10_SVF_USED',
+ 'D3D11_SVF_INTERFACE_POINTER',
+ 'D3D11_SVF_INTERFACE_PARAMETER',
+])
+
+D3D_SHADER_VARIABLE_TYPE = Enum('D3D_SHADER_VARIABLE_TYPE', [
+ 'D3D_SVT_VOID',
+ 'D3D_SVT_BOOL',
+ 'D3D_SVT_INT',
+ 'D3D_SVT_FLOAT',
+ 'D3D_SVT_STRING',
+ 'D3D_SVT_TEXTURE',
+ 'D3D_SVT_TEXTURE1D',
+ 'D3D_SVT_TEXTURE2D',
+ 'D3D_SVT_TEXTURE3D',
+ 'D3D_SVT_TEXTURECUBE',
+ 'D3D_SVT_SAMPLER',
+ 'D3D_SVT_SAMPLER1D',
+ 'D3D_SVT_SAMPLER2D',
+ 'D3D_SVT_SAMPLER3D',
+ 'D3D_SVT_SAMPLERCUBE',
+ 'D3D_SVT_PIXELSHADER',
+ 'D3D_SVT_VERTEXSHADER',
+ 'D3D_SVT_PIXELFRAGMENT',
+ 'D3D_SVT_VERTEXFRAGMENT',
+ 'D3D_SVT_UINT',
+ 'D3D_SVT_UINT8',
+ 'D3D_SVT_GEOMETRYSHADER',
+ 'D3D_SVT_RASTERIZER',
+ 'D3D_SVT_DEPTHSTENCIL',
+ 'D3D_SVT_BLEND',
+ 'D3D_SVT_BUFFER',
+ 'D3D_SVT_CBUFFER',
+ 'D3D_SVT_TBUFFER',
+ 'D3D_SVT_TEXTURE1DARRAY',
+ 'D3D_SVT_TEXTURE2DARRAY',
+ 'D3D_SVT_RENDERTARGETVIEW',
+ 'D3D_SVT_DEPTHSTENCILVIEW',
+ 'D3D_SVT_TEXTURE2DMS',
+ 'D3D_SVT_TEXTURE2DMSARRAY',
+ 'D3D_SVT_TEXTURECUBEARRAY',
+ 'D3D_SVT_HULLSHADER',
+ 'D3D_SVT_DOMAINSHADER',
+ 'D3D_SVT_INTERFACE_POINTER',
+ 'D3D_SVT_COMPUTESHADER',
+ 'D3D_SVT_DOUBLE',
+ 'D3D_SVT_RWTEXTURE1D',
+ 'D3D_SVT_RWTEXTURE1DARRAY',
+ 'D3D_SVT_RWTEXTURE2D',
+ 'D3D_SVT_RWTEXTURE2DARRAY',
+ 'D3D_SVT_RWTEXTURE3D',
+ 'D3D_SVT_RWBUFFER',
+ 'D3D_SVT_BYTEADDRESS_BUFFER',
+ 'D3D_SVT_RWBYTEADDRESS_BUFFER',
+ 'D3D_SVT_STRUCTURED_BUFFER',
+ 'D3D_SVT_RWSTRUCTURED_BUFFER',
+ 'D3D_SVT_APPEND_STRUCTURED_BUFFER',
+ 'D3D_SVT_CONSUME_STRUCTURED_BUFFER',
+])
+
+D3D10_SHADER_VARIABLE_TYPE = Enum('D3D10_SHADER_VARIABLE_TYPE', [
+ 'D3D10_SVT_VOID',
+ 'D3D10_SVT_BOOL',
+ 'D3D10_SVT_INT',
+ 'D3D10_SVT_FLOAT',
+ 'D3D10_SVT_STRING',
+ 'D3D10_SVT_TEXTURE',
+ 'D3D10_SVT_TEXTURE1D',
+ 'D3D10_SVT_TEXTURE2D',
+ 'D3D10_SVT_TEXTURE3D',
+ 'D3D10_SVT_TEXTURECUBE',
+ 'D3D10_SVT_SAMPLER',
+ 'D3D10_SVT_SAMPLER1D',
+ 'D3D10_SVT_SAMPLER2D',
+ 'D3D10_SVT_SAMPLER3D',
+ 'D3D10_SVT_SAMPLERCUBE',
+ 'D3D10_SVT_PIXELSHADER',
+ 'D3D10_SVT_VERTEXSHADER',
+ 'D3D10_SVT_PIXELFRAGMENT',
+ 'D3D10_SVT_VERTEXFRAGMENT',
+ 'D3D10_SVT_UINT',
+ 'D3D10_SVT_UINT8',
+ 'D3D10_SVT_GEOMETRYSHADER',
+ 'D3D10_SVT_RASTERIZER',
+ 'D3D10_SVT_DEPTHSTENCIL',
+ 'D3D10_SVT_BLEND',
+ 'D3D10_SVT_BUFFER',
+ 'D3D10_SVT_CBUFFER',
+ 'D3D10_SVT_TBUFFER',
+ 'D3D10_SVT_TEXTURE1DARRAY',
+ 'D3D10_SVT_TEXTURE2DARRAY',
+ 'D3D10_SVT_RENDERTARGETVIEW',
+ 'D3D10_SVT_DEPTHSTENCILVIEW',
+ 'D3D10_SVT_TEXTURE2DMS',
+ 'D3D10_SVT_TEXTURE2DMSARRAY',
+ 'D3D10_SVT_TEXTURECUBEARRAY',
+])
+
+D3D11_SHADER_VARIABLE_TYPE = Enum('D3D11_SHADER_VARIABLE_TYPE', [
+ 'D3D11_SVT_HULLSHADER',
+ 'D3D11_SVT_DOMAINSHADER',
+ 'D3D11_SVT_INTERFACE_POINTER',
+ 'D3D11_SVT_COMPUTESHADER',
+ 'D3D11_SVT_DOUBLE',
+ 'D3D11_SVT_RWTEXTURE1D',
+ 'D3D11_SVT_RWTEXTURE1DARRAY',
+ 'D3D11_SVT_RWTEXTURE2D',
+ 'D3D11_SVT_RWTEXTURE2DARRAY',
+ 'D3D11_SVT_RWTEXTURE3D',
+ 'D3D11_SVT_RWBUFFER',
+ 'D3D11_SVT_BYTEADDRESS_BUFFER',
+ 'D3D11_SVT_RWBYTEADDRESS_BUFFER',
+ 'D3D11_SVT_STRUCTURED_BUFFER',
+ 'D3D11_SVT_RWSTRUCTURED_BUFFER',
+ 'D3D11_SVT_APPEND_STRUCTURED_BUFFER',
+ 'D3D11_SVT_CONSUME_STRUCTURED_BUFFER',
+])
+
+D3D_SHADER_INPUT_FLAGS = Enum('D3D_SHADER_INPUT_FLAGS', [
+ 'D3D_SIF_USERPACKED',
+ 'D3D_SIF_COMPARISON_SAMPLER',
+ 'D3D_SIF_TEXTURE_COMPONENT_0',
+ 'D3D_SIF_TEXTURE_COMPONENT_1',
+ 'D3D_SIF_TEXTURE_COMPONENTS',
+])
+
+D3D10_SHADER_INPUT_FLAGS = Enum('D3D10_SHADER_INPUT_FLAGS', [
+ 'D3D10_SIF_USERPACKED',
+ 'D3D10_SIF_COMPARISON_SAMPLER',
+ 'D3D10_SIF_TEXTURE_COMPONENT_0',
+ 'D3D10_SIF_TEXTURE_COMPONENT_1',
+ 'D3D10_SIF_TEXTURE_COMPONENTS',
+])
+
+D3D_SHADER_INPUT_TYPE = Enum('D3D_SHADER_INPUT_TYPE', [
+ 'D3D_SIT_CBUFFER',
+ 'D3D_SIT_TBUFFER',
+ 'D3D_SIT_TEXTURE',
+ 'D3D_SIT_SAMPLER',
+ 'D3D_SIT_UAV_RWTYPED',
+ 'D3D_SIT_STRUCTURED',
+ 'D3D_SIT_UAV_RWSTRUCTURED',
+ 'D3D_SIT_BYTEADDRESS',
+ 'D3D_SIT_UAV_RWBYTEADDRESS',
+ 'D3D_SIT_UAV_APPEND_STRUCTURED',
+ 'D3D_SIT_UAV_CONSUME_STRUCTURED',
+ 'D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER',
+])
+
+D3D10_SHADER_INPUT_TYPE = Enum('D3D10_SHADER_INPUT_TYPE', [
+ 'D3D10_SIT_CBUFFER',
+ 'D3D10_SIT_TBUFFER',
+ 'D3D10_SIT_TEXTURE',
+ 'D3D10_SIT_SAMPLER',
+])
+
+D3D11_SHADER_INPUT_TYPE = Enum('D3D11_SHADER_INPUT_TYPE', [
+ 'D3D11_SIT_UAV_RWTYPED',
+ 'D3D11_SIT_STRUCTURED',
+ 'D3D11_SIT_UAV_RWSTRUCTURED',
+ 'D3D11_SIT_BYTEADDRESS',
+ 'D3D11_SIT_UAV_RWBYTEADDRESS',
+ 'D3D11_SIT_UAV_APPEND_STRUCTURED',
+ 'D3D11_SIT_UAV_CONSUME_STRUCTURED',
+ 'D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER',
+])
+
+D3D_SHADER_CBUFFER_FLAGS = Enum('D3D_SHADER_CBUFFER_FLAGS', [
+ 'D3D_CBF_USERPACKED',
+])
+
+D3D10_SHADER_CBUFFER_FLAGS = Enum('D3D10_SHADER_CBUFFER_FLAGS', [
+ 'D3D10_CBF_USERPACKED',
+])
+
+D3D_CBUFFER_TYPE = Enum('D3D_CBUFFER_TYPE', [
+ 'D3D_CT_CBUFFER',
+ 'D3D_CT_TBUFFER',
+ 'D3D_CT_INTERFACE_POINTERS',
+ 'D3D_CT_RESOURCE_BIND_INFO',
+])
+
+D3D10_CBUFFER_TYPE = Enum('D3D10_CBUFFER_TYPE', [
+ 'D3D10_CT_CBUFFER',
+ 'D3D10_CT_TBUFFER',
+])
+
+D3D11_CBUFFER_TYPE = Enum('D3D11_CBUFFER_TYPE', [
+ 'D3D11_CT_CBUFFER',
+ 'D3D11_CT_TBUFFER',
+ 'D3D11_CT_INTERFACE_POINTERS',
+ 'D3D11_CT_RESOURCE_BIND_INFO',
+])
+
+D3D_NAME = Enum('D3D_NAME', [
+ 'D3D_NAME_UNDEFINED',
+ 'D3D_NAME_POSITION',
+ 'D3D_NAME_CLIP_DISTANCE',
+ 'D3D_NAME_CULL_DISTANCE',
+ 'D3D_NAME_RENDER_TARGET_ARRAY_INDEX',
+ 'D3D_NAME_VIEWPORT_ARRAY_INDEX',
+ 'D3D_NAME_VERTEX_ID',
+ 'D3D_NAME_PRIMITIVE_ID',
+ 'D3D_NAME_INSTANCE_ID',
+ 'D3D_NAME_IS_FRONT_FACE',
+ 'D3D_NAME_SAMPLE_INDEX',
+ 'D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR',
+ 'D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR',
+ 'D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR',
+ 'D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR',
+ 'D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR',
+ 'D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR',
+ 'D3D_NAME_TARGET',
+ 'D3D_NAME_DEPTH',
+ 'D3D_NAME_COVERAGE',
+ 'D3D_NAME_DEPTH_GREATER_EQUAL',
+ 'D3D_NAME_DEPTH_LESS_EQUAL',
+])
+
+D3D10_NAME = Enum('D3D10_NAME', [
+ 'D3D10_NAME_UNDEFINED',
+ 'D3D10_NAME_POSITION',
+ 'D3D10_NAME_CLIP_DISTANCE',
+ 'D3D10_NAME_CULL_DISTANCE',
+ 'D3D10_NAME_RENDER_TARGET_ARRAY_INDEX',
+ 'D3D10_NAME_VIEWPORT_ARRAY_INDEX',
+ 'D3D10_NAME_VERTEX_ID',
+ 'D3D10_NAME_PRIMITIVE_ID',
+ 'D3D10_NAME_INSTANCE_ID',
+ 'D3D10_NAME_IS_FRONT_FACE',
+ 'D3D10_NAME_SAMPLE_INDEX',
+ 'D3D10_NAME_TARGET',
+ 'D3D10_NAME_DEPTH',
+ 'D3D10_NAME_COVERAGE',
+])
+
+D3D11_NAME = Enum('D3D11_NAME', [
+ 'D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR',
+ 'D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR',
+ 'D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR',
+ 'D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR',
+ 'D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR',
+ 'D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR',
+ 'D3D11_NAME_DEPTH_GREATER_EQUAL',
+ 'D3D11_NAME_DEPTH_LESS_EQUAL',
+])
+
+D3D_RESOURCE_RETURN_TYPE = Enum('D3D_RESOURCE_RETURN_TYPE', [
+ 'D3D_RETURN_TYPE_UNORM',
+ 'D3D_RETURN_TYPE_SNORM',
+ 'D3D_RETURN_TYPE_SINT',
+ 'D3D_RETURN_TYPE_UINT',
+ 'D3D_RETURN_TYPE_FLOAT',
+ 'D3D_RETURN_TYPE_MIXED',
+ 'D3D_RETURN_TYPE_DOUBLE',
+ 'D3D_RETURN_TYPE_CONTINUED',
+])
+
+D3D10_RESOURCE_RETURN_TYPE = Enum('D3D10_RESOURCE_RETURN_TYPE', [
+ 'D3D10_RETURN_TYPE_UNORM',
+ 'D3D10_RETURN_TYPE_SNORM',
+ 'D3D10_RETURN_TYPE_SINT',
+ 'D3D10_RETURN_TYPE_UINT',
+ 'D3D10_RETURN_TYPE_FLOAT',
+ 'D3D10_RETURN_TYPE_MIXED',
+])
+
+D3D11_RESOURCE_RETURN_TYPE = Enum('D3D11_RESOURCE_RETURN_TYPE', [
+ 'D3D11_RETURN_TYPE_UNORM',
+ 'D3D11_RETURN_TYPE_SNORM',
+ 'D3D11_RETURN_TYPE_SINT',
+ 'D3D11_RETURN_TYPE_UINT',
+ 'D3D11_RETURN_TYPE_FLOAT',
+ 'D3D11_RETURN_TYPE_MIXED',
+ 'D3D11_RETURN_TYPE_DOUBLE',
+ 'D3D11_RETURN_TYPE_CONTINUED',
+])
+
+D3D_REGISTER_COMPONENT_TYPE = Enum('D3D_REGISTER_COMPONENT_TYPE', [
+ 'D3D_REGISTER_COMPONENT_UNKNOWN',
+ 'D3D_REGISTER_COMPONENT_UINT32',
+ 'D3D_REGISTER_COMPONENT_SINT32',
+ 'D3D_REGISTER_COMPONENT_FLOAT32',
+])
+
+D3D10_REGISTER_COMPONENT_TYPE = Enum('D3D10_REGISTER_COMPONENT_TYPE', [
+ 'D3D10_REGISTER_COMPONENT_UNKNOWN',
+ 'D3D10_REGISTER_COMPONENT_UINT32',
+ 'D3D10_REGISTER_COMPONENT_SINT32',
+ 'D3D10_REGISTER_COMPONENT_FLOAT32',
+])
+
+D3D_TESSELLATOR_DOMAIN = Enum('D3D_TESSELLATOR_DOMAIN', [
+ 'D3D_TESSELLATOR_DOMAIN_UNDEFINED',
+ 'D3D_TESSELLATOR_DOMAIN_ISOLINE',
+ 'D3D_TESSELLATOR_DOMAIN_TRI',
+ 'D3D_TESSELLATOR_DOMAIN_QUAD',
+])
+
+D3D11_TESSELLATOR_DOMAIN = Enum('D3D11_TESSELLATOR_DOMAIN', [
+ 'D3D11_TESSELLATOR_DOMAIN_UNDEFINED',
+ 'D3D11_TESSELLATOR_DOMAIN_ISOLINE',
+ 'D3D11_TESSELLATOR_DOMAIN_TRI',
+ 'D3D11_TESSELLATOR_DOMAIN_QUAD',
+])
+
+D3D_TESSELLATOR_PARTITIONING = Enum('D3D_TESSELLATOR_PARTITIONING', [
+ 'D3D_TESSELLATOR_PARTITIONING_UNDEFINED',
+ 'D3D_TESSELLATOR_PARTITIONING_INTEGER',
+ 'D3D_TESSELLATOR_PARTITIONING_POW2',
+ 'D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD',
+ 'D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN',
+])
+
+D3D11_TESSELLATOR_PARTITIONING = Enum('D3D11_TESSELLATOR_PARTITIONING', [
+ 'D3D11_TESSELLATOR_PARTITIONING_UNDEFINED',
+ 'D3D11_TESSELLATOR_PARTITIONING_INTEGER',
+ 'D3D11_TESSELLATOR_PARTITIONING_POW2',
+ 'D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD',
+ 'D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN',
+])
+
+D3D_TESSELLATOR_OUTPUT_PRIMITIVE = Enum('D3D_TESSELLATOR_OUTPUT_PRIMITIVE', [
+ 'D3D_TESSELLATOR_OUTPUT_UNDEFINED',
+ 'D3D_TESSELLATOR_OUTPUT_POINT',
+ 'D3D_TESSELLATOR_OUTPUT_LINE',
+ 'D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW',
+ 'D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW',
+])
+
+D3D11_TESSELLATOR_OUTPUT_PRIMITIVE = Enum('D3D11_TESSELLATOR_OUTPUT_PRIMITIVE', [
+ 'D3D11_TESSELLATOR_OUTPUT_UNDEFINED',
+ 'D3D11_TESSELLATOR_OUTPUT_POINT',
+ 'D3D11_TESSELLATOR_OUTPUT_LINE',
+ 'D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW',
+ 'D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW',
+])
+
diff --git a/specs/scripts/cdecl.py b/specs/scripts/cdecl.py
index ef04cfca..013dec0d 100755
--- a/specs/scripts/cdecl.py
+++ b/specs/scripts/cdecl.py
@@ -122,7 +122,7 @@ class DeclParser:
self.consume()
type = 'Pointer(%s)' % type
name = self.consume()
- print '%s = Alias("%s", %s)' % (name, name, type)
+ print '%s = Alias(%r, %s)' % (name, name, type)
if self.match(','):
self.consume()
else:
@@ -136,7 +136,7 @@ class DeclParser:
name = self.consume()
self.consume('{')
- print '%s = Enum("%s", [' % (name, name)
+ print '%s = Enum(%r, [' % (name, name)
#value = 0
while self.lookahead() != '}':
@@ -147,8 +147,8 @@ class DeclParser:
if self.match(','):
self.consume(',')
tags = self.parse_tags()
- #print ' "%s",\t# %s' % (name, value)
- print ' "%s",' % (name,)
+ #print ' %r,\t# %s' % (name, value)
+ print ' %r,' % (name,)
#value += 1
self.consume('}')
@@ -175,18 +175,32 @@ class DeclParser:
self.consume('define')
name = self.consume()
value = self.consume()
- #print ' "%s",\t# %s' % (name, value)
- print ' "%s",' % (name,)
+ #print ' %r,\t# %s' % (name, value)
+ print ' %r,' % (name,)
return name, value
def parse_struct(self):
self.consume('struct')
name = self.consume()
- self.consume('{')
- print '%s = Struct("%s", [' % (name, name)
+ print '%s = Struct(%r, [' % (name, name)
+ for type, name in self.parse_members():
+ print ' (%s, %r),' % (type, name)
+ print '])'
+ print
+
+ def parse_union(self):
+ self.consume('union')
+ if not self.match('{'):
+ name = self.consume()
+ else:
+ name = None
+ members = self.parse_members()
+ return 'Union(%r, [%s])' % (name, ', '.join('%s, %r' % member for member in members))
- value = 0
+ def parse_members(self):
+ members = []
+ self.consume('{')
while self.lookahead() != '}':
type, name = self.parse_named_type()
@@ -197,12 +211,9 @@ class DeclParser:
if self.match(','):
self.consume(',')
self.consume(';')
- print ' (%s, "%s"),' % (type, name)
- value += 1
+ members.append((type, name))
self.consume('}')
-
- print '])'
- print
+ return members
def parse_interface(self, ref_token):
self.consume(ref_token)
@@ -215,7 +226,7 @@ class DeclParser:
base = self.consume()
self.consume('{')
- print '%s = Interface("%s", %s)' % (name, name, base)
+ print '%s = Interface(%r, %s)' % (name, name, base)
print '%s.methods += [' % (name,)
while self.lookahead() != '}':
@@ -256,7 +267,7 @@ class DeclParser:
if self.match(','):
self.consume()
self.consume(')')
- if self.lookahead() == 'const':
+ if self.match('const', 'CONST'):
self.consume()
extra = ', const=True' + extra
@@ -264,14 +275,14 @@ class DeclParser:
self.consume()
self.consume('0')
- print ' %s(%s, "%s", [%s]%s),' % (creator, ret, name, ', '.join(args), extra)
+ print ' %s(%s, %r, [%s]%s),' % (creator, ret, name, ', '.join(args), extra)
def parse_arg(self):
tags = self.parse_tags()
type, name = self.parse_named_type()
- arg = '(%s, "%s")' % (type, name)
+ arg = '(%s, %r)' % (type, name)
if 'out' in tags or 'inout' in tags:
arg = 'Out' + arg
@@ -293,6 +304,7 @@ class DeclParser:
if self.lookahead().startswith('__'):
# Parse __in, __out, etc tags
tag = self.consume()[2:]
+ args = []
if self.match('('):
self.consume()
while not self.match(')'):
@@ -303,16 +315,20 @@ class DeclParser:
def parse_named_type(self):
type = self.parse_type()
- name = self.consume()
- if self.match('['):
- self.consume()
- length = self.consume()
- self.consume(']')
- try:
- int(length)
- except ValueError:
- length = "%s" % length
- type = 'Array(%s, %s)' % (type, length)
+
+ if self.match(',', ';', '}', ')'):
+ name = None
+ else:
+ name = self.consume()
+ if self.match('['):
+ self.consume()
+ length = self.consume()
+ self.consume(']')
+ try:
+ int(length)
+ except ValueError:
+ length = repr(length)
+ type = 'Array(%s, %s)' % (type, length)
return type, name
int_tokens = ('unsigned', 'signed', 'int', 'long', 'short', 'char')
@@ -332,19 +348,22 @@ class DeclParser:
def parse_type(self):
const = False
- token = self.consume()
- if token == 'const':
- token = self.consume()
+ if self.match('const', 'CONST'):
+ self.consume()
const = True
- if token == 'void':
+ if self.match('void'):
+ self.consume()
type = 'Void'
- elif token in self.int_tokens:
+ elif self.match('union'):
+ type = self.parse_union()
+ elif self.match(*self.int_tokens):
unsigned = False
signed = False
long = 0
short = 0
char = False
- while token in self.int_tokens:
+ while self.match(*self.int_tokens):
+ token = self.consume()
if token == 'unsigned':
unsigned = True
if token == 'signed':
@@ -355,10 +374,6 @@ class DeclParser:
short += 1
if token == 'char':
char = False
- if self.lookahead() in self.int_tokens:
- token = self.consume()
- else:
- token = None
if char:
type = 'Char'
if signed:
@@ -372,6 +387,7 @@ class DeclParser:
if unsigned:
type = 'U' + type
else:
+ token = self.consume()
type = self.type_table.get(token, token)
if const:
type = 'Const(%s)' % type
@@ -379,8 +395,8 @@ class DeclParser:
if self.match('*'):
self.consume('*')
type = 'Pointer(%s)' % type
- elif self.match('const'):
- self.consume('const')
+ elif self.match('const', 'CONST'):
+ self.consume()
type = 'Const(%s)' % type
else:
break
diff --git a/specs/stdapi.py b/specs/stdapi.py
index c74d3111..2057124c 100644
--- a/specs/stdapi.py
+++ b/specs/stdapi.py
@@ -41,7 +41,10 @@ class Type:
# on this type, so it should preferrably be something representative of
# the type.
if tag is None:
- tag = ''.join([c for c in expr if c.isalnum() or c in '_'])
+ if expr is not None:
+ tag = ''.join([c for c in expr if c.isalnum() or c in '_'])
+ else:
+ tag = 'anonynoums'
else:
for c in tag:
assert c.isalnum() or c in '_'
@@ -257,12 +260,35 @@ class Struct(Type):
Struct.__id += 1
self.name = name
- self.members = members
+ self.members = []
+
+ # Eliminate anonymous unions
+ for type, name in members:
+ if name is not None:
+ self.members.append((type, name))
+ else:
+ assert isinstance(type, Union)
+ assert type.name is None
+ self.members.extend(type.members)
def visit(self, visitor, *args, **kwargs):
return visitor.visitStruct(self, *args, **kwargs)
+class Union(Type):
+
+ __id = 0
+
+ def __init__(self, name, members):
+ Type.__init__(self, name)
+
+ self.id = Union.__id
+ Union.__id += 1
+
+ self.name = name
+ self.members = members
+
+
class Alias(Type):
def __init__(self, expr, type):
@@ -388,8 +414,8 @@ class Interface(Type):
class Method(Function):
- def __init__(self, type, name, args, const=False, sideeffects=True):
- Function.__init__(self, type, name, args, call = '__stdcall', sideeffects=sideeffects)
+ def __init__(self, type, name, args, call = '__stdcall', const=False, sideeffects=True):
+ Function.__init__(self, type, name, args, call = call, sideeffects=sideeffects)
for index in range(len(self.args)):
self.args[index].index = index + 1
self.const = const
@@ -400,6 +426,10 @@ class Method(Function):
s += ' const'
return s
+def StdMethod(*args, **kwargs):
+ kwargs.setdefault('call', '__stdcall')
+ return Method(*args, **kwargs)
+
class String(Type):
diff --git a/specs/tags.vim b/specs/tags.vim
deleted file mode 100644
index 627aad3f..00000000
--- a/specs/tags.vim
+++ /dev/null
@@ -1,38 +0,0 @@
-s/\<__deref_out_bcount\>([^)]*)/[out]/g
-s/\<__deref_out_bcount\>([^)]*)/[out]/g
-s/\<__deref_out_bcount\>([^)]*)/[out]/g
-s/\<__field_ecount\>([^)]*)//g
-s/\<__field_ecount\>([^)]*)//g
-s/\<__field_ecount\>([^)]*)//g
-s/\<__in\>//g
-s/\<__in_bcount\>([^)]*)//g
-s/\<__in_bcount\>([^)]*)//g
-s/\<__in_ecount\>([^)]*)//g
-s/\<__in_ecount\>([^)]*)//g
-s/\<__in_ecount\>([^)]*)//g
-s/\<__in_ecount_opt\>([^)]*)//g
-s/\<__in_ecount_opt\>([^)]*)//g
-s/\<__in_ecount\>([^)]*)//g
-s/\<__in_ecount\>([^)]*)//g
-s/\<__in_opt\>//g
-s/\<__inout\>//g
-s/\<__in_z\>//g
-s/\<__in_z_opt\>//g
-s/\<__maybenull\>//g
-s/\<__notnull\>//g
-s/\<__nullterminated\>//g
-s/\<__out\>/[out]/g
-s/\<__out_bcount\>([^)]*)/[out]/g
-s/\<__out_ecount\>([^)]*)/[out]/g
-s/\<__out_ecount\>([^)]*)/[out]/g
-s/\<__out_ecount\>([^)]*)/[out]/g
-s/\<__out_ecount_opt\>([^)]*)/[out]/g
-s/\<__out_ecount_opt\>([^)]*)/[out]/g
-s/\<__out_ecount_opt\>([^)]*)/[out]/g
-s/\<__out_ecount_opt\>([^)]*)/[out]/g
-s/\<__out_ecount\>([^)]*)/[out]/g
-s/\<__out_ecount_z\>([^)]*)/[out]/g
-s/\<__out_ecount_z\>([^)]*)/[out]/g
-s/\<__out_ecount_z\>([^)]*)/[out]/g
-s/\<__out_opt\>/[out]/g
-s/\<__out_z\>/[out]/g