Permalink
Browse files

Add some missing DXGI and D3D11.1 api

Signed-off-by: José Fonseca <jfonseca@vmware.com>
  • Loading branch information...
1 parent d0d0604 commit cd3f69ef1a354e16f2bffdf29206f41f7dff95b7 Jeff Muizelaar committed with jrfonseca Mar 11, 2013
Showing with 68 additions and 6 deletions.
  1. +1 −0 retrace/CMakeLists.txt
  2. +3 −6 specs/d3d11_1.py
  3. +6 −0 specs/dxgi.py
  4. +52 −0 specs/dxgi1_2.py
  5. +5 −0 specs/winapi.py
  6. +1 −0 wrappers/CMakeLists.txt
View
1 retrace/CMakeLists.txt
@@ -231,6 +231,7 @@ if (WIN32)
${CMAKE_SOURCE_DIR}/specs/d3d10misc.py
${CMAKE_SOURCE_DIR}/specs/d3d10sdklayers.py
${CMAKE_SOURCE_DIR}/specs/d3dcommon.py
+ ${CMAKE_SOURCE_DIR}/specs/dxgi1_2.py
${CMAKE_SOURCE_DIR}/specs/dxgi.py
${CMAKE_SOURCE_DIR}/specs/dxgitype.py
${CMAKE_SOURCE_DIR}/specs/dxgiformat.py
View
9 specs/d3d11_1.py
@@ -30,6 +30,8 @@
from d3d11sdklayers import *
from d3d11 import *
+import dxgi1_2
+
D3D_FEATURE_LEVEL.values += [
"D3D_FEATURE_LEVEL_11_1",
]
@@ -134,6 +136,7 @@
StdMethod(Void, "UpdateSubresource1", [(ObjPointer(ID3D11Resource), "pDstResource"), (UINT, "DstSubresource"), (Pointer(Const(D3D11_BOX)), "pDstBox"), (Blob(Const(Void), "_calcSubresourceSize(pDstResource, DstSubresource, pDstBox, SrcRowPitch, SrcDepthPitch)"), "pSrcData"), (UINT, "SrcRowPitch"), (UINT, "SrcDepthPitch"), (D3D11_COPY_FLAGS, "CopyFlags")]),
StdMethod(Void, "DiscardResource", [(ObjPointer(ID3D11Resource), "pResource")]),
StdMethod(Void, "DiscardView", [(ObjPointer(ID3D11View), "pResourceView")]),
+ StdMethod(Void, "DiscardView1", [(ObjPointer(ID3D11View), "pResourceView"), (Array(Const(D3D11_RECT), "NumRects"), "pRect"), (UINT, "NumRects")]),
StdMethod(Void, "VSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
StdMethod(Void, "HSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
StdMethod(Void, "DSSetConstantBuffers1", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(ObjPointer(ID3D11Buffer)), "NumBuffers"), "ppConstantBuffers"), (Array(Const(UINT), "NumBuffers"), "pFirstConstant"), (Array(Const(UINT), "NumBuffers"), "pNumConstants")]),
@@ -151,12 +154,6 @@
]
-DXGI_SHARED_RESOURCE_FLAG = Flags(DWORD, [
- "DXGI_SHARED_RESOURCE_READ",
- "DXGI_SHARED_RESOURCE_WRITE",
-])
-
-
ID3D11Device1.methods += [
StdMethod(Void, "GetImmediateContext1", [Out(Pointer(ObjPointer(ID3D11DeviceContext1)), "ppImmediateContext")]),
StdMethod(HRESULT, "CreateDeferredContext1", [(UINT, "ContextFlags"), Out(Pointer(ObjPointer(ID3D11DeviceContext1)), "ppDeferredContext")]),
View
6 specs/dxgi.py
@@ -155,6 +155,12 @@
StdMethod(HRESULT, "GetEvictionPriority", [Out(Pointer(DXGI_RESOURCE_PRIORITY), "pEvictionPriority")], sideeffects=False),
]
+DXGI_SHARED_RESOURCE_FLAG = Flags(DWORD, [
+ "DXGI_SHARED_RESOURCE_READ",
+ "DXGI_SHARED_RESOURCE_WRITE",
+])
+
+
IDXGIKeyedMutex.methods += [
StdMethod(HRESULT, "AcquireSync", [(UINT64, "Key"), (DWORD, "dwMilliseconds")]),
StdMethod(HRESULT, "ReleaseSync", [(UINT64, "Key")]),
View
52 specs/dxgi1_2.py
@@ -0,0 +1,52 @@
+##########################################################################
+#
+# Copyright 2013 Jeff Muizelaar
+# 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 *
+
+
+IDXGIResource1 = Interface("IDXGIResource1", IDXGIResource)
+IDXGISurface2 = Interface("IDXGISurface2", IDXGISurface1)
+
+
+DXGI_SHARED_RESOURCE_FLAG = Flags(DWORD, [
+ "DXGI_SHARED_RESOURCE_READ",
+ "DXGI_SHARED_RESOURCE_WRITE",
+])
+
+
+IDXGIResource1.methods += [
+ StdMethod(HRESULT, "CreateSharedHandle", [(Pointer(Const(SECURITY_ATTRIBUTES)), "pAttributes"), (DXGI_SHARED_RESOURCE_FLAG, "dwAccess"), (LPCWSTR, "lpName"), Out(Pointer(HANDLE), "pHandle")]),
+ StdMethod(HRESULT, "CreateSubresourceSurface", [(UINT, "index"), Out(Pointer(ObjPointer(IDXGISurface2)), "ppSurface")]),
+]
+
+
+IDXGISurface2.methods += [
+ StdMethod(HRESULT, "GetResource", [(REFIID, "riid"), Out(Pointer(ObjPointer(Void)), "ppParentResource"), Out(Pointer(UINT), "pSubresourceIndex")]),
+]
+
+dxgi.addInterfaces([
+ IDXGIResource1,
+])
View
5 specs/winapi.py
@@ -178,6 +178,11 @@ def DECLARE_HANDLE(expr):
(WString, "lfFaceName"),
])
+SECURITY_ATTRIBUTES = Struct("SECURITY_ATTRIBUTES", [
+ (DWORD, "nLength"),
+ (LPVOID, "lpSecurityDescriptor"),
+ (BOOL, "bInheritHandle"),
+])
# http://msdn.microsoft.com/en-us/library/ff485842.aspx
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms681381.aspx
View
1 wrappers/CMakeLists.txt
@@ -174,6 +174,7 @@ if (WIN32)
${CMAKE_SOURCE_DIR}/specs/d3d10misc.py
${CMAKE_SOURCE_DIR}/specs/d3d10sdklayers.py
${CMAKE_SOURCE_DIR}/specs/d3dcommon.py
+ ${CMAKE_SOURCE_DIR}/specs/dxgi1_2.py
${CMAKE_SOURCE_DIR}/specs/dxgi.py
${CMAKE_SOURCE_DIR}/specs/dxgitype.py
${CMAKE_SOURCE_DIR}/specs/dxgiformat.py

0 comments on commit cd3f69e

Please sign in to comment.