mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-27 22:54:16 +01:00
[dxvk] Rename DxvkResourceAccessType to DxvkAccess
We'll be using this enum a lot more in the future.
This commit is contained in:
parent
a148233b13
commit
8f8340c2d1
@ -11,13 +11,12 @@ namespace dxvk {
|
|||||||
VkAccessFlags srcAccess,
|
VkAccessFlags srcAccess,
|
||||||
VkPipelineStageFlags dstStages,
|
VkPipelineStageFlags dstStages,
|
||||||
VkAccessFlags dstAccess) {
|
VkAccessFlags dstAccess) {
|
||||||
const DxvkResourceAccessTypes accessTypes
|
DxvkAccessFlags accessTypes = this->getAccessTypes(srcAccess);
|
||||||
= this->getAccessTypes(srcAccess);
|
|
||||||
|
|
||||||
m_srcStages |= srcStages;
|
m_srcStages |= srcStages;
|
||||||
m_dstStages |= dstStages;
|
m_dstStages |= dstStages;
|
||||||
|
|
||||||
if (accessTypes.test(DxvkResourceAccessType::Write)) {
|
if (accessTypes.test(DxvkAccess::Write)) {
|
||||||
VkBufferMemoryBarrier barrier;
|
VkBufferMemoryBarrier barrier;
|
||||||
barrier.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
|
barrier.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
|
||||||
barrier.pNext = nullptr;
|
barrier.pNext = nullptr;
|
||||||
@ -42,13 +41,12 @@ namespace dxvk {
|
|||||||
VkImageLayout dstLayout,
|
VkImageLayout dstLayout,
|
||||||
VkPipelineStageFlags dstStages,
|
VkPipelineStageFlags dstStages,
|
||||||
VkAccessFlags dstAccess) {
|
VkAccessFlags dstAccess) {
|
||||||
const DxvkResourceAccessTypes accessTypes
|
DxvkAccessFlags accessTypes = this->getAccessTypes(srcAccess);
|
||||||
= this->getAccessTypes(srcAccess);
|
|
||||||
|
|
||||||
m_srcStages |= srcStages;
|
m_srcStages |= srcStages;
|
||||||
m_dstStages |= dstStages;
|
m_dstStages |= dstStages;
|
||||||
|
|
||||||
if ((srcLayout != dstLayout) || accessTypes.test(DxvkResourceAccessType::Write)) {
|
if ((srcLayout != dstLayout) || accessTypes.test(DxvkAccess::Write)) {
|
||||||
VkImageMemoryBarrier barrier;
|
VkImageMemoryBarrier barrier;
|
||||||
barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
|
barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
|
||||||
barrier.pNext = nullptr;
|
barrier.pNext = nullptr;
|
||||||
@ -95,7 +93,7 @@ namespace dxvk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkResourceAccessTypes DxvkBarrierSet::getAccessTypes(VkAccessFlags flags) const {
|
DxvkAccessFlags DxvkBarrierSet::getAccessTypes(VkAccessFlags flags) const {
|
||||||
const VkAccessFlags rflags
|
const VkAccessFlags rflags
|
||||||
= VK_ACCESS_INDIRECT_COMMAND_READ_BIT
|
= VK_ACCESS_INDIRECT_COMMAND_READ_BIT
|
||||||
| VK_ACCESS_INDEX_READ_BIT
|
| VK_ACCESS_INDEX_READ_BIT
|
||||||
@ -117,9 +115,9 @@ namespace dxvk {
|
|||||||
| VK_ACCESS_HOST_WRITE_BIT
|
| VK_ACCESS_HOST_WRITE_BIT
|
||||||
| VK_ACCESS_MEMORY_WRITE_BIT;
|
| VK_ACCESS_MEMORY_WRITE_BIT;
|
||||||
|
|
||||||
DxvkResourceAccessTypes result;
|
DxvkAccessFlags result;
|
||||||
if (flags & rflags) result.set(DxvkResourceAccessType::Read);
|
if (flags & rflags) result.set(DxvkAccess::Read);
|
||||||
if (flags & wflags) result.set(DxvkResourceAccessType::Write);
|
if (flags & wflags) result.set(DxvkAccess::Write);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ namespace dxvk {
|
|||||||
std::vector<VkBufferMemoryBarrier> m_bufBarriers;
|
std::vector<VkBufferMemoryBarrier> m_bufBarriers;
|
||||||
std::vector<VkImageMemoryBarrier> m_imgBarriers;
|
std::vector<VkImageMemoryBarrier> m_imgBarriers;
|
||||||
|
|
||||||
DxvkResourceAccessTypes getAccessTypes(VkAccessFlags flags) const;
|
DxvkAccessFlags getAccessTypes(VkAccessFlags flags) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
namespace dxvk {
|
namespace dxvk {
|
||||||
|
|
||||||
enum class DxvkResourceAccessType {
|
enum class DxvkAccess {
|
||||||
Read = 0,
|
Read = 0,
|
||||||
Write = 1,
|
Write = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
using DxvkResourceAccessTypes = Flags<DxvkResourceAccessType>;
|
using DxvkAccessFlags = Flags<DxvkAccess>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief DXVK resource
|
* \brief DXVK resource
|
||||||
|
Loading…
x
Reference in New Issue
Block a user