summaryrefslogtreecommitdiffstats
path: root/src/libs/dxvk-native-1.9.2a/src/d3d10/d3d10_device.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/libs/dxvk-native-1.9.2a/src/d3d10/d3d10_device.h480
1 files changed, 480 insertions, 0 deletions
diff --git a/src/libs/dxvk-native-1.9.2a/src/d3d10/d3d10_device.h b/src/libs/dxvk-native-1.9.2a/src/d3d10/d3d10_device.h
new file mode 100644
index 00000000..c3494cfe
--- /dev/null
+++ b/src/libs/dxvk-native-1.9.2a/src/d3d10/d3d10_device.h
@@ -0,0 +1,480 @@
+#pragma once
+
+#include "d3d10_multithread.h"
+
+namespace dxvk {
+
+ class D3D11Device;
+ class D3D11ImmediateContext;
+
+ class D3D10Device final : public ID3D10Device1 {
+
+ public:
+
+ D3D10Device(
+ D3D11Device* pDevice,
+ D3D11ImmediateContext* pContext);
+
+ ~D3D10Device();
+
+ HRESULT STDMETHODCALLTYPE QueryInterface(
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG STDMETHODCALLTYPE AddRef();
+
+ ULONG STDMETHODCALLTYPE Release();
+
+ HRESULT STDMETHODCALLTYPE GetPrivateData(
+ REFGUID guid,
+ UINT* pDataSize,
+ void* pData);
+
+ HRESULT STDMETHODCALLTYPE SetPrivateData(
+ REFGUID guid,
+ UINT DataSize,
+ const void* pData);
+
+ HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
+ REFGUID guid,
+ const IUnknown* pData);
+
+ HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason();
+
+ HRESULT STDMETHODCALLTYPE SetExceptionMode(
+ UINT RaiseFlags);
+
+ UINT STDMETHODCALLTYPE GetExceptionMode();
+
+ D3D10_FEATURE_LEVEL1 STDMETHODCALLTYPE GetFeatureLevel();
+
+ void STDMETHODCALLTYPE ClearState();
+
+ void STDMETHODCALLTYPE Flush();
+
+ HRESULT STDMETHODCALLTYPE CreateBuffer(
+ const D3D10_BUFFER_DESC* pDesc,
+ const D3D10_SUBRESOURCE_DATA* pInitialData,
+ ID3D10Buffer** ppBuffer);
+
+ HRESULT STDMETHODCALLTYPE CreateTexture1D(
+ const D3D10_TEXTURE1D_DESC* pDesc,
+ const D3D10_SUBRESOURCE_DATA* pInitialData,
+ ID3D10Texture1D** ppTexture1D);
+
+ HRESULT STDMETHODCALLTYPE CreateTexture2D(
+ const D3D10_TEXTURE2D_DESC* pDesc,
+ const D3D10_SUBRESOURCE_DATA* pInitialData,
+ ID3D10Texture2D** ppTexture2D);
+
+ HRESULT STDMETHODCALLTYPE CreateTexture3D(
+ const D3D10_TEXTURE3D_DESC* pDesc,
+ const D3D10_SUBRESOURCE_DATA* pInitialData,
+ ID3D10Texture3D** ppTexture3D);
+
+ HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
+ ID3D10Resource* pResource,
+ const D3D10_SHADER_RESOURCE_VIEW_DESC* pDesc,
+ ID3D10ShaderResourceView** ppSRView);
+
+ HRESULT STDMETHODCALLTYPE CreateShaderResourceView1(
+ ID3D10Resource* pResource,
+ const D3D10_SHADER_RESOURCE_VIEW_DESC1* pDesc,
+ ID3D10ShaderResourceView1** ppSRView);
+
+ HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
+ ID3D10Resource* pResource,
+ const D3D10_RENDER_TARGET_VIEW_DESC* pDesc,
+ ID3D10RenderTargetView** ppRTView);
+
+ HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
+ ID3D10Resource* pResource,
+ const D3D10_DEPTH_STENCIL_VIEW_DESC* pDesc,
+ ID3D10DepthStencilView** ppDepthStencilView);
+
+ HRESULT STDMETHODCALLTYPE CreateInputLayout(
+ const D3D10_INPUT_ELEMENT_DESC* pInputElementDescs,
+ UINT NumElements,
+ const void* pShaderBytecodeWithInputSignature,
+ SIZE_T BytecodeLength,
+ ID3D10InputLayout** ppInputLayout);
+
+ HRESULT STDMETHODCALLTYPE CreateVertexShader(
+ const void* pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10VertexShader** ppVertexShader);
+
+ HRESULT STDMETHODCALLTYPE CreateGeometryShader(
+ const void* pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10GeometryShader** ppGeometryShader);
+
+ HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
+ const void* pShaderBytecode,
+ SIZE_T BytecodeLength,
+ const D3D10_SO_DECLARATION_ENTRY* pSODeclaration,
+ UINT NumEntries,
+ UINT OutputStreamStride,
+ ID3D10GeometryShader** ppGeometryShader);
+
+ HRESULT STDMETHODCALLTYPE CreatePixelShader(
+ const void* pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10PixelShader** ppPixelShader);
+
+ HRESULT STDMETHODCALLTYPE CreateBlendState(
+ const D3D10_BLEND_DESC* pBlendStateDesc,
+ ID3D10BlendState** ppBlendState);
+
+ HRESULT STDMETHODCALLTYPE CreateBlendState1(
+ const D3D10_BLEND_DESC1* pBlendStateDesc,
+ ID3D10BlendState1** ppBlendState);
+
+ HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
+ const D3D10_DEPTH_STENCIL_DESC* pDepthStencilDesc,
+ ID3D10DepthStencilState** ppDepthStencilState);
+
+ HRESULT STDMETHODCALLTYPE CreateRasterizerState(
+ const D3D10_RASTERIZER_DESC* pRasterizerDesc,
+ ID3D10RasterizerState** ppRasterizerState);
+
+ HRESULT STDMETHODCALLTYPE CreateSamplerState(
+ const D3D10_SAMPLER_DESC* pSamplerDesc,
+ ID3D10SamplerState** ppSamplerState);
+
+ HRESULT STDMETHODCALLTYPE CreateQuery(
+ const D3D10_QUERY_DESC* pQueryDesc,
+ ID3D10Query** ppQuery);
+
+ HRESULT STDMETHODCALLTYPE CreatePredicate(
+ const D3D10_QUERY_DESC* pPredicateDesc,
+ ID3D10Predicate** ppPredicate);
+
+ HRESULT STDMETHODCALLTYPE CreateCounter(
+ const D3D10_COUNTER_DESC* pCounterDesc,
+ ID3D10Counter** ppCounter);
+
+ HRESULT STDMETHODCALLTYPE CheckFormatSupport(
+ DXGI_FORMAT Format,
+ UINT* pFormatSupport);
+
+ HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
+ DXGI_FORMAT Format,
+ UINT SampleCount,
+ UINT* pNumQualityLevels);
+
+ void STDMETHODCALLTYPE CheckCounterInfo(
+ D3D10_COUNTER_INFO* pCounterInfo);
+
+ HRESULT STDMETHODCALLTYPE CheckCounter(
+ const D3D10_COUNTER_DESC* pDesc,
+ D3D10_COUNTER_TYPE* pType,
+ UINT* pActiveCounters,
+ char* name,
+ UINT* pNameLength,
+ char* units,
+ UINT* pUnitsLength,
+ char* description,
+ UINT* pDescriptionLength);
+
+ UINT STDMETHODCALLTYPE GetCreationFlags();
+
+ HRESULT STDMETHODCALLTYPE OpenSharedResource(
+ HANDLE hResource,
+ REFIID ReturnedInterface,
+ void** ppResource);
+
+ void STDMETHODCALLTYPE ClearRenderTargetView(
+ ID3D10RenderTargetView* pRenderTargetView,
+ const FLOAT ColorRGBA[4]);
+
+ void STDMETHODCALLTYPE ClearDepthStencilView(
+ ID3D10DepthStencilView* pDepthStencilView,
+ UINT ClearFlags,
+ FLOAT Depth,
+ UINT8 Stencil);
+
+ void STDMETHODCALLTYPE SetPredication(
+ ID3D10Predicate* pPredicate,
+ BOOL PredicateValue);
+
+ void STDMETHODCALLTYPE GetPredication(
+ ID3D10Predicate** ppPredicate,
+ BOOL* pPredicateValue);
+
+ void STDMETHODCALLTYPE CopySubresourceRegion(
+ ID3D10Resource* pDstResource,
+ UINT DstSubresource,
+ UINT DstX,
+ UINT DstY,
+ UINT DstZ,
+ ID3D10Resource* pSrcResource,
+ UINT SrcSubresource,
+ const D3D10_BOX* pSrcBox);
+
+ void STDMETHODCALLTYPE CopyResource(
+ ID3D10Resource* pDstResource,
+ ID3D10Resource* pSrcResource);
+
+ void STDMETHODCALLTYPE UpdateSubresource(
+ ID3D10Resource* pDstResource,
+ UINT DstSubresource,
+ const D3D10_BOX* pDstBox,
+ const void* pSrcData,
+ UINT SrcRowPitch,
+ UINT SrcDepthPitch);
+
+ void STDMETHODCALLTYPE GenerateMips(
+ ID3D10ShaderResourceView* pShaderResourceView);
+
+ void STDMETHODCALLTYPE ResolveSubresource(
+ ID3D10Resource* pDstResource,
+ UINT DstSubresource,
+ ID3D10Resource* pSrcResource,
+ UINT SrcSubresource,
+ DXGI_FORMAT Format);
+
+ void STDMETHODCALLTYPE Draw(
+ UINT VertexCount,
+ UINT StartVertexLocation);
+
+ void STDMETHODCALLTYPE DrawIndexed(
+ UINT IndexCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation);
+
+ void STDMETHODCALLTYPE DrawInstanced(
+ UINT VertexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartVertexLocation,
+ UINT StartInstanceLocation);
+
+ void STDMETHODCALLTYPE DrawIndexedInstanced(
+ UINT IndexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation,
+ UINT StartInstanceLocation);
+
+ void STDMETHODCALLTYPE DrawAuto();
+
+ void STDMETHODCALLTYPE IASetInputLayout(
+ ID3D10InputLayout* pInputLayout);
+
+ void STDMETHODCALLTYPE IASetPrimitiveTopology(
+ D3D10_PRIMITIVE_TOPOLOGY Topology);
+
+ void STDMETHODCALLTYPE IASetVertexBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer* const* ppVertexBuffers,
+ const UINT* pStrides,
+ const UINT* pOffsets);
+
+ void STDMETHODCALLTYPE IASetIndexBuffer(
+ ID3D10Buffer* pIndexBuffer,
+ DXGI_FORMAT Format,
+ UINT Offset);
+
+ void STDMETHODCALLTYPE IAGetInputLayout(
+ ID3D10InputLayout** ppInputLayout);
+
+ void STDMETHODCALLTYPE IAGetPrimitiveTopology(
+ D3D10_PRIMITIVE_TOPOLOGY* pTopology);
+
+ void STDMETHODCALLTYPE IAGetVertexBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer** ppVertexBuffers,
+ UINT* pStrides,
+ UINT* pOffsets);
+
+ void STDMETHODCALLTYPE IAGetIndexBuffer(
+ ID3D10Buffer** pIndexBuffer,
+ DXGI_FORMAT* Format,
+ UINT* Offset);
+
+ void STDMETHODCALLTYPE VSSetShader(
+ ID3D10VertexShader* pVertexShader);
+
+ void STDMETHODCALLTYPE VSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer* const* ppConstantBuffers);
+
+ void STDMETHODCALLTYPE VSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView* const* ppShaderResourceViews);
+
+ void STDMETHODCALLTYPE VSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState* const* ppSamplers);
+
+ void STDMETHODCALLTYPE VSGetShader(
+ ID3D10VertexShader** ppVertexShader);
+
+ void STDMETHODCALLTYPE VSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer** ppConstantBuffers);
+
+ void STDMETHODCALLTYPE VSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView** ppShaderResourceViews);
+
+ void STDMETHODCALLTYPE VSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState** ppSamplers);
+
+ void STDMETHODCALLTYPE GSSetShader(
+ ID3D10GeometryShader* pShader);
+
+ void STDMETHODCALLTYPE GSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer* const* ppConstantBuffers);
+
+ void STDMETHODCALLTYPE GSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView* const* ppShaderResourceViews);
+
+ void STDMETHODCALLTYPE GSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState* const* ppSamplers);
+
+ void STDMETHODCALLTYPE GSGetShader(
+ ID3D10GeometryShader** ppGeometryShader);
+
+ void STDMETHODCALLTYPE GSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer** ppConstantBuffers);
+
+ void STDMETHODCALLTYPE GSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView** ppShaderResourceViews);
+
+ void STDMETHODCALLTYPE GSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState** ppSamplers);
+
+ void STDMETHODCALLTYPE PSSetShader(
+ ID3D10PixelShader* pPixelShader);
+
+ void STDMETHODCALLTYPE PSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer* const* ppConstantBuffers);
+
+ void STDMETHODCALLTYPE PSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView* const* ppShaderResourceViews);
+
+ void STDMETHODCALLTYPE PSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState* const* ppSamplers);
+
+ void STDMETHODCALLTYPE PSGetShader(
+ ID3D10PixelShader** ppPixelShader);
+
+ void STDMETHODCALLTYPE PSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer** ppConstantBuffers);
+
+ void STDMETHODCALLTYPE PSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView** ppShaderResourceViews);
+
+ void STDMETHODCALLTYPE PSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState** ppSamplers);
+
+ void STDMETHODCALLTYPE OMSetRenderTargets(
+ UINT NumViews,
+ ID3D10RenderTargetView* const* ppRenderTargetViews,
+ ID3D10DepthStencilView* pDepthStencilView);
+
+ void STDMETHODCALLTYPE OMSetBlendState(
+ ID3D10BlendState* pBlendState,
+ const FLOAT BlendFactor[4],
+ UINT SampleMask);
+
+ void STDMETHODCALLTYPE OMSetDepthStencilState(
+ ID3D10DepthStencilState* pDepthStencilState,
+ UINT StencilRef);
+
+ void STDMETHODCALLTYPE OMGetRenderTargets(
+ UINT NumViews,
+ ID3D10RenderTargetView** ppRenderTargetViews,
+ ID3D10DepthStencilView** ppDepthStencilView);
+
+ void STDMETHODCALLTYPE OMGetBlendState(
+ ID3D10BlendState** ppBlendState,
+ FLOAT BlendFactor[4],
+ UINT* pSampleMask);
+
+ void STDMETHODCALLTYPE OMGetDepthStencilState(
+ ID3D10DepthStencilState** ppDepthStencilState,
+ UINT* pStencilRef);
+
+ void STDMETHODCALLTYPE RSSetState(
+ ID3D10RasterizerState* pRasterizerState);
+
+ void STDMETHODCALLTYPE RSSetViewports(
+ UINT NumViewports,
+ const D3D10_VIEWPORT* pViewports);
+
+ void STDMETHODCALLTYPE RSSetScissorRects(
+ UINT NumRects,
+ const D3D10_RECT* pRects);
+
+ void STDMETHODCALLTYPE RSGetState(
+ ID3D10RasterizerState** ppRasterizerState);
+
+ void STDMETHODCALLTYPE RSGetViewports(
+ UINT* NumViewports,
+ D3D10_VIEWPORT* pViewports);
+
+ void STDMETHODCALLTYPE RSGetScissorRects(
+ UINT* NumRects,
+ D3D10_RECT* pRects);
+
+ void STDMETHODCALLTYPE SOSetTargets(
+ UINT NumBuffers,
+ ID3D10Buffer* const* ppSOTargets,
+ const UINT* pOffsets);
+
+ void STDMETHODCALLTYPE SOGetTargets(
+ UINT NumBuffers,
+ ID3D10Buffer** ppSOTargets,
+ UINT* pOffsets);
+
+ void STDMETHODCALLTYPE SetTextFilterSize(
+ UINT Width,
+ UINT Height);
+
+ void STDMETHODCALLTYPE GetTextFilterSize(
+ UINT* pWidth,
+ UINT* pHeight);
+
+ private:
+
+ D3D11Device* m_device;
+ D3D11ImmediateContext* m_context;
+
+ };
+
+} \ No newline at end of file