' ########################################################################################
' Microsoft Windows
' File: D3D10_1.inc
' Contents: Error code definitions for the background file copier
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_D3D10_1_PBI)
#DEFINE PBX_D3D10_1_PBI
' // The %D3D10_1_INC constant is checked in D3D10_1.inc
#IF NOT %DEF(%D3D10_1_INC)
%EQUATE `D3D10_1_INC = 1
#ENDIF
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/OAIdl.inc"
#INCLUDE ONCE "Legacy/COM/OCIdl.inc"
'#if defined( __d3d10_h__ ) && !defined( D3D10_ARBITRARY_HEADER_ORDERING )
'#error d3d10.h is included before d3d10_1.h, and it will confuse tools that honor SAL annotations. \
'If possibly targeting d3d10.1, include d3d10_1.h instead of d3d10.h, or ensure d3d10_1.h is included before d3d10.h
'#endif
$IID_ID3D10BlendState1 = GUID$("{EDAD8D99-8A35-4D6D-8566-2EA276CDE161}")
$IID_ID3D10ShaderResourceView1 = GUID$("{9B7E4C87-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Device1 = GUID$("{9B7E4C8F-342C-4106-A19F-4F2704F689F0}")
#IF NOT %DEF(%D3D10_1_CONSTANTS)
%EQUATE `D3D10_1_CONSTANTS = 1
%EQUATE `D3D10_1_DEFAULT_SAMPLE_MASK = &Hffffffff
MACRO D3D10_1_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6!
MACRO D3D10_1_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6!
%EQUATE `D3D10_1_GS_INPUT_REGISTER_COUNT = 32
' %D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT is defined with a different value in D3D10.inc
#IF NOT %DEF(%D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)
%EQUATE `D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32
#ENDIF
%EQUATE `D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 128
' %D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT is defined with a different value in D3D10.inc
#IF NOT %DEF(%D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT)
%EQUATE `D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 32
#ENDIF
%EQUATE `D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1
%EQUATE `D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_1_PS_OUTPUT_MASK_REGISTER_COUNT = 1
%EQUATE `D3D10_1_SHADER_MAJOR_VERSION = 4
%EQUATE `D3D10_1_SHADER_MINOR_VERSION = 1
%EQUATE `D3D10_1_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048
%EQUATE `D3D10_1_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256
%EQUATE `D3D10_1_SO_BUFFER_SLOT_COUNT = 4
%EQUATE `D3D10_1_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1
%EQUATE `D3D10_1_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64
%EQUATE `D3D10_1_STANDARD_VERTEX_ELEMENT_COUNT = 32
%EQUATE `D3D10_1_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8
%EQUATE `D3D10_1_VS_INPUT_REGISTER_COUNT = 32
%EQUATE `D3D10_1_VS_OUTPUT_REGISTER_COUNT = 32
#ENDIF ' #IF NOT %DEF(%D3D10_1_CONSTANTS)
#INCLUDE ONCE "Legacy/Graphics/D3D10.inc"
' enum D3D10_FEATURE_LEVEL1
%EQUATE `D3D10_FEATURE_LEVEL_10_0 = &Ha000
%EQUATE `D3D10_FEATURE_LEVEL_10_1 = &Ha100
%EQUATE `D3D10_FEATURE_LEVEL_9_1 = &H9100
%EQUATE `D3D10_FEATURE_LEVEL_9_2 = &H9200
%EQUATE `D3D10_FEATURE_LEVEL_9_3 = &H9300
' // Size = 32 bytes
TYPE D3D10_RENDER_TARGET_BLEND_DESC1 DWORD
 BlendEnable AS LONG
 SrcBlend AS DWORD ' D3D10_BLEND
 DestBlend AS DWORD ' D3D10_BLEND
 BlendOp AS DWORD ' D3D10_BLEND
 SrcBlendAlpha AS DWORD ' D3D10_BLEND
 DestBlendAlpha AS DWORD ' D3D10_BLEND
 BlendOpAlpha AS DWORD ' D3D10_BLEND
 RenderTargetWriteMask AS BYTE ' UINT8
END TYPE
' // Size = 264 bytes
TYPE D3D10_BLEND_DESC1 DWORD
 AlphaToCoverageEnable AS LONG
 IndependentBlendEnable AS LONG
 RenderTarget(7) AS D3D10_RENDER_TARGET_BLEND_DESC1
END TYPE
' ########################################################################################
' ID3D10BlendState1 interface
' IID = EDAD8D99-8A35-4D6D-8566-2EA276CDE161
' Inherited interface = ID3D10BlendState
' ########################################################################################
#IF NOT %DEF(%ID3D10BlendState1_INTERFACE_DEFINED)
 %ID3D10BlendState1_INTERFACE_DEFINED = 1
INTERFACE ID3D10BlendState1 $IID_ID3D10BlendState1
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10BlendState Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 28
 BYREF pDesc AS D3D10_BLEND_DESC
 ) ' void
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10BlendState Method
 ' =====================================================================================
 METHOD GetDesc1 ( ' VTable offset = 32
 BYREF pDesc AS D3D10_BLEND_DESC1
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10BlendState1_INTERFACE_DEFINED__ */
' // Size = 16 bytes
TYPE D3D10_TEXCUBE_ARRAY_SRV1 DWORD
 MostDetailedMip AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
 First2DArrayFace AS DWORD ' UINT
 NumCubes AS DWORD ' UINT
END TYPE
' enum D3D10_SRV_DIMENSION1
%EQUATE `D3D10_1_SRV_DIMENSION_UNKNOWN = 0
%EQUATE `D3D10_1_SRV_DIMENSION_BUFFER = 1
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURE1D = 2
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = 3
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURE2D = 4
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = 5
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURE2DMS = 6
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = 7
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURE3D = 8
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURECUBE = 9
%EQUATE `D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = 10
' // Size = 16 bytes
UNION D3D10_SHADER_RESOURCE_VIEW_DESC1_UNION DWORD
 Buffer AS D3D10_BUFFER_SRV
 Texture1D AS D3D10_TEX1D_SRV
 Texture1DArray AS D3D10_TEX1D_ARRAY_SRV
 Texture2D AS D3D10_TEX2D_SRV
 Texture2DArray AS D3D10_TEX2D_ARRAY_SRV
 Texture2DMS AS D3D10_TEX2DMS_SRV
 Texture2DMSArray AS D3D10_TEX2DMS_ARRAY_SRV
 Texture3D AS D3D10_TEX3D_SRV
 TextureCube AS D3D10_TEXCUBE_SRV
 TextureCubeArray AS D3D10_TEXCUBE_ARRAY_SRV1
END UNION
' // Size = 24 bytes
TYPE D3D10_SHADER_RESOURCE_VIEW_DESC1 DWORD
 Format AS DWORD ' DXGI_FORMAT
 ViewDimension AS DWORD ' D3D10_SRV_DIMENSION1
 D3D10_SHADER_RESOURCE_VIEW_DESC1_UNION
END TYPE
' ########################################################################################
' ID3D10ShaderResourceView1 interface
' IID = 9B7E4C87-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10ShaderResourceView
' ########################################################################################
#IF NOT %DEF(%ID3D10ShaderResourceView1_INTERFACE_DEFINED)
 %ID3D10ShaderResourceView1_INTERFACE_DEFINED = 1
INTERFACE ID3D10ShaderResourceView1 $IID_ID3D10ShaderResourceView1
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10View Method
 ' =====================================================================================
 METHOD GetResource ( ' VTable offset = 28
 BYREF ppResource AS ID3D10Resource
 ) ' void
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10ShaderResourceView Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 32
 BYREF pDesc AS D3D10_SHADER_RESOURCE_VIEW_DESC
 ) ' void
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10ShaderResourceView1 Method
 ' =====================================================================================
 METHOD GetDesc1 ( ' VTable offset = 32
 BYREF pDesc AS D3D10_SHADER_RESOURCE_VIEW_DESC1
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10ShaderResourceView1_INTERFACE_DEFINED__ */
' enum D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS
%EQUATE `D3D10_STANDARD_MULTISAMPLE_PATTERN = &Hffffffff
%EQUATE `D3D10_CENTER_MULTISAMPLE_PATTERN = &Hfffffffe
' ########################################################################################
' ID3D10Device1 interface
' IID = 9B7E4C8F-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10Device
' ########################################################################################
#IF NOT %DEF(%ID3D10Device1_INTERFACE_DEFINED)
 %ID3D10Device1_INTERFACE_DEFINED = 1
INTERFACE ID3D10Device1 $IID_ID3D10Device1
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10Device Methods
 ' =====================================================================================
 METHOD VSSetConstantBuffers ( ' VTable offset = 12
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD PSSetShaderResources ( ' VTable offset = 16
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD PSSetShader ( ' VTable offset = 20
 BYVAL pPixelShader AS ID3D10PixelShader
 ) ' void
 ' =====================================================================================
 METHOD PSSetSamplers ( ' VTable offset = 24
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD VSSetShader ( ' VTable offset = 28
 BYVAL pVertexShader AS ID3D10VertexShader
 ) ' void
 ' =====================================================================================
 METHOD DrawIndexed ( ' VTable offset = 32
 BYVAL IndexCount AS DWORD
 , BYVAL StartIndexLocation AS DWORD
 , BYVAL BaseVertexLocation AS LONG
 ) ' void
 ' =====================================================================================
 METHOD Draw ( ' VTable offset = 36
 BYVAL VertexCount AS DWORD
 , BYVAL StartVertexLocation AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD PSSetConstantBuffers ( ' VTable offset = 40
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD IASetInputLayout ( ' VTable offset = 44
 BYVAL pInputLayout AS ID3D10InputLayout
 ) ' void
 ' =====================================================================================
 METHOD IASetVertexBuffers ( ' VTable offset = 48
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppVertexBuffers AS ID3D10Buffer
 , BYREF pStrides AS DWORD
 , BYREF pOffsets AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD IASetIndexBuffer ( ' VTable offset = 52
 BYVAL pIndexBuffer AS ID3D10Buffer
 , BYVAL Format AS DWORD
 , BYVAL Offset AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD DrawIndexedInstanced ( ' VTable offset = 56
 BYVAL IndexCountPerInstance AS DWORD
 , BYVAL InstanceCount AS DWORD
 , BYVAL StartIndexLocation AS DWORD
 , BYVAL BaseVertexLocation AS LONG
 , BYVAL StartInstanceLocation AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD DrawInstanced ( ' VTable offset = 60
 BYVAL VertexCountPerInstance AS DWORD
 , BYVAL InstanceCount AS DWORD
 , BYVAL StartVertexLocation AS DWORD
 , BYVAL StartInstanceLocation AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GSSetConstantBuffers ( ' VTable offset = 64
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD GSSetShader ( ' VTable offset = 68
 BYVAL pShader AS ID3D10GeometryShader
 ) ' void
 ' =====================================================================================
 METHOD IASetPrimitiveTopology ( ' VTable offset = 72
 BYVAL Topology AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD VSSetShaderResources ( ' VTable offset = 76
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD VSSetSamplers ( ' VTable offset = 80
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD SetPredication ( ' VTable offset = 84
 BYVAL pPredicate AS ID3D10Predicate
 , BYVAL PredicateValue AS LONG
 ) ' void
 ' =====================================================================================
 METHOD GSSetShaderResources ( ' VTable offset = 88
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD GSSetSamplers ( ' VTable offset = 92
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD OMSetRenderTargets ( ' VTable offset = 96
 BYVAL NumViews AS DWORD
 , BYREF ppRenderTargetViews AS ID3D10RenderTargetView
 , BYVAL pDepthStencilView AS ID3D10DepthStencilView
 ) ' void
 ' =====================================================================================
 METHOD OMSetBlendState ( ' VTable offset = 100
 BYVAL pBlendState AS ID3D10BlendState
 , BYREF BlendFactor AS SINGLE
 , BYVAL SampleMask AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD OMSetDepthStencilState ( ' VTable offset = 104
 BYVAL pDepthStencilState AS ID3D10DepthStencilState
 , BYVAL StencilRef AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SOSetTargets ( ' VTable offset = 108
 BYVAL NumBuffers AS DWORD
 , BYREF ppSOTargets AS ID3D10Buffer
 , BYREF pOffsets AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD DrawAuto ( ' VTable offset = 112
 ) ' void
 ' =====================================================================================
 METHOD RSSetState ( ' VTable offset = 116
 BYVAL pRasterizerState AS ID3D10RasterizerState
 ) ' void
 ' =====================================================================================
 METHOD RSSetViewports ( ' VTable offset = 120
 BYVAL NumViewports AS DWORD
 , BYREF pViewports AS D3D10_VIEWPORT
 ) ' void
 ' =====================================================================================
 METHOD RSSetScissorRects ( ' VTable offset = 124
 BYVAL NumRects AS DWORD
 , BYREF pRects AS D3D10_RECT
 ) ' void
 ' =====================================================================================
 METHOD CopySubresourceRegion ( ' VTable offset = 128
 BYVAL pDstResource AS ID3D10Resource
 , BYVAL DstSubresource AS DWORD
 , BYVAL DstX AS DWORD
 , BYVAL DstY AS DWORD
 , BYVAL DstZ AS DWORD
 , BYVAL pSrcResource AS ID3D10Resource
 , BYVAL SrcSubresource AS DWORD
 , BYREF pSrcBox AS D3D10_BOX
 ) ' void
 ' =====================================================================================
 METHOD CopyResource ( ' VTable offset = 132
 BYVAL pDstResource AS ID3D10Resource
 , BYVAL pSrcResource AS ID3D10Resource
 ) ' void
 ' =====================================================================================
 METHOD UpdateSubresource ( ' VTable offset = 136
 BYVAL pDstResource AS ID3D10Resource
 , BYVAL DstSubresource AS DWORD
 , BYREF pDstBox AS D3D10_BOX
 , BYVAL pSrcData AS DWORD
 , BYVAL SrcRowPitch AS DWORD
 , BYVAL SrcDepthPitch AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD ClearRenderTargetView ( ' VTable offset = 140
 BYVAL pRenderTargetView AS ID3D10RenderTargetView
 , BYREF ColorRGBA AS SINGLE
 ) ' void
 ' =====================================================================================
 METHOD ClearDepthStencilView ( ' VTable offset = 144
 BYVAL pDepthStencilView AS ID3D10DepthStencilView
 , BYVAL ClearFlags AS DWORD
 , BYVAL Depth AS SINGLE
 , BYVAL Stencil AS BYTE
 ) ' void
 ' =====================================================================================
 METHOD GenerateMips ( ' VTable offset = 148
 BYVAL pShaderResourceView AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD ResolveSubresource ( ' VTable offset = 152
 BYVAL pDstResource AS ID3D10Resource
 , BYVAL DstSubresource AS DWORD
 , BYVAL pSrcResource AS ID3D10Resource
 , BYVAL SrcSubresource AS DWORD
 , BYVAL Format As DWORD
 ) ' void
 ' =====================================================================================
 METHOD VSGetConstantBuffers ( ' VTable offset = 156
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD PSGetShaderResources ( ' VTable offset = 160
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD PSGetShader ( ' VTable offset = 164
 BYREF ppPixelShader AS ID3D10PixelShader
 ) ' void
 ' =====================================================================================
 METHOD PSGetSamplers ( ' VTable offset = 168
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD VSGetShader ( ' VTable offset = 172
 BYREF ppVertexShader AS ID3D10VertexShader
 ) ' void
 ' =====================================================================================
 METHOD PSGetConstantBuffers ( ' VTable offset = 176
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD IAGetInputLayout ( ' VTable offset = 180
 BYREF ppInputLayout AS ID3D10InputLayout
 ) ' void
 ' =====================================================================================
 METHOD IAGetVertexBuffers ( ' VTable offset = 184
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppVertexBuffers AS ID3D10Buffer
 , BYREF pStrides AS DWORD
 , BYREF pOffsets AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD IAGetIndexBuffer ( ' VTable offset = 188
 BYREF pIndexBuffer AS ID3D10Buffer
 , BYREF Format AS DWORD
 , BYREF Offset AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GSGetConstantBuffers ( ' VTable offset = 192
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD GSGetShader ( ' VTable offset = 196
 BYREF ppGeometryShader AS ID3D10GeometryShader
 ) ' void
 ' =====================================================================================
 METHOD IAGetPrimitiveTopology ( ' VTable offset = 200
 BYREF pTopology AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD VSGetShaderResources ( ' VTable offset = 204
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD VSGetSamplers ( ' VTable offset = 208
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD GetPredication ( ' VTable offset = 212
 BYREF ppPredicate AS ID3D10Predicate
 , BYREF pPredicateValue AS LONG
 ) ' void
 ' =====================================================================================
 METHOD GSGetShaderResources ( ' VTable offset = 216
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD GSGetSamplers ( ' VTable offset = 220
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers As DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD OMGetRenderTargets ( ' VTable offset = 224
 BYVAL NumViews AS DWORD
 , BYREF ppRenderTargetViews AS ID3D10RenderTargetView
 , BYREF ppDepthStencilView AS ID3D10DepthStencilView
 ) ' void
 ' =====================================================================================
 METHOD OMGetBlendState ( ' VTable offset = 228
 BYREF ppBlendState AS ID3D10BlendState
 , BYREF BlendFactor AS SINGLE
 , BYREF pSampleMask AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD OMGetDepthStencilState ( ' VTable offset = 232
 BYREF ppDepthStencilState AS ID3D10DepthStencilState
 , BYREF pStencilRef AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SOGetTargets ( ' VTable offset = 236
 BYVAL NumBuffers AS DWORD
 , BYREF ppSOTargets AS ID3D10Buffer
 , BYREF pOffsets AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD RSGetState ( ' VTable offset = 240
 BYREF ppRasterizerState AS ID3D10RasterizerState
 ) ' void
 ' =====================================================================================
 METHOD RSGetViewports ( ' VTable offset = 244
 BYREF NumViewports AS DWORD
 , BYREF pViewports AS D3D10_VIEWPORT
 ) ' void
 ' =====================================================================================
 METHOD RSGetScissorRects ( ' VTable offset = 248
 BYREF NumRects AS DWORD
 , BYREF pRects AS D3D10_RECT
 ) ' void
 ' =====================================================================================
 METHOD GetDeviceRemovedReason ( ' VTable offset = 252
 ) AS LONG
 ' =====================================================================================
 METHOD SetExceptionMode ( ' VTable offset = 256
 BYVAL RaiseFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetExceptionMode ( ' VTable offset = 260
 ) AS DWORD ' UINT
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 264
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 268
 BYREF guid AS GUID
 , BYVAL DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 272
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD ClearState ( ' VTable offset = 276
 ) ' void
 ' =====================================================================================
 METHOD Flush ( ' VTable offset = 280
 ) ' void
 ' =====================================================================================
 METHOD CreateBuffer ( ' VTable offset = 284
 BYREF pDesc AS D3D10_BUFFER_DESC
 , BYREF pInitialData AS D3D10_SUBRESOURCE_DATA
 , BYREF ppBuffer AS ID3D10Buffer
 ) AS LONG
 ' =====================================================================================
 METHOD CreateTexture1D ( ' VTable offset = 288
 BYREF pDesc AS D3D10_TEXTURE1D_DESC
 , BYREF pInitialData AS D3D10_SUBRESOURCE_DATA
 , BYREF ppTexture1D AS ID3D10Texture1D
 ) AS LONG
 ' =====================================================================================
 METHOD CreateTexture2D ( ' VTable offset = 292
 BYREF pDesc AS D3D10_TEXTURE2D_DESC
 , BYREF pInitialData AS D3D10_SUBRESOURCE_DATA
 , BYREF ppTexture2D AS ID3D10Texture2D
 ) AS LONG
 ' =====================================================================================
 METHOD CreateTexture3D ( ' VTable offset = 296
 BYREF pDesc AS D3D10_TEXTURE3D_DESC
 , BYREF pInitialData AS D3D10_SUBRESOURCE_DATA
 , BYREF ppTexture3D AS ID3D10Texture3D
 ) AS LONG
 ' =====================================================================================
 METHOD CreateShaderResourceView ( ' VTable offset = 300
 BYVAL pResource AS ID3D10Resource
 , BYREF pDesc AS D3D10_SHADER_RESOURCE_VIEW_DESC
 , BYREF ppSRView AS ID3D10ShaderResourceView
 ) AS LONG
 ' =====================================================================================
 METHOD CreateRenderTargetView ( ' VTable offset = 304
 BYVAL pResource AS ID3D10Resource
 , BYREF pDesc AS D3D10_RENDER_TARGET_VIEW_DESC
 , BYREF ppRTView AS ID3D10RenderTargetView
 ) AS LONG
 ' =====================================================================================
 METHOD CreateDepthStencilView ( ' VTable offset = 308
 BYVAL pResource AS ID3D10Resource
 , BYREF pDesc AS D3D10_DEPTH_STENCIL_VIEW_DESC
 , BYREF ppDepthStencilView AS ID3D10DepthStencilView
 ) AS LONG
 ' =====================================================================================
 METHOD CreateInputLayout ( ' VTable offset = 312
 BYREF pInputElementDescs AS D3D10_INPUT_ELEMENT_DESC
 , BYVAL NumElements AS DWORD
 , BYVAL pShaderBytecodeWithInputSignature AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF ppInputLayout AS ID3D10InputLayout
 ) AS LONG
 ' =====================================================================================
 METHOD CreateVertexShader ( ' VTable offset = 316
 BYVAL pShaderBytecode AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF ppVertexShader AS ID3D10VertexShader
 ) AS LONG
 ' =====================================================================================
 METHOD CreateGeometryShader ( ' VTable offset = 320
 BYVAL pShaderBytecode AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF ppGeometryShader AS ID3D10GeometryShader
 ) AS LONG
 ' =====================================================================================
 METHOD CreateGeometryShaderWithStreamOutput ( ' VTable offset = 324
 BYVAL pShaderBytecode AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF pSODeclaration AS D3D10_SO_DECLARATION_ENTRY
 , BYVAL NumEntries AS DWORD
 , BYVAL OutputStreamStride AS DWORD
 , BYREF ppGeometryShader AS ID3D10GeometryShader
 ) AS LONG
 ' =====================================================================================
 METHOD CreatePixelShader ( ' VTable offset = 328
 BYVAL pShaderBytecode AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF ppPixelShader AS ID3D10PixelShader
 ) AS LONG
 ' =====================================================================================
 METHOD CreateBlendState ( ' VTable offset = 332
 BYREF pBlendStateDesc AS D3D10_BLEND_DESC
 , BYREF ppBlendState AS ID3D10BlendState
 ) AS LONG
 ' =====================================================================================
 METHOD CreateDepthStencilState ( ' VTable offset = 336
 BYREF pDepthStencilDesc AS D3D10_DEPTH_STENCIL_DESC
 , BYREF ppDepthStencilState AS ID3D10DepthStencilState
 ) AS LONG
 ' =====================================================================================
 METHOD CreateRasterizerState ( ' VTable offset = 340
 BYREF pRasterizerDesc AS D3D10_RASTERIZER_DESC
 , BYREF ppRasterizerState AS ID3D10RasterizerState
 ) AS LONG
 ' =====================================================================================
 METHOD CreateSamplerState ( ' VTable offset = 344
 BYREF pSamplerDesc AS D3D10_SAMPLER_DESC
 , BYREF ppSamplerState AS ID3D10SamplerState
 ) AS LONG
 ' =====================================================================================
 METHOD CreateQuery ( ' VTable offset = 348
 BYREF pQueryDesc AS D3D10_QUERY_DESC
 , BYREF ppQuery AS ID3D10Query
 ) AS LONG
 ' =====================================================================================
 METHOD CreatePredicate ( ' VTable offset = 352
 BYREF pPredicateDesc AS D3D10_QUERY_DESC
 , BYREF ppPredicate AS ID3D10Predicate
 ) AS LONG
 ' =====================================================================================
 METHOD CreateCounter ( ' VTable offset = 356
 BYREF pCounterDesc AS D3D10_COUNTER_DESC
 , BYREF ppCounter AS ID3D10Counter
 ) AS LONG
 ' =====================================================================================
 METHOD CheckFormatSupport ( ' VTable offset = 360
 BYVAL Format AS DWORD
 , BYREF pFormatSupport AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD CheckMultisampleQualityLevels ( ' VTable offset = 364
 BYVAL Format AS DWORD
 , BYVAL SampleCount AS DWORD
 , BYREF pNumQualityLevels AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD CheckCounterInfo ( ' VTable offset = 368
 BYREF pCounterInfo AS D3D10_COUNTER_INFO
 ) ' void
 ' =====================================================================================
 METHOD CheckCounter ( ' VTable offset = 372
 BYREF pDesc AS D3D10_COUNTER_DESC
 , BYREF pType AS DWORD
 , BYREF pActiveCounters AS DWORD
 , BYREF szName AS ASCIIZ
 , BYREF pNameLength AS DWORD
 , BYREF szUnits AS ASCIIZ
 , BYREF pUnitsLength AS DWORD
 , BYREF szDescription AS ASCIIZ
 , BYREF pDescriptionLength AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetCreationFlags ( ' VTable offset = 376
 ) AS DWORD ' UINT
 ' =====================================================================================
 METHOD OpenSharedResource ( ' VTable offset = 380
 BYVAL hResource AS DWORD
 , BYREF ReturnedInterface AS GUID
 , BYREF ppResource AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD SetTextFilterSize ( ' VTable offset = 384
 BYVAL Width AS DWORD
 , BYVAL Height AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetTextFilterSize ( ' VTable offset = 388
 BYREF pWidth AS DWORD
 , BYREF pHeight AS DWORD
 ) ' void
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Device1 Methods
 ' =====================================================================================
 METHOD CreateShaderResourceView1 ( ' VTable offset = 392
 BYVAL pResource AS ID3D10Resource
 , BYREF pDesc AS D3D10_SHADER_RESOURCE_VIEW_DESC1
 , BYREF ppSRView AS ID3D10ShaderResourceView1
 ) AS LONG
 ' =====================================================================================
 METHOD CreateBlendState1 ( ' VTable offset = 396
 BYREF pBlendStateDesc AS D3D10_BLEND_DESC1
 , BYREF ppBlendState AS ID3D10BlendState1
 ) AS LONG
 ' =====================================================================================
 METHOD GetFeatureLevel ( ' VTable offset = 400
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Device1_INTERFACE_DEFINED__ */
%EQUATE `D3D10_1_SDK_VERSION = 0 + &H20
#INCLUDE ONCE "Legacy/Graphics/D3D10_1shader.inc"
'///////////////////////////////////////////////////////////////////////////
'// D3D10CreateDevice1
'// ------------------
'//
'// pAdapter
'// If NULL, D3D10CreateDevice1 will choose the primary adapter and
'// create a new instance from a temporarily created IDXGIFactory.
'// If non-NULL, D3D10CreateDevice1 will register the appropriate
'// device, if necessary (via IDXGIAdapter::RegisterDrver), before
'// creating the device.
'// DriverType
'// Specifies the driver type to be created: hardware, reference or
'// null.
'// Software
'// HMODULE of a DLL implementing a software rasterizer. Must be NULL for
'// non-Software driver types.
'// Flags
'// Any of those documented for D3D10CreateDeviceAndSwapChain1.
'// HardwareLevel
'// Any of those documented for D3D10CreateDeviceAndSwapChain1.
'// SDKVersion
'// SDK version. Use the D3D10_1_SDK_VERSION macro.
'// ppDevice
'// Pointer to returned interface.
'//
'// Return Values
'// Any of those documented for
'// CreateDXGIFactory
'// IDXGIFactory::EnumAdapters
'// IDXGIAdapter::RegisterDriver
'// D3D10CreateDevice1
'//
'///////////////////////////////////////////////////////////////////////////
'typedef HRESULT (WINAPI* PFN_D3D10_CREATE_DEVICE1)(IDXGIAdapter *,
' D3D10_DRIVER_TYPE, HMODULE, UINT, D3D10_FEATURE_LEVEL1, UINT, ID3D10Device1**);
DECLARE FUNCTION D3D10CreateDevice1 LIB "d3d10.dll" ALIAS "D3D10CreateDevice1" ( BYVAL pAdapter AS IDXGIAdapter , BYVAL DriverType AS QUAD , BYVAL Software AS QUAD , BYVAL Flags AS QUAD , BYVAL HardwareLevel AS QUAD , BYVAL SDKVersion AS QUAD , BYREF ppDevice AS ID3D10Device1 ) AS LONG
'///////////////////////////////////////////////////////////////////////////
'// D3D10CreateDeviceAndSwapChain1
'// ------------------------------
'//
'// ppAdapter
'// If NULL, D3D10CreateDevice1 will choose the primary adapter and
'// create a new instance from a temporarily created IDXGIFactory.
'// If non-NULL, D3D10CreateDevice1 will register the appropriate
'// device, if necessary (via IDXGIAdapter::RegisterDrver), before
'// creating the device.
'// DriverType
'// Specifies the driver type to be created: hardware, reference or
'// null.
'// Software
'// HMODULE of a DLL implementing a software rasterizer. Must be NULL for
'// non-Software driver types.
'// Flags
'// Any of those documented for D3D10CreateDevice1.
'// HardwareLevel
'// Any of:
'// D3D10_CREATE_LEVEL_10_0
'// D3D10_CREATE_LEVEL_10_1
'// SDKVersion
'// SDK version. Use the D3D10_1_SDK_VERSION macro.
'// pSwapChainDesc
'// Swap chain description, may be NULL.
'// ppSwapChain
'// Pointer to returned interface. May be NULL.
'// ppDevice
'// Pointer to returned interface.
'//
'// Return Values
'// Any of those documented for
'// CreateDXGIFactory
'// IDXGIFactory::EnumAdapters
'// IDXGIAdapter::RegisterDriver
'// D3D10CreateDevice1
'// IDXGIFactory::CreateSwapChain
'//
'///////////////////////////////////////////////////////////////////////////
'typedef HRESULT (WINAPI* PFN_D3D10_CREATE_DEVICE_AND_SWAP_CHAIN1)(IDXGIAdapter *,
' D3D10_DRIVER_TYPE, HMODULE, UINT, D3D10_FEATURE_LEVEL1, UINT, DXGI_SWAP_CHAIN_DESC *, IDXGISwapChain **, ID3D10Device1 **);
DECLARE FUNCTION D3D10CreateDeviceAndSwapChain1 LIB "d3d10.dll" ALIAS "D3D10CreateDeviceAndSwapChain1" ( BYVAL pAdapter AS IDXGIAdapter , BYVAL DriverType AS QUAD , BYVAL Software AS QUAD , BYVAL Flags AS QUAD , BYVAL HardwareLevel AS QUAD , BYVAL SDKVersion AS QUAD , BYREF pSwapChainDesc AS DXGI_SWAP_CHAIN_DESC , BYREF ppSwapChain AS IDXGISwapChain , BYREF ppDevice AS ID3D10Device1 ) AS LONG
#ENDIF
