mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-03 22:24:13 +01:00
[dxvk] Add type and context method to set barrier control flags
This commit is contained in:
parent
915091b76b
commit
9165f8c072
@ -1737,6 +1737,11 @@ namespace dxvk {
|
||||
|
||||
m_flags.set(DxvkContextFlag::GpDirtyPipelineState);
|
||||
}
|
||||
|
||||
|
||||
void DxvkContext::setBarrierControl(DxvkBarrierControlFlags control) {
|
||||
m_barrierControl = control;
|
||||
}
|
||||
|
||||
|
||||
void DxvkContext::signalEvent(const DxvkEventRevision& event) {
|
||||
|
@ -754,6 +754,16 @@ namespace dxvk {
|
||||
uint32_t attachment,
|
||||
const DxvkBlendMode& blendMode);
|
||||
|
||||
/**
|
||||
* \brief Sets barrier control flags
|
||||
*
|
||||
* Barrier control flags can be used to control
|
||||
* implicit synchronization of compute shaders.
|
||||
* \param [in] control New barrier control flags
|
||||
*/
|
||||
void setBarrierControl(
|
||||
DxvkBarrierControlFlags control);
|
||||
|
||||
/**
|
||||
* \brief Signals an event
|
||||
* \param [in] event The event
|
||||
@ -781,14 +791,15 @@ namespace dxvk {
|
||||
Rc<DxvkCommandList> m_cmd;
|
||||
Rc<DxvkDescriptorPool> m_descPool;
|
||||
|
||||
DxvkContextFlags m_flags;
|
||||
DxvkContextState m_state;
|
||||
DxvkContextFlags m_flags;
|
||||
DxvkContextState m_state;
|
||||
|
||||
DxvkBarrierSet m_barriers;
|
||||
DxvkBarrierSet m_transitions;
|
||||
|
||||
DxvkQueryManager m_queries;
|
||||
DxvkBarrierSet m_barriers;
|
||||
DxvkBarrierSet m_transitions;
|
||||
DxvkBarrierControlFlags m_barrierControl;
|
||||
|
||||
DxvkQueryManager m_queries;
|
||||
|
||||
VkPipeline m_gpActivePipeline = VK_NULL_HANDLE;
|
||||
VkPipeline m_cpActivePipeline = VK_NULL_HANDLE;
|
||||
|
||||
|
@ -54,6 +54,19 @@ namespace dxvk {
|
||||
using DxvkContextFlags = Flags<DxvkContextFlag>;
|
||||
|
||||
|
||||
/**
|
||||
* \brief Barrier control flags
|
||||
*
|
||||
* These flags specify what (not) to
|
||||
* synchronize implicitly.
|
||||
*/
|
||||
enum class DxvkBarrierControl : uint32_t {
|
||||
IgnoreWriteAfterWrite = 1,
|
||||
};
|
||||
|
||||
using DxvkBarrierControlFlags = Flags<DxvkBarrierControl>;
|
||||
|
||||
|
||||
struct DxvkIndirectDrawState {
|
||||
DxvkBufferSlice argBuffer;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user