mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-18 02:52:10 +01:00
[dxvk] Added recorder interface
This commit is contained in:
parent
b67d952e63
commit
77383fa220
9
src/dxvk/dxvk_recorder.cpp
Normal file
9
src/dxvk/dxvk_recorder.cpp
Normal file
@ -0,0 +1,9 @@
|
||||
#include "dxvk_recorder.h"
|
||||
|
||||
namespace dxvk {
|
||||
|
||||
DxvkRecorder::~DxvkRecorder() {
|
||||
|
||||
}
|
||||
|
||||
}
|
66
src/dxvk/dxvk_recorder.h
Normal file
66
src/dxvk/dxvk_recorder.h
Normal file
@ -0,0 +1,66 @@
|
||||
#pragma once
|
||||
|
||||
#include "dxvk_lifetime.h"
|
||||
|
||||
namespace dxvk {
|
||||
|
||||
/**
|
||||
* \brief DXVK command recorder
|
||||
*
|
||||
* An interface that wraps Vulkan calls. \ref DxvkCommandList
|
||||
* implements this interface to record Vulkan commands into a
|
||||
* primary command buffer, whereas \ref DxvkDeferredCommands
|
||||
* buffers the calls and provides methods to record them into
|
||||
* a \ref DxvkCommandList on demand.
|
||||
*/
|
||||
class DxvkRecorder : public RcObject {
|
||||
|
||||
public:
|
||||
|
||||
virtual ~DxvkRecorder();
|
||||
|
||||
virtual void beginRecording() = 0;
|
||||
virtual void endRecording() = 0;
|
||||
|
||||
virtual void cmdBeginRenderPass(
|
||||
const VkRenderPassBeginInfo* pRenderPassBegin,
|
||||
VkSubpassContents contents) = 0;
|
||||
|
||||
virtual void cmdBindPipeline(
|
||||
VkPipelineBindPoint pipelineBindPoint,
|
||||
VkPipeline pipeline) = 0;
|
||||
|
||||
virtual void cmdClearAttachments(
|
||||
uint32_t attachmentCount,
|
||||
const VkClearAttachment* pAttachments,
|
||||
uint32_t rectCount,
|
||||
const VkClearRect* pRects) = 0;
|
||||
|
||||
virtual void cmdDispatch(
|
||||
uint32_t x,
|
||||
uint32_t y,
|
||||
uint32_t z) = 0;
|
||||
|
||||
virtual void cmdDraw(
|
||||
uint32_t vertexCount,
|
||||
uint32_t instanceCount,
|
||||
uint32_t firstVertex,
|
||||
uint32_t firstInstance) = 0;
|
||||
|
||||
virtual void cmdDrawIndexed(
|
||||
uint32_t indexCount,
|
||||
uint32_t instanceCount,
|
||||
uint32_t firstIndex,
|
||||
uint32_t vertexOffset,
|
||||
uint32_t firstInstance) = 0;
|
||||
|
||||
virtual void cmdEndRenderPass();
|
||||
|
||||
virtual void trackResource(
|
||||
const Rc<DxvkResource>& rc) = 0;
|
||||
|
||||
virtual void reset() = 0;
|
||||
|
||||
};
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user