1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-18 20:52:10 +01:00

[d3d11] Add stub implementation of D3D11DeviceContextExt

This commit is contained in:
Philip Rebohle 2019-04-24 19:44:12 +02:00
parent edbbdef787
commit 1cd8749234
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
5 changed files with 158 additions and 1 deletions

View File

@ -14,6 +14,7 @@ namespace dxvk {
const Rc<DxvkDevice>& Device,
DxvkCsChunkFlags CsFlags)
: m_parent (pParent),
m_contextExt(this),
m_annotation(this),
m_multithread(this, false),
m_device (Device),
@ -58,6 +59,11 @@ namespace dxvk {
return S_OK;
}
if (riid == __uuidof(ID3D11VkExtContext)) {
*ppvObject = ref(&m_contextExt);
return S_OK;
}
if (riid == __uuidof(ID3DUserDefinedAnnotation)) {
*ppvObject = ref(&m_annotation);
return S_OK;

View File

@ -8,6 +8,7 @@
#include "d3d11_annotation.h"
#include "d3d11_cmd.h"
#include "d3d11_context_ext.h"
#include "d3d11_context_state.h"
#include "d3d11_device_child.h"
#include "d3d11_texture.h"
@ -17,7 +18,7 @@ namespace dxvk {
class D3D11Device;
class D3D11DeviceContext : public D3D11DeviceChild<ID3D11DeviceContext1> {
friend class D3D11DeviceContextExt;
public:
D3D11DeviceContext(
@ -645,6 +646,7 @@ namespace dxvk {
protected:
D3D11Device* const m_parent;
D3D11DeviceContextExt m_contextExt;
D3D11UserDefinedAnnotation m_annotation;
D3D10Multithread m_multithread;

View File

@ -0,0 +1,82 @@
#include "d3d11_context.h"
namespace dxvk {
D3D11DeviceContextExt::D3D11DeviceContextExt(
D3D11DeviceContext* pContext)
: m_ctx(pContext) {
}
ULONG STDMETHODCALLTYPE D3D11DeviceContextExt::AddRef() {
return m_ctx->AddRef();
}
ULONG STDMETHODCALLTYPE D3D11DeviceContextExt::Release() {
return m_ctx->Release();
}
HRESULT STDMETHODCALLTYPE D3D11DeviceContextExt::QueryInterface(
REFIID riid,
void** ppvObject) {
return m_ctx->QueryInterface(riid, ppvObject);
}
void STDMETHODCALLTYPE D3D11DeviceContextExt::MultiDrawIndirect(
UINT DrawCount,
ID3D11Buffer* pBufferForArgs,
UINT ByteOffsetForArgs,
UINT ByteStrideForArgs) {
}
void STDMETHODCALLTYPE D3D11DeviceContextExt::MultiDrawIndexedIndirect(
UINT DrawCount,
ID3D11Buffer* pBufferForArgs,
UINT ByteOffsetForArgs,
UINT ByteStrideForArgs) {
}
void STDMETHODCALLTYPE D3D11DeviceContextExt::MultiDrawIndirectCount(
UINT MaxDrawCount,
ID3D11Buffer* pBufferForCount,
UINT ByteOffsetForCount,
ID3D11Buffer* pBufferForArgs,
UINT ByteOffsetForArgs,
UINT ByteStrideForArgs) {
}
void STDMETHODCALLTYPE D3D11DeviceContextExt::MultiDrawIndexedIndirectCount(
UINT MaxDrawCount,
ID3D11Buffer* pBufferForCount,
UINT ByteOffsetForCount,
ID3D11Buffer* pBufferForArgs,
UINT ByteOffsetForArgs,
UINT ByteStrideForArgs) {
}
void STDMETHODCALLTYPE D3D11DeviceContextExt::SetDepthBoundsTest(
BOOL Enable,
FLOAT MinDepthBounds,
FLOAT MaxDepthBounds) {
}
void STDMETHODCALLTYPE D3D11DeviceContextExt::SetBarrierControl(
UINT ControlFlags) {
}
}

View File

@ -0,0 +1,66 @@
#pragma once
#include "d3d11_interfaces.h"
namespace dxvk {
class D3D11DeviceContext;
class D3D11DeviceContextExt : public ID3D11VkExtContext {
public:
D3D11DeviceContextExt(
D3D11DeviceContext* pContext);
ULONG STDMETHODCALLTYPE AddRef();
ULONG STDMETHODCALLTYPE Release();
HRESULT STDMETHODCALLTYPE QueryInterface(
REFIID riid,
void** ppvObject);
void STDMETHODCALLTYPE MultiDrawIndirect(
UINT DrawCount,
ID3D11Buffer* pBufferForArgs,
UINT ByteOffsetForArgs,
UINT ByteStrideForArgs);
void STDMETHODCALLTYPE MultiDrawIndexedIndirect(
UINT DrawCount,
ID3D11Buffer* pBufferForArgs,
UINT ByteOffsetForArgs,
UINT ByteStrideForArgs);
void STDMETHODCALLTYPE MultiDrawIndirectCount(
UINT MaxDrawCount,
ID3D11Buffer* pBufferForCount,
UINT ByteOffsetForCount,
ID3D11Buffer* pBufferForArgs,
UINT ByteOffsetForArgs,
UINT ByteStrideForArgs);
void STDMETHODCALLTYPE MultiDrawIndexedIndirectCount(
UINT MaxDrawCount,
ID3D11Buffer* pBufferForCount,
UINT ByteOffsetForCount,
ID3D11Buffer* pBufferForArgs,
UINT ByteOffsetForArgs,
UINT ByteStrideForArgs);
void STDMETHODCALLTYPE SetDepthBoundsTest(
BOOL Enable,
FLOAT MinDepthBounds,
FLOAT MaxDepthBounds);
void STDMETHODCALLTYPE SetBarrierControl(
UINT ControlFlags);
private:
D3D11DeviceContext* m_ctx;
};
}

View File

@ -31,6 +31,7 @@ d3d11_src = [
'd3d11_cmdlist.cpp',
'd3d11_context.cpp',
'd3d11_context_def.cpp',
'd3d11_context_ext.cpp',
'd3d11_context_imm.cpp',
'd3d11_counter_buffer.cpp',
'd3d11_depth_stencil.cpp',