[dxvk] Add IgnoreGraphicsBarriers flag

This commit is contained in:
Philip Rebohle 2021-09-08 15:17:39 +02:00
parent fe68b43335
commit 5109000747
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
2 changed files with 6 additions and 1 deletions

View File

@ -4145,7 +4145,8 @@ namespace dxvk {
// This is necessary because we'll only do hazard
// tracking if the active pipeline has side effects
this->spillRenderPass(true);
if (!m_barrierControl.test(DxvkBarrierControl::IgnoreGraphicsBarriers))
this->spillRenderPass(true);
}
if (m_state.gp.pipeline->layout()->pushConstRange().size)
@ -5029,6 +5030,9 @@ namespace dxvk {
template<bool Indexed, bool Indirect, bool DoEmit>
void DxvkContext::commitGraphicsBarriers() {
if (m_barrierControl.test(DxvkBarrierControl::IgnoreGraphicsBarriers))
return;
auto layout = m_state.gp.pipeline->layout();
constexpr auto storageBufferAccess = VK_ACCESS_SHADER_WRITE_BIT | VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT;

View File

@ -73,6 +73,7 @@ namespace dxvk {
*/
enum class DxvkBarrierControl : uint32_t {
IgnoreWriteAfterWrite = 1,
IgnoreGraphicsBarriers = 2,
};
using DxvkBarrierControlFlags = Flags<DxvkBarrierControl>;