1
0
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:
Philip Rebohle 2018-06-16 10:40:30 +02:00
parent a148233b13
commit 8f8340c2d1
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
3 changed files with 11 additions and 13 deletions

View File

@ -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;
} }

View File

@ -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;
}; };

View File

@ -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