[d3d11] Implement ID3D11DeviceContext4

This commit is contained in:
Philip Rebohle 2019-09-16 13:17:00 +02:00
parent 0599a82dee
commit f9d9307a28
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
6 changed files with 51 additions and 2 deletions

View File

@ -56,7 +56,8 @@ namespace dxvk {
|| riid == __uuidof(ID3D11DeviceContext)
|| riid == __uuidof(ID3D11DeviceContext1)
|| riid == __uuidof(ID3D11DeviceContext2)
|| riid == __uuidof(ID3D11DeviceContext3)) {
|| riid == __uuidof(ID3D11DeviceContext3)
|| riid == __uuidof(ID3D11DeviceContext4)) {
*ppvObject = ref(this);
return S_OK;
}

View File

@ -17,7 +17,7 @@ namespace dxvk {
class D3D11Device;
class D3D11DeviceContext : public D3D11DeviceChild<ID3D11DeviceContext3> {
class D3D11DeviceContext : public D3D11DeviceChild<ID3D11DeviceContext4> {
friend class D3D11DeviceContextExt;
public:

View File

@ -46,6 +46,22 @@ namespace dxvk {
}
HRESULT STDMETHODCALLTYPE D3D11DeferredContext::Signal(
ID3D11Fence* pFence,
UINT64 Value) {
Logger::err("D3D11: Signal called on a deferred context");
return DXGI_ERROR_INVALID_CALL;
}
HRESULT STDMETHODCALLTYPE D3D11DeferredContext::Wait(
ID3D11Fence* pFence,
UINT64 Value) {
Logger::err("D3D11: Wait called on a deferred context");
return DXGI_ERROR_INVALID_CALL;
}
void STDMETHODCALLTYPE D3D11DeferredContext::ExecuteCommandList(
ID3D11CommandList* pCommandList,
BOOL RestoreContextState) {

View File

@ -46,6 +46,14 @@ namespace dxvk {
D3D11_CONTEXT_TYPE ContextType,
HANDLE hEvent);
HRESULT STDMETHODCALLTYPE Signal(
ID3D11Fence* pFence,
UINT64 Value);
HRESULT STDMETHODCALLTYPE Wait(
ID3D11Fence* pFence,
UINT64 Value);
void STDMETHODCALLTYPE ExecuteCommandList(
ID3D11CommandList* pCommandList,
BOOL RestoreContextState);

View File

@ -140,6 +140,22 @@ namespace dxvk {
}
HRESULT STDMETHODCALLTYPE D3D11ImmediateContext::Signal(
ID3D11Fence* pFence,
UINT64 Value) {
Logger::err("D3D11ImmediateContext::Signal: Not implemented");
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE D3D11ImmediateContext::Wait(
ID3D11Fence* pFence,
UINT64 Value) {
Logger::err("D3D11ImmediateContext::Wait: Not implemented");
return E_NOTIMPL;
}
void STDMETHODCALLTYPE D3D11ImmediateContext::ExecuteCommandList(
ID3D11CommandList* pCommandList,
BOOL RestoreContextState) {

View File

@ -40,6 +40,14 @@ namespace dxvk {
D3D11_CONTEXT_TYPE ContextType,
HANDLE hEvent);
HRESULT STDMETHODCALLTYPE Signal(
ID3D11Fence* pFence,
UINT64 Value);
HRESULT STDMETHODCALLTYPE Wait(
ID3D11Fence* pFence,
UINT64 Value);
void STDMETHODCALLTYPE ExecuteCommandList(
ID3D11CommandList* pCommandList,
BOOL RestoreContextState);