mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +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,
|
const Rc<DxvkDevice>& Device,
|
||||||
DxvkCsChunkFlags CsFlags)
|
DxvkCsChunkFlags CsFlags)
|
||||||
: m_parent (pParent),
|
: m_parent (pParent),
|
||||||
|
m_contextExt(this),
|
||||||
m_annotation(this),
|
m_annotation(this),
|
||||||
m_multithread(this, false),
|
m_multithread(this, false),
|
||||||
m_device (Device),
|
m_device (Device),
|
||||||
@ -58,6 +59,11 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (riid == __uuidof(ID3D11VkExtContext)) {
|
||||||
|
*ppvObject = ref(&m_contextExt);
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
if (riid == __uuidof(ID3DUserDefinedAnnotation)) {
|
if (riid == __uuidof(ID3DUserDefinedAnnotation)) {
|
||||||
*ppvObject = ref(&m_annotation);
|
*ppvObject = ref(&m_annotation);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include "d3d11_annotation.h"
|
#include "d3d11_annotation.h"
|
||||||
#include "d3d11_cmd.h"
|
#include "d3d11_cmd.h"
|
||||||
|
#include "d3d11_context_ext.h"
|
||||||
#include "d3d11_context_state.h"
|
#include "d3d11_context_state.h"
|
||||||
#include "d3d11_device_child.h"
|
#include "d3d11_device_child.h"
|
||||||
#include "d3d11_texture.h"
|
#include "d3d11_texture.h"
|
||||||
@ -17,7 +18,7 @@ namespace dxvk {
|
|||||||
class D3D11Device;
|
class D3D11Device;
|
||||||
|
|
||||||
class D3D11DeviceContext : public D3D11DeviceChild<ID3D11DeviceContext1> {
|
class D3D11DeviceContext : public D3D11DeviceChild<ID3D11DeviceContext1> {
|
||||||
|
friend class D3D11DeviceContextExt;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
D3D11DeviceContext(
|
D3D11DeviceContext(
|
||||||
@ -645,6 +646,7 @@ namespace dxvk {
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
D3D11Device* const m_parent;
|
D3D11Device* const m_parent;
|
||||||
|
D3D11DeviceContextExt m_contextExt;
|
||||||
D3D11UserDefinedAnnotation m_annotation;
|
D3D11UserDefinedAnnotation m_annotation;
|
||||||
D3D10Multithread m_multithread;
|
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_cmdlist.cpp',
|
||||||
'd3d11_context.cpp',
|
'd3d11_context.cpp',
|
||||||
'd3d11_context_def.cpp',
|
'd3d11_context_def.cpp',
|
||||||
|
'd3d11_context_ext.cpp',
|
||||||
'd3d11_context_imm.cpp',
|
'd3d11_context_imm.cpp',
|
||||||
'd3d11_counter_buffer.cpp',
|
'd3d11_counter_buffer.cpp',
|
||||||
'd3d11_depth_stencil.cpp',
|
'd3d11_depth_stencil.cpp',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user