d3d/archive/D3D11_3_FunctionalSpec.htm [2800:3091]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - contents of the Resource.
typedef struct D3D10DDI_HSHADERRESOURCEVIEW
{
void* m_pDrvPrivate;
} D3D10DDI_HSHADERRESOURCEVIEW;
typedef struct D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW
{
union
{
UINT FirstElement; // Nicer name // < ResourceWidth / ElementSize
UINT ElementOffset;
};
union
{
UINT NumElements; // Nicer name // <= ( ResourceWidth / ElementSize - ElementOffset )
UINT ElementWidth;
};
} D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW;
typedef struct D3D11DDIARG_BUFFEREX_SHADERRESOURCEVIEW
{
union
{
UINT FirstElement; // Nicer name // < ResourceWidth / ElementSize
UINT ElementOffset;
};
union
{
UINT NumElements; // Nicer name // <= ( ResourceWidth / ElementSize - ElementOffset )
UINT ElementWidth;
};
UINT Flags; // See D3D11_DDI_BUFFEREX_SRV_FLAG_* below
} D3D11DDIARG_BUFFEREX_SHADERRESOURCEVIEW;
#define D3D11_DDI_BUFFEREX_SRV_FLAG_RAW 0x00000001
typedef struct D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW
{
UINT MostDetailedMip; // < Resource MipLevels
UINT FirstArraySlice; // < Resource ArraySize
UINT MipLevels; // <= ( Resource MipLevels - MostDetailedMip )
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW;
typedef struct D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW
{
UINT MostDetailedMip; // < Resource MipLevels
UINT FirstArraySlice; // < Resource ArraySize
UINT MipLevels; // <= ( Resource MipLevels - MostDetailedMip )
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW;
typedef struct D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW
{
UINT MostDetailedMip; // < Resource MipLevels
UINT MipLevels; // <= ( Resource MipLevels - MostDetailedMip )
} D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW;
typedef struct D3D10DDIARG_TEXCUBE_SHADERRESOURCEVIEW
{
UINT MostDetailedMip;
UINT MipLevels;
} D3D10DDIARG_TEXCUBE_SHADERRESOURCEVIEW;
typedef struct D3D10_1DDIARG_TEXCUBE_SHADERRESOURCEVIEW
{
UINT MostDetailedMip; // < Resource MipLevels
UINT MipLevels; // <= ( Resource MipLevels - MostDetailedMip )
UINT First2DArrayFace; // <= ( Resource ArraySize - 5 )
UINT NumCubes; // multiple of 6 faces that must fit in resource after First2DArrayFace
} D3D10_1DDIARG_TEXCUBE_SHADERRESOURCEVIEW;
typedef struct D3D11DDIARG_CREATESHADERRESOURCEVIEW
{
D3D10DDI_HRESOURCE hDrvResource;
DXGI_FORMAT Format; // Fully qualified
D3D10DDIRESOURCE_TYPE ResourceDimension;
union
{
D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW Buffer;
D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW Tex1D;
D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW Tex2D;
D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW Tex3D;
D3D10_1DDIARG_TEXCUBE_SHADERRESOURCEVIEW TexCube;
D3D11DDIARG_BUFFEREX_SHADERRESOURCEVIEW BufferEx;
};
} D3D11DDIARG_CREATESHADERRESOURCEVIEW;
// part of user mode Device interface:
STDMETHOD_( SIZE_T, CalcPrivateShaderResourceViewSize )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATESHADERRESOURCEVIEW* pCreateShaderResourceView );
STDMETHOD( CreateShaderResourceView )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATESHADERRESOURCEVIEW* pCreateShaderResourceView,
D3D10DDI_HSHADERRESOURCEVIEW hDrvShaderResourceView );
STDMETHOD_( void, DestroyShaderInput )( D3D10DDI_HDEVICE hDrvDevice,
D3D10DDI_HSHADERRESOURCEVIEW hDrvShaderResourceView );
typedef struct D3D10DDI_HRENDERTARGETVIEW
{
void* m_pDrvPrivate;
} D3D10DDI_HRENDERTARGETVIEW;
typedef struct D3D10DDIARG_BUFFER_RENDERTARGETVIEW
{
union
{
UINT FirstElement; // Nicer name // < ResourceWidth / ElementSize
UINT ElementOffset;
};
union
{
UINT NumElements; // Nicer name // <= ( ResourceWidth / ElementSize - ElementOffset )
UINT ElementWidth;
};
} D3D10DDIARG_BUFFER_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_TEX1D_RENDERTARGETVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX1D_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_TEX2D_RENDERTARGETVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX2D_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_TEX3D_RENDERTARGETVIEW
{
UINT MipSlice;
UINT FirstW; // < Resource MipSlice W dimension
UINT WSize; // <= ( Resource MipSlice W dimension - FirstW )
} D3D10DDIARG_TEX3D_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_TEXCUBE_RENDERTARGETVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // as 2DArray
UINT ArraySize; // as 2DArray
} D3D10DDIARG_TEXCUBE_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_CREATERENDERTARGETVIEW
{
D3D10DDI_HRESOURCE hDrvResource;
DXGI_FORMAT Format; // Fully qualified
D3D10DDIRESOURCE_TYPE ResourceDimension;
union
{
D3D10DDIARG_BUFFER_RENDERTARGETVIEW Buffer;
D3D10DDIARG_TEX1D_RENDERTARGETVIEW Tex1D;
D3D10DDIARG_TEX2D_RENDERTARGETVIEW Tex2D;
D3D10DDIARG_TEX3D_RENDERTARGETVIEW Tex3D;
D3D10DDIARG_TEXCUBE_RENDERTARGETVIEW TexCube;
};
} D3D10DDIARG_CREATERENDERTARGETVIEW;
// part of user mode Device interface:
STDMETHOD_( SIZE_T, CalcPrivateRenderTargetViewSize )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D10DDIARG_CREATERENDERTARGETVIEW* pCreateRenderTargetView );
STDMETHOD( CreateRenderTargetView )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D10DDIARG_CREATERENDERTARGETVIEW* pCreateRenderTargetView,
D3D10DDI_HRENDERTARGETVIEW hDrvRenderTargetView );
STDMETHOD_( void, DestroyRenderTargetView )( D3D10DDI_HDEVICE hDrvDevice,
D3D10DDI_HRENDERTARGETVIEW hDrvRenderTargetView );
typedef struct D3D10DDI_HDEPTHSTENCILVIEW
{
void* m_pDrvPrivate;
} D3D10DDI_HDEPTHSTENCILVIEW;
typedef struct D3D10DDIARG_TEX1D_DEPTHSTENCILVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX1D_DEPTHSTENCILVIEW;
typedef struct D3D10DDIARG_TEX2D_DEPTHSTENCILVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX2D_DEPTHSTENCILVIEW;
typedef struct D3D10DDIARG_TEXCUBE_DEPTHSTENCILVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // as 2DArray
UINT ArraySize; // as 2DArray
} D3D10DDIARG_TEXCUBE_DEPTHSTENCILVIEW;
typedef enum D3D11_DDI_CREATEDEPTHSTENCILVIEW_FLAG
{
D3D11_DDI_CREATE_DSV_READ_ONLY_DEPTH = 0x01L,
D3D11_DDI_CREATE_DSV_READ_ONLY_STENCIL = 0x02L,
D3D11_DDI_CREATE_DSV_FLAG_MASK = 0x03L,
} D3D11_DDI_CREATEDEPTHSTENCILVIEW_FLAG;
typedef struct D3D11DDIARG_CREATEDEPTHSTENCILVIEW
{
D3D10DDI_HRESOURCE hDrvResource;
DXGI_FORMAT Format; // Fully qualified
D3D10DDIRESOURCE_TYPE ResourceDimension;
UINT Flags;
union
{
D3D10DDIARG_TEX1D_DEPTHSTENCILVIEW Tex1D;
D3D10DDIARG_TEX2D_DEPTHSTENCILVIEW Tex2D;
D3D10DDIARG_TEXCUBE_DEPTHSTENCILVIEW TexCube;
};
} D3D11DDIARG_CREATEDEPTHSTENCILVIEW;
// part of user mode Device interface:
STDMETHOD_( SIZE_T, CalcPrivateDepthStencilViewSize )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATEDEPTHSTENCILVIEW* pCreateDepthStencilView );
STDMETHOD( CreateDepthStencilView )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATEDEPTHSTENCILVIEW* pCreateDepthStencilView,
D3D10DDI_HDEPTHSTENCILVIEW hDrvDepthStencilView );
STDMETHOD_( void, DestroyDepthStencilView )( D3D10DDI_HDEVICE hDrvDevice,
D3D10DDI_HDEPTHSTENCILVIEW hDrvDepthStencilView );
typedef struct D3D11DDI_HUNORDEREDACCESSVIEW
{
void* m_pDrvPrivate;
} D3D11DDI_HUNORDEREDACCESSVIEW;
typedef struct D3D11DDIARG_BUFFER_UNORDEREDACCESSVIEW
{
UINT FirstElement; // < ResourceWidth / ElementSize
UINT NumElements; // <= ( ResourceWidth / ElementSize - ElementOffset )
UINT Flags; // See D3D11_DDI_BUFFER_UAV_FLAG* below
} D3D11DDIARG_BUFFER_UNORDEREDACCESSVIEW;
#define D3D11_DDI_BUFFER_UAV_FLAG_RAW 0x00000001
#define D3D11_DDI_BUFFER_UAV_FLAG_APPEND 0x00000002
#define D3D11_DDI_BUFFER_UAV_FLAG_COUNTER 0x00000004
typedef struct D3D11DDIARG_TEX1D_UNORDEREDACCESSVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D11DDIARG_TEX1D_UNORDEREDACCESSVIEW;
typedef struct D3D11DDIARG_TEX2D_UNORDEREDACCESSVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D11DDIARG_TEX2D_UNORDEREDACCESSVIEW;
typedef struct D3D11DDIARG_TEX3D_UNORDEREDACCESSVIEW
{
UINT MipSlice;
UINT FirstW; // < Resource MipSlice W dimension
UINT WSize; // <= ( Resource MipSlice W dimension - FirstW )
} D3D11DDIARG_TEX3D_UNORDEREDACCESSVIEW;
typedef struct D3D11DDIARG_CREATEUNORDEREDACCESSVIEW
{
D3D10DDI_HRESOURCE hDrvResource;
DXGI_FORMAT Format; // Fully qualified
D3D10DDIRESOURCE_TYPE ResourceDimension; // Runtime will never set this to TexCube
union
{
D3D11DDIARG_BUFFER_UNORDEREDACCESSVIEW Buffer;
D3D11DDIARG_TEX1D_UNORDEREDACCESSVIEW Tex1D;
D3D11DDIARG_TEX2D_UNORDEREDACCESSVIEW Tex2D;
D3D11DDIARG_TEX3D_UNORDEREDACCESSVIEW Tex3D;
};
} D3D11DDIARG_CREATEUNORDEREDACCESSVIEW;
// part of user mode Device interface:
STDMETHOD_( SIZE_T, CalcPrivateUnorderedAccessViewSize )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATEUNORDEREDACCESS* pCreateUnorderedAccessView );
STDMETHOD( CreateUnorderedAccessView )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATEUNORDEREDACCESSVIEW* pCreateUnorderedAccessView,
D3D10DDI_HUNORDEREDACCESSVIEW hDrvUnorderedAccessView );
STDMETHOD_( void, DestroyDepthStencilView )( D3D10DDI_HDEVICE hDrvDevice,
D3D10DDI_HUNORDEREDACCESSVIEW hDrvUnorderedAccessView );
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
d3d/archive/images/d3d11/D3D11_3_FunctionalSpec.htm [2398:2689]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
contents of the Resource.
typedef struct D3D10DDI_HSHADERRESOURCEVIEW
{
void* m_pDrvPrivate;
} D3D10DDI_HSHADERRESOURCEVIEW;
typedef struct D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW
{
union
{
UINT FirstElement; // Nicer name // < ResourceWidth / ElementSize
UINT ElementOffset;
};
union
{
UINT NumElements; // Nicer name // <= ( ResourceWidth / ElementSize - ElementOffset )
UINT ElementWidth;
};
} D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW;
typedef struct D3D11DDIARG_BUFFEREX_SHADERRESOURCEVIEW
{
union
{
UINT FirstElement; // Nicer name // < ResourceWidth / ElementSize
UINT ElementOffset;
};
union
{
UINT NumElements; // Nicer name // <= ( ResourceWidth / ElementSize - ElementOffset )
UINT ElementWidth;
};
UINT Flags; // See D3D11_DDI_BUFFEREX_SRV_FLAG_* below
} D3D11DDIARG_BUFFEREX_SHADERRESOURCEVIEW;
#define D3D11_DDI_BUFFEREX_SRV_FLAG_RAW 0x00000001
typedef struct D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW
{
UINT MostDetailedMip; // < Resource MipLevels
UINT FirstArraySlice; // < Resource ArraySize
UINT MipLevels; // <= ( Resource MipLevels - MostDetailedMip )
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW;
typedef struct D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW
{
UINT MostDetailedMip; // < Resource MipLevels
UINT FirstArraySlice; // < Resource ArraySize
UINT MipLevels; // <= ( Resource MipLevels - MostDetailedMip )
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW;
typedef struct D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW
{
UINT MostDetailedMip; // < Resource MipLevels
UINT MipLevels; // <= ( Resource MipLevels - MostDetailedMip )
} D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW;
typedef struct D3D10DDIARG_TEXCUBE_SHADERRESOURCEVIEW
{
UINT MostDetailedMip;
UINT MipLevels;
} D3D10DDIARG_TEXCUBE_SHADERRESOURCEVIEW;
typedef struct D3D10_1DDIARG_TEXCUBE_SHADERRESOURCEVIEW
{
UINT MostDetailedMip; // < Resource MipLevels
UINT MipLevels; // <= ( Resource MipLevels - MostDetailedMip )
UINT First2DArrayFace; // <= ( Resource ArraySize - 5 )
UINT NumCubes; // multiple of 6 faces that must fit in resource after First2DArrayFace
} D3D10_1DDIARG_TEXCUBE_SHADERRESOURCEVIEW;
typedef struct D3D11DDIARG_CREATESHADERRESOURCEVIEW
{
D3D10DDI_HRESOURCE hDrvResource;
DXGI_FORMAT Format; // Fully qualified
D3D10DDIRESOURCE_TYPE ResourceDimension;
union
{
D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW Buffer;
D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW Tex1D;
D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW Tex2D;
D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW Tex3D;
D3D10_1DDIARG_TEXCUBE_SHADERRESOURCEVIEW TexCube;
D3D11DDIARG_BUFFEREX_SHADERRESOURCEVIEW BufferEx;
};
} D3D11DDIARG_CREATESHADERRESOURCEVIEW;
// part of user mode Device interface:
STDMETHOD_( SIZE_T, CalcPrivateShaderResourceViewSize )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATESHADERRESOURCEVIEW* pCreateShaderResourceView );
STDMETHOD( CreateShaderResourceView )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATESHADERRESOURCEVIEW* pCreateShaderResourceView,
D3D10DDI_HSHADERRESOURCEVIEW hDrvShaderResourceView );
STDMETHOD_( void, DestroyShaderInput )( D3D10DDI_HDEVICE hDrvDevice,
D3D10DDI_HSHADERRESOURCEVIEW hDrvShaderResourceView );
typedef struct D3D10DDI_HRENDERTARGETVIEW
{
void* m_pDrvPrivate;
} D3D10DDI_HRENDERTARGETVIEW;
typedef struct D3D10DDIARG_BUFFER_RENDERTARGETVIEW
{
union
{
UINT FirstElement; // Nicer name // < ResourceWidth / ElementSize
UINT ElementOffset;
};
union
{
UINT NumElements; // Nicer name // <= ( ResourceWidth / ElementSize - ElementOffset )
UINT ElementWidth;
};
} D3D10DDIARG_BUFFER_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_TEX1D_RENDERTARGETVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX1D_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_TEX2D_RENDERTARGETVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX2D_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_TEX3D_RENDERTARGETVIEW
{
UINT MipSlice;
UINT FirstW; // < Resource MipSlice W dimension
UINT WSize; // <= ( Resource MipSlice W dimension - FirstW )
} D3D10DDIARG_TEX3D_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_TEXCUBE_RENDERTARGETVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // as 2DArray
UINT ArraySize; // as 2DArray
} D3D10DDIARG_TEXCUBE_RENDERTARGETVIEW;
typedef struct D3D10DDIARG_CREATERENDERTARGETVIEW
{
D3D10DDI_HRESOURCE hDrvResource;
DXGI_FORMAT Format; // Fully qualified
D3D10DDIRESOURCE_TYPE ResourceDimension;
union
{
D3D10DDIARG_BUFFER_RENDERTARGETVIEW Buffer;
D3D10DDIARG_TEX1D_RENDERTARGETVIEW Tex1D;
D3D10DDIARG_TEX2D_RENDERTARGETVIEW Tex2D;
D3D10DDIARG_TEX3D_RENDERTARGETVIEW Tex3D;
D3D10DDIARG_TEXCUBE_RENDERTARGETVIEW TexCube;
};
} D3D10DDIARG_CREATERENDERTARGETVIEW;
// part of user mode Device interface:
STDMETHOD_( SIZE_T, CalcPrivateRenderTargetViewSize )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D10DDIARG_CREATERENDERTARGETVIEW* pCreateRenderTargetView );
STDMETHOD( CreateRenderTargetView )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D10DDIARG_CREATERENDERTARGETVIEW* pCreateRenderTargetView,
D3D10DDI_HRENDERTARGETVIEW hDrvRenderTargetView );
STDMETHOD_( void, DestroyRenderTargetView )( D3D10DDI_HDEVICE hDrvDevice,
D3D10DDI_HRENDERTARGETVIEW hDrvRenderTargetView );
typedef struct D3D10DDI_HDEPTHSTENCILVIEW
{
void* m_pDrvPrivate;
} D3D10DDI_HDEPTHSTENCILVIEW;
typedef struct D3D10DDIARG_TEX1D_DEPTHSTENCILVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX1D_DEPTHSTENCILVIEW;
typedef struct D3D10DDIARG_TEX2D_DEPTHSTENCILVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D10DDIARG_TEX2D_DEPTHSTENCILVIEW;
typedef struct D3D10DDIARG_TEXCUBE_DEPTHSTENCILVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // as 2DArray
UINT ArraySize; // as 2DArray
} D3D10DDIARG_TEXCUBE_DEPTHSTENCILVIEW;
typedef enum D3D11_DDI_CREATEDEPTHSTENCILVIEW_FLAG
{
D3D11_DDI_CREATE_DSV_READ_ONLY_DEPTH = 0x01L,
D3D11_DDI_CREATE_DSV_READ_ONLY_STENCIL = 0x02L,
D3D11_DDI_CREATE_DSV_FLAG_MASK = 0x03L,
} D3D11_DDI_CREATEDEPTHSTENCILVIEW_FLAG;
typedef struct D3D11DDIARG_CREATEDEPTHSTENCILVIEW
{
D3D10DDI_HRESOURCE hDrvResource;
DXGI_FORMAT Format; // Fully qualified
D3D10DDIRESOURCE_TYPE ResourceDimension;
UINT Flags;
union
{
D3D10DDIARG_TEX1D_DEPTHSTENCILVIEW Tex1D;
D3D10DDIARG_TEX2D_DEPTHSTENCILVIEW Tex2D;
D3D10DDIARG_TEXCUBE_DEPTHSTENCILVIEW TexCube;
};
} D3D11DDIARG_CREATEDEPTHSTENCILVIEW;
// part of user mode Device interface:
STDMETHOD_( SIZE_T, CalcPrivateDepthStencilViewSize )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATEDEPTHSTENCILVIEW* pCreateDepthStencilView );
STDMETHOD( CreateDepthStencilView )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATEDEPTHSTENCILVIEW* pCreateDepthStencilView,
D3D10DDI_HDEPTHSTENCILVIEW hDrvDepthStencilView );
STDMETHOD_( void, DestroyDepthStencilView )( D3D10DDI_HDEVICE hDrvDevice,
D3D10DDI_HDEPTHSTENCILVIEW hDrvDepthStencilView );
typedef struct D3D11DDI_HUNORDEREDACCESSVIEW
{
void* m_pDrvPrivate;
} D3D11DDI_HUNORDEREDACCESSVIEW;
typedef struct D3D11DDIARG_BUFFER_UNORDEREDACCESSVIEW
{
UINT FirstElement; // < ResourceWidth / ElementSize
UINT NumElements; // <= ( ResourceWidth / ElementSize - ElementOffset )
UINT Flags; // See D3D11_DDI_BUFFER_UAV_FLAG* below
} D3D11DDIARG_BUFFER_UNORDEREDACCESSVIEW;
#define D3D11_DDI_BUFFER_UAV_FLAG_RAW 0x00000001
#define D3D11_DDI_BUFFER_UAV_FLAG_APPEND 0x00000002
#define D3D11_DDI_BUFFER_UAV_FLAG_COUNTER 0x00000004
typedef struct D3D11DDIARG_TEX1D_UNORDEREDACCESSVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D11DDIARG_TEX1D_UNORDEREDACCESSVIEW;
typedef struct D3D11DDIARG_TEX2D_UNORDEREDACCESSVIEW
{
UINT MipSlice;
UINT FirstArraySlice; // < Resource ArraySize
UINT ArraySize; // <= ( Resource ArraySize - FirstArraySlice )
} D3D11DDIARG_TEX2D_UNORDEREDACCESSVIEW;
typedef struct D3D11DDIARG_TEX3D_UNORDEREDACCESSVIEW
{
UINT MipSlice;
UINT FirstW; // < Resource MipSlice W dimension
UINT WSize; // <= ( Resource MipSlice W dimension - FirstW )
} D3D11DDIARG_TEX3D_UNORDEREDACCESSVIEW;
typedef struct D3D11DDIARG_CREATEUNORDEREDACCESSVIEW
{
D3D10DDI_HRESOURCE hDrvResource;
DXGI_FORMAT Format; // Fully qualified
D3D10DDIRESOURCE_TYPE ResourceDimension; // Runtime will never set this to TexCube
union
{
D3D11DDIARG_BUFFER_UNORDEREDACCESSVIEW Buffer;
D3D11DDIARG_TEX1D_UNORDEREDACCESSVIEW Tex1D;
D3D11DDIARG_TEX2D_UNORDEREDACCESSVIEW Tex2D;
D3D11DDIARG_TEX3D_UNORDEREDACCESSVIEW Tex3D;
};
} D3D11DDIARG_CREATEUNORDEREDACCESSVIEW;
// part of user mode Device interface:
STDMETHOD_( SIZE_T, CalcPrivateUnorderedAccessViewSize )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATEUNORDEREDACCESS* pCreateUnorderedAccessView );
STDMETHOD( CreateUnorderedAccessView )( D3D10DDI_HDEVICE hDrvDevice,
CONST D3D11DDIARG_CREATEUNORDEREDACCESSVIEW* pCreateUnorderedAccessView,
D3D10DDI_HUNORDEREDACCESSVIEW hDrvUnorderedAccessView );
STDMETHOD_( void, DestroyDepthStencilView )( D3D10DDI_HDEVICE hDrvDevice,
D3D10DDI_HUNORDEREDACCESSVIEW hDrvUnorderedAccessView );
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -