rendervulkan: remove 'fence' concept
Doesn't make sense now that we poll() the DMA-BUF fd directly. We can do that directly from steamcompmgr. Vulkan's fence used to be an actual fence we made up with an empty submission.
This commit is contained in:
parent
e25f871d87
commit
074ee9c719
3 changed files with 4 additions and 40 deletions
|
@ -496,14 +496,6 @@ bool CVulkanTexture::BInit( uint32_t width, uint32_t height, VkFormat format, cr
|
|||
importMemoryInfo.pNext = allocInfo.pNext;
|
||||
|
||||
allocInfo.pNext = &importMemoryInfo;
|
||||
|
||||
// Take another copy to poll for implicit sync completion
|
||||
m_FD = dup( pDMA->fd[0] );
|
||||
if ( m_FD < 0 )
|
||||
{
|
||||
perror( "dup failed" );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (vkAllocateMemory(device, &allocInfo, nullptr, &m_vkImageMemory) != VK_SUCCESS) {
|
||||
|
@ -679,12 +671,6 @@ bool CVulkanTexture::BInit( uint32_t width, uint32_t height, VkFormat format, cr
|
|||
|
||||
CVulkanTexture::~CVulkanTexture( void )
|
||||
{
|
||||
if ( m_FD >= 0 )
|
||||
{
|
||||
close( m_FD );
|
||||
m_FD = -1;
|
||||
}
|
||||
|
||||
if ( m_pMappedData != nullptr )
|
||||
{
|
||||
vkUnmapMemory( device, g_output.pScreenshotImage->m_vkImageMemory );
|
||||
|
@ -2159,20 +2145,6 @@ uint32_t vulkan_texture_get_fbid( VulkanTexture_t vulkanTex )
|
|||
return ret;
|
||||
}
|
||||
|
||||
int vulkan_get_texture_fence( VulkanTexture_t vulkanTex )
|
||||
{
|
||||
CVulkanTexture *pTex = g_mapVulkanTextures[ vulkanTex ];
|
||||
|
||||
if ( pTex == nullptr )
|
||||
{
|
||||
assert( 0 );
|
||||
return -1;
|
||||
}
|
||||
|
||||
return pTex->m_FD;
|
||||
}
|
||||
|
||||
|
||||
static void renderer_begin( struct wlr_renderer *renderer, uint32_t width, uint32_t height )
|
||||
{
|
||||
abort(); // unreachable
|
||||
|
|
|
@ -106,8 +106,6 @@ public:
|
|||
uint32_t m_unRowPitch = 0;
|
||||
|
||||
uint32_t m_FBID = 0;
|
||||
|
||||
int m_FD = -1;
|
||||
|
||||
int32_t nRefCount = 1;
|
||||
|
||||
|
@ -124,8 +122,6 @@ int vulkan_init(void);
|
|||
VulkanTexture_t vulkan_create_texture_from_dmabuf( struct wlr_dmabuf_attributes *pDMA );
|
||||
VulkanTexture_t vulkan_create_texture_from_bits( uint32_t width, uint32_t height, VkFormat format, void *bits );
|
||||
|
||||
int vulkan_get_texture_fence( VulkanTexture_t vulkanTex );
|
||||
|
||||
uint32_t vulkan_texture_get_fbid( VulkanTexture_t vulkanTex );
|
||||
|
||||
void vulkan_free_texture( VulkanTexture_t vulkanTex );
|
||||
|
|
|
@ -346,6 +346,8 @@ retry:
|
|||
}
|
||||
gpuvis_trace_end_ctx_printf( commitID, "wait fence" );
|
||||
|
||||
close( fence );
|
||||
|
||||
{
|
||||
std::unique_lock< std::mutex > lock( listCommitsDoneLock );
|
||||
|
||||
|
@ -2769,6 +2771,8 @@ void check_new_wayland_res( void )
|
|||
assert( result == true );
|
||||
|
||||
commit_t newCommit = {};
|
||||
int fence = dup( dmabuf.fd[ 0 ] );
|
||||
assert( fence >= 0 );
|
||||
bool bSuccess = import_commit( buf, &dmabuf, newCommit );
|
||||
wlr_dmabuf_attributes_finish( &dmabuf );
|
||||
|
||||
|
@ -2778,14 +2782,6 @@ void check_new_wayland_res( void )
|
|||
w->commit_queue.push_back( newCommit );
|
||||
}
|
||||
|
||||
int fence = vulkan_get_texture_fence( newCommit.vulkanTex );
|
||||
|
||||
if ( fence < 0 )
|
||||
{
|
||||
fprintf (stderr, "no fence for texture\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
gpuvis_trace_printf( "pushing wait for commit %lu win %lx", newCommit.commitID, w->id );
|
||||
{
|
||||
std::unique_lock< std::mutex > lock( waitListLock );
|
||||
|
|
Loading…
Reference in a new issue