1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-14 18:23:52 +01:00
dxvk/src/d3d11/d3d11_context_def.h
Philip Rebohle 3148155c35
[d3d11] Implemented CS chunk submission for deferred contexts
Changes were necessary due to the fact that chunks in deferred
contexts are not directly submitted to the CS thread.
2018-01-23 12:03:26 +01:00

54 lines
1.4 KiB
C++

#pragma once
#include "d3d11_cmdlist.h"
#include "d3d11_context.h"
namespace dxvk {
class D3D11DeferredContext : public D3D11DeviceContext {
public:
D3D11DeferredContext(
D3D11Device* pParent,
Rc<DxvkDevice> Device,
UINT ContextFlags);
D3D11_DEVICE_CONTEXT_TYPE STDMETHODCALLTYPE GetType() final;
UINT STDMETHODCALLTYPE GetContextFlags() final;
void STDMETHODCALLTYPE Flush() final;
void STDMETHODCALLTYPE ExecuteCommandList(
ID3D11CommandList* pCommandList,
WINBOOL RestoreContextState) final;
HRESULT STDMETHODCALLTYPE FinishCommandList(
WINBOOL RestoreDeferredContextState,
ID3D11CommandList **ppCommandList) final;
HRESULT STDMETHODCALLTYPE Map(
ID3D11Resource* pResource,
UINT Subresource,
D3D11_MAP MapType,
UINT MapFlags,
D3D11_MAPPED_SUBRESOURCE* pMappedResource) final;
void STDMETHODCALLTYPE Unmap(
ID3D11Resource* pResource,
UINT Subresource) final;
private:
const UINT m_contextFlags;
Com<D3D11CommandList> m_commandList;
Com<D3D11CommandList> CreateCommandList();
void EmitCsChunk(Rc<DxvkCsChunk>&& chunk) final;
};
}