Trait windows::Win32::Graphics::Direct3D11::ID3D11Device_Impl
pub trait ID3D11Device_Impl: Sized {
Show 40 methods
// Required methods
fn CreateBuffer(
&self,
pdesc: *const D3D11_BUFFER_DESC,
pinitialdata: *const D3D11_SUBRESOURCE_DATA,
ppbuffer: *mut Option<ID3D11Buffer>,
) -> Result<()>;
fn CreateTexture1D(
&self,
pdesc: *const D3D11_TEXTURE1D_DESC,
pinitialdata: *const D3D11_SUBRESOURCE_DATA,
pptexture1d: *mut Option<ID3D11Texture1D>,
) -> Result<()>;
fn CreateTexture2D(
&self,
pdesc: *const D3D11_TEXTURE2D_DESC,
pinitialdata: *const D3D11_SUBRESOURCE_DATA,
pptexture2d: *mut Option<ID3D11Texture2D>,
) -> Result<()>;
fn CreateTexture3D(
&self,
pdesc: *const D3D11_TEXTURE3D_DESC,
pinitialdata: *const D3D11_SUBRESOURCE_DATA,
pptexture3d: *mut Option<ID3D11Texture3D>,
) -> Result<()>;
fn CreateShaderResourceView(
&self,
presource: Option<&ID3D11Resource>,
pdesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC,
ppsrview: *mut Option<ID3D11ShaderResourceView>,
) -> Result<()>;
fn CreateUnorderedAccessView(
&self,
presource: Option<&ID3D11Resource>,
pdesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC,
ppuaview: *mut Option<ID3D11UnorderedAccessView>,
) -> Result<()>;
fn CreateRenderTargetView(
&self,
presource: Option<&ID3D11Resource>,
pdesc: *const D3D11_RENDER_TARGET_VIEW_DESC,
pprtview: *mut Option<ID3D11RenderTargetView>,
) -> Result<()>;
fn CreateDepthStencilView(
&self,
presource: Option<&ID3D11Resource>,
pdesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC,
ppdepthstencilview: *mut Option<ID3D11DepthStencilView>,
) -> Result<()>;
fn CreateInputLayout(
&self,
pinputelementdescs: *const D3D11_INPUT_ELEMENT_DESC,
numelements: u32,
pshaderbytecodewithinputsignature: *const c_void,
bytecodelength: usize,
ppinputlayout: *mut Option<ID3D11InputLayout>,
) -> Result<()>;
fn CreateVertexShader(
&self,
pshaderbytecode: *const c_void,
bytecodelength: usize,
pclasslinkage: Option<&ID3D11ClassLinkage>,
ppvertexshader: *mut Option<ID3D11VertexShader>,
) -> Result<()>;
fn CreateGeometryShader(
&self,
pshaderbytecode: *const c_void,
bytecodelength: usize,
pclasslinkage: Option<&ID3D11ClassLinkage>,
ppgeometryshader: *mut Option<ID3D11GeometryShader>,
) -> Result<()>;
fn CreateGeometryShaderWithStreamOutput(
&self,
pshaderbytecode: *const c_void,
bytecodelength: usize,
psodeclaration: *const D3D11_SO_DECLARATION_ENTRY,
numentries: u32,
pbufferstrides: *const u32,
numstrides: u32,
rasterizedstream: u32,
pclasslinkage: Option<&ID3D11ClassLinkage>,
ppgeometryshader: *mut Option<ID3D11GeometryShader>,
) -> Result<()>;
fn CreatePixelShader(
&self,
pshaderbytecode: *const c_void,
bytecodelength: usize,
pclasslinkage: Option<&ID3D11ClassLinkage>,
pppixelshader: *mut Option<ID3D11PixelShader>,
) -> Result<()>;
fn CreateHullShader(
&self,
pshaderbytecode: *const c_void,
bytecodelength: usize,
pclasslinkage: Option<&ID3D11ClassLinkage>,
pphullshader: *mut Option<ID3D11HullShader>,
) -> Result<()>;
fn CreateDomainShader(
&self,
pshaderbytecode: *const c_void,
bytecodelength: usize,
pclasslinkage: Option<&ID3D11ClassLinkage>,
ppdomainshader: *mut Option<ID3D11DomainShader>,
) -> Result<()>;
fn CreateComputeShader(
&self,
pshaderbytecode: *const c_void,
bytecodelength: usize,
pclasslinkage: Option<&ID3D11ClassLinkage>,
ppcomputeshader: *mut Option<ID3D11ComputeShader>,
) -> Result<()>;
fn CreateClassLinkage(&self) -> Result<ID3D11ClassLinkage>;
fn CreateBlendState(
&self,
pblendstatedesc: *const D3D11_BLEND_DESC,
ppblendstate: *mut Option<ID3D11BlendState>,
) -> Result<()>;
fn CreateDepthStencilState(
&self,
pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC,
ppdepthstencilstate: *mut Option<ID3D11DepthStencilState>,
) -> Result<()>;
fn CreateRasterizerState(
&self,
prasterizerdesc: *const D3D11_RASTERIZER_DESC,
pprasterizerstate: *mut Option<ID3D11RasterizerState>,
) -> Result<()>;
fn CreateSamplerState(
&self,
psamplerdesc: *const D3D11_SAMPLER_DESC,
ppsamplerstate: *mut Option<ID3D11SamplerState>,
) -> Result<()>;
fn CreateQuery(
&self,
pquerydesc: *const D3D11_QUERY_DESC,
ppquery: *mut Option<ID3D11Query>,
) -> Result<()>;
fn CreatePredicate(
&self,
ppredicatedesc: *const D3D11_QUERY_DESC,
pppredicate: *mut Option<ID3D11Predicate>,
) -> Result<()>;
fn CreateCounter(
&self,
pcounterdesc: *const D3D11_COUNTER_DESC,
ppcounter: *mut Option<ID3D11Counter>,
) -> Result<()>;
fn CreateDeferredContext(
&self,
contextflags: u32,
ppdeferredcontext: *mut Option<ID3D11DeviceContext>,
) -> Result<()>;
fn OpenSharedResource(
&self,
hresource: HANDLE,
returnedinterface: *const GUID,
ppresource: *mut *mut c_void,
) -> Result<()>;
fn CheckFormatSupport(&self, format: DXGI_FORMAT) -> Result<u32>;
fn CheckMultisampleQualityLevels(
&self,
format: DXGI_FORMAT,
samplecount: u32,
) -> Result<u32>;
fn CheckCounterInfo(&self, pcounterinfo: *mut D3D11_COUNTER_INFO);
fn CheckCounter(
&self,
pdesc: *const D3D11_COUNTER_DESC,
ptype: *mut D3D11_COUNTER_TYPE,
pactivecounters: *mut u32,
szname: PSTR,
pnamelength: *mut u32,
szunits: PSTR,
punitslength: *mut u32,
szdescription: PSTR,
pdescriptionlength: *mut u32,
) -> Result<()>;
fn CheckFeatureSupport(
&self,
feature: D3D11_FEATURE,
pfeaturesupportdata: *mut c_void,
featuresupportdatasize: u32,
) -> Result<()>;
fn GetPrivateData(
&self,
guid: *const GUID,
pdatasize: *mut u32,
pdata: *mut c_void,
) -> Result<()>;
fn SetPrivateData(
&self,
guid: *const GUID,
datasize: u32,
pdata: *const c_void,
) -> Result<()>;
fn SetPrivateDataInterface(
&self,
guid: *const GUID,
pdata: Option<&IUnknown>,
) -> Result<()>;
fn GetFeatureLevel(&self) -> D3D_FEATURE_LEVEL;
fn GetCreationFlags(&self) -> u32;
fn GetDeviceRemovedReason(&self) -> Result<()>;
fn GetImmediateContext(
&self,
ppimmediatecontext: *mut Option<ID3D11DeviceContext>,
);
fn SetExceptionMode(&self, raiseflags: u32) -> Result<()>;
fn GetExceptionMode(&self) -> u32;
}
Required Methods§
fn CreateBuffer( &self, pdesc: *const D3D11_BUFFER_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, ppbuffer: *mut Option<ID3D11Buffer>, ) -> Result<()>
fn CreateTexture1D( &self, pdesc: *const D3D11_TEXTURE1D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture1d: *mut Option<ID3D11Texture1D>, ) -> Result<()>
fn CreateTexture2D( &self, pdesc: *const D3D11_TEXTURE2D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture2d: *mut Option<ID3D11Texture2D>, ) -> Result<()>
fn CreateTexture3D( &self, pdesc: *const D3D11_TEXTURE3D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture3d: *mut Option<ID3D11Texture3D>, ) -> Result<()>
fn CreateShaderResourceView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC, ppsrview: *mut Option<ID3D11ShaderResourceView>, ) -> Result<()>
fn CreateUnorderedAccessView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC, ppuaview: *mut Option<ID3D11UnorderedAccessView>, ) -> Result<()>
fn CreateRenderTargetView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_RENDER_TARGET_VIEW_DESC, pprtview: *mut Option<ID3D11RenderTargetView>, ) -> Result<()>
fn CreateDepthStencilView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC, ppdepthstencilview: *mut Option<ID3D11DepthStencilView>, ) -> Result<()>
fn CreateInputLayout( &self, pinputelementdescs: *const D3D11_INPUT_ELEMENT_DESC, numelements: u32, pshaderbytecodewithinputsignature: *const c_void, bytecodelength: usize, ppinputlayout: *mut Option<ID3D11InputLayout>, ) -> Result<()>
fn CreateVertexShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppvertexshader: *mut Option<ID3D11VertexShader>, ) -> Result<()>
fn CreateGeometryShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppgeometryshader: *mut Option<ID3D11GeometryShader>, ) -> Result<()>
fn CreateGeometryShaderWithStreamOutput( &self, pshaderbytecode: *const c_void, bytecodelength: usize, psodeclaration: *const D3D11_SO_DECLARATION_ENTRY, numentries: u32, pbufferstrides: *const u32, numstrides: u32, rasterizedstream: u32, pclasslinkage: Option<&ID3D11ClassLinkage>, ppgeometryshader: *mut Option<ID3D11GeometryShader>, ) -> Result<()>
fn CreatePixelShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, pppixelshader: *mut Option<ID3D11PixelShader>, ) -> Result<()>
fn CreateHullShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, pphullshader: *mut Option<ID3D11HullShader>, ) -> Result<()>
fn CreateDomainShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppdomainshader: *mut Option<ID3D11DomainShader>, ) -> Result<()>
fn CreateComputeShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppcomputeshader: *mut Option<ID3D11ComputeShader>, ) -> Result<()>
fn CreateClassLinkage(&self) -> Result<ID3D11ClassLinkage>
fn CreateBlendState( &self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: *mut Option<ID3D11BlendState>, ) -> Result<()>
fn CreateDepthStencilState( &self, pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC, ppdepthstencilstate: *mut Option<ID3D11DepthStencilState>, ) -> Result<()>
fn CreateRasterizerState( &self, prasterizerdesc: *const D3D11_RASTERIZER_DESC, pprasterizerstate: *mut Option<ID3D11RasterizerState>, ) -> Result<()>
fn CreateSamplerState( &self, psamplerdesc: *const D3D11_SAMPLER_DESC, ppsamplerstate: *mut Option<ID3D11SamplerState>, ) -> Result<()>
fn CreateQuery( &self, pquerydesc: *const D3D11_QUERY_DESC, ppquery: *mut Option<ID3D11Query>, ) -> Result<()>
fn CreatePredicate( &self, ppredicatedesc: *const D3D11_QUERY_DESC, pppredicate: *mut Option<ID3D11Predicate>, ) -> Result<()>
fn CreateCounter( &self, pcounterdesc: *const D3D11_COUNTER_DESC, ppcounter: *mut Option<ID3D11Counter>, ) -> Result<()>
fn CreateDeferredContext( &self, contextflags: u32, ppdeferredcontext: *mut Option<ID3D11DeviceContext>, ) -> Result<()>
fn CheckFormatSupport(&self, format: DXGI_FORMAT) -> Result<u32>
fn CheckMultisampleQualityLevels( &self, format: DXGI_FORMAT, samplecount: u32, ) -> Result<u32>
fn CheckCounterInfo(&self, pcounterinfo: *mut D3D11_COUNTER_INFO)
fn CheckCounter( &self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: PSTR, pnamelength: *mut u32, szunits: PSTR, punitslength: *mut u32, szdescription: PSTR, pdescriptionlength: *mut u32, ) -> Result<()>
fn CheckFeatureSupport( &self, feature: D3D11_FEATURE, pfeaturesupportdata: *mut c_void, featuresupportdatasize: u32, ) -> Result<()>
fn GetPrivateData( &self, guid: *const GUID, pdatasize: *mut u32, pdata: *mut c_void, ) -> Result<()>
fn SetPrivateData( &self, guid: *const GUID, datasize: u32, pdata: *const c_void, ) -> Result<()>
fn SetPrivateDataInterface( &self, guid: *const GUID, pdata: Option<&IUnknown>, ) -> Result<()>
fn GetFeatureLevel(&self) -> D3D_FEATURE_LEVEL
fn GetCreationFlags(&self) -> u32
fn GetDeviceRemovedReason(&self) -> Result<()>
fn GetImmediateContext( &self, ppimmediatecontext: *mut Option<ID3D11DeviceContext>, )
fn SetExceptionMode(&self, raiseflags: u32) -> Result<()>
fn GetExceptionMode(&self) -> u32
Object Safety§
This trait is not object safe.