Skip to content

Commit

Permalink
slight refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
sharkautarch committed Jan 25, 2024
1 parent 3ad1c95 commit 80d279d
Showing 1 changed file with 18 additions and 12 deletions.
30 changes: 18 additions & 12 deletions src/rendervulkan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1684,7 +1684,7 @@ void CVulkanCmdBuffer::insertBarrier(const barrier_info_t * const barrier_info)
VkFlags srcStageMask = m_previousCopy ? VK_PIPELINE_STAGE_TRANSFER_BIT : 0;
VkAccessFlags src_write_bits = m_previousCopy ? VK_ACCESS_TRANSFER_WRITE_BIT : 0;

VkFlags dstStageMask = 0;
VkFlags dstStageMask = srcStageMask;
VkAccessFlags dst_write_bits;
VkAccessFlags dst_read_bits;

Expand All @@ -1711,12 +1711,9 @@ void CVulkanCmdBuffer::insertBarrier(const barrier_info_t * const barrier_info)


srcStageMask |= (!isFirst ? VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT : 0);
srcStageMask = (srcStageMask == 0) ? static_cast<int>(VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT) : srcStageMask;

dstStageMask = (m_previousCopy ? VK_PIPELINE_STAGE_TRANSFER_BIT : 0)
| ( multipleShaders ? VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT : 0);
dstStageMask |= ( multipleShaders ? VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT : 0);

dstStageMask = (dstStageMask == 0) ? static_cast<int>(VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT) : dstStageMask;
break;

} case (pipeline_task::copy): {
Expand All @@ -1727,8 +1724,7 @@ void CVulkanCmdBuffer::insertBarrier(const barrier_info_t * const barrier_info)
dst_read_bits = VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_SHADER_READ_BIT;
dst_write_bits = VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_SHADER_WRITE_BIT;

srcStageMask = (srcStageMask == 0) ? static_cast<int>(VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT) : srcStageMask;
dstStageMask = VK_PIPELINE_STAGE_TRANSFER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
dstStageMask |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
break;

} case (pipeline_task::end): {
Expand All @@ -1740,7 +1736,6 @@ void CVulkanCmdBuffer::insertBarrier(const barrier_info_t * const barrier_info)
dst_read_bits = dst_write_bits = 0;

srcStageMask |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
dstStageMask = m_previousCopy ? VK_PIPELINE_STAGE_TRANSFER_BIT : VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
break;
}
default:
Expand All @@ -1749,6 +1744,12 @@ void CVulkanCmdBuffer::insertBarrier(const barrier_info_t * const barrier_info)
break;
}
}

if (srcStageMask == 0)
srcStageMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
if (dstStageMask == 0)
dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;


for (auto& pair : m_textureState)
{
Expand Down Expand Up @@ -3842,13 +3843,18 @@ std::optional<uint64_t> vulkan_composite( struct FrameInfo_t *frameInfo, std::sh
for (uint32_t i = 0; i < EOTF_Count; i++)
cmdBuffer->bindColorMgmtLuts(i, frameInfo->shaperLut[i], frameInfo->lut3D[i]);

unsigned int total_dispatches = ( pPipewireTexture != nullptr ) ? 1 : 0;
total_dispatches += (
( frameInfo->useFSRLayer0 || frameInfo->useNISLayer0 || frameInfo->blurLayer0 ) ? 2 : 1
);


unsigned int total_dispatches = 1;
if ( frameInfo->useFSRLayer0 || frameInfo->useNISLayer0 || frameInfo->blurLayer0 )
total_dispatches = 2;

if ( pPipewireTexture != nullptr )
total_dispatches++;

unsigned int curr_dispatch_no = 1;


if ( frameInfo->useFSRLayer0 )
{
uint32_t inputX = frameInfo->layers[0].tex->width();
Expand Down

0 comments on commit 80d279d

Please sign in to comment.