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:
parent
edbbdef787
commit
1cd8749234
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
82
src/d3d11/d3d11_context_ext.cpp
Normal file
82
src/d3d11/d3d11_context_ext.cpp
Normal 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) {
|
||||
|
||||
}
|
||||
|
||||
}
|
66
src/d3d11/d3d11_context_ext.h
Normal file
66
src/d3d11/d3d11_context_ext.h
Normal 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;
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -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',
|
||||
|
Loading…
x
Reference in New Issue
Block a user