mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-07 07:46:19 +01:00
9deb73a2a7
* [dxvk] fixes for MSVC * nullptr -> int is illegal conversion for MSVC. nullptr was replaced with VK_NULL_HANDLE * MSVC does not support source code strings longer than 65535 chars. String was replaced with array of chars. * [utils] fixes for MSVC * __mingw_uuidof() does not exists in MSVC * apply GCC pragma only for GCC * added missing header * [dxbc] fixes for MSVC *added missing header * [dxgi] fixes for MSVC * user __declspec(uuid()) instead of _mingw_uuidof() * do not use DLLEXPORT macro for MSVC * [d3d11] fixes for MSVC * replace WINBOOL with BOOL * do not declare D3D11 structs for MSVC * do not use DLLEXPORT macro for MSVC * [meson] fix build scripts for MSVC * change cpp version from c++1z to c++latest for MSVC * set -DOMINMAX definition for MSVC * disable test and wine_utils for MSVC * use .def files instead of __declspec(dllexport) for MSVC (bypass 'C2375: redefinition; different linkage' error) * fix .def files for MinGW * add --enable-stdcall-fixup linker flag for MinGW
54 lines
1.4 KiB
C++
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,
|
|
BOOL RestoreContextState) final;
|
|
|
|
HRESULT STDMETHODCALLTYPE FinishCommandList(
|
|
BOOL 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;
|
|
|
|
};
|
|
|
|
} |