summaryrefslogtreecommitdiffstats
path: root/src/libs/dxvk-native-1.9.2a/src/d3d11/d3d11_cmdlist.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/libs/dxvk-native-1.9.2a/src/d3d11/d3d11_cmdlist.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/libs/dxvk-native-1.9.2a/src/d3d11/d3d11_cmdlist.h b/src/libs/dxvk-native-1.9.2a/src/d3d11/d3d11_cmdlist.h
new file mode 100644
index 00000000..ce207aaf
--- /dev/null
+++ b/src/libs/dxvk-native-1.9.2a/src/d3d11/d3d11_cmdlist.h
@@ -0,0 +1,49 @@
+#pragma once
+
+#include "d3d11_context.h"
+
+namespace dxvk {
+
+ class D3D11CommandList : public D3D11DeviceChild<ID3D11CommandList> {
+
+ public:
+
+ D3D11CommandList(
+ D3D11Device* pDevice,
+ UINT ContextFlags);
+
+ ~D3D11CommandList();
+
+ HRESULT STDMETHODCALLTYPE QueryInterface(
+ REFIID riid,
+ void** ppvObject) final;
+
+ UINT STDMETHODCALLTYPE GetContextFlags() final;
+
+ void AddChunk(
+ DxvkCsChunkRef&& Chunk);
+
+ void AddQuery(
+ D3D11Query* pQuery);
+
+ void EmitToCommandList(
+ ID3D11CommandList* pCommandList);
+
+ void EmitToCsThread(
+ DxvkCsThread* CsThread);
+
+ private:
+
+ UINT const m_contextFlags;
+
+ std::vector<DxvkCsChunkRef> m_chunks;
+ std::vector<Com<D3D11Query, false>> m_queries;
+
+ std::atomic<bool> m_submitted = { false };
+ std::atomic<bool> m_warned = { false };
+
+ void MarkSubmitted();
+
+ };
+
+}