Rename drm_can_avoid_composite to drm_prepare

drm_can_avoid_composite doesn't merely checks whether we can avoid
composition: it also prepares a pending atomic request. It's always
necessary to call this function before drm_atomic_commit.

Rename the function to make this clearer.
This commit is contained in:
Simon Ser 2020-11-10 15:01:47 +01:00 committed by Pierre-Loup A. Griffais
parent 8abe0c0868
commit a62740e393
3 changed files with 6 additions and 4 deletions

View file

@ -717,7 +717,9 @@ void drm_drop_fbid( struct drm_t *drm, uint32_t fbid )
}
}
bool drm_can_avoid_composite( struct drm_t *drm, struct Composite_t *pComposite, struct VulkanPipeline_t *pPipeline )
/* Prepares an atomic commit for the provided scene-graph. Returns false on
* error or if the scene-graph can't be presented directly. */
bool drm_prepare( struct drm_t *drm, struct Composite_t *pComposite, struct VulkanPipeline_t *pPipeline )
{
int nLayerCount = pComposite->nLayerCount;

View file

@ -101,4 +101,4 @@ int init_drm(struct drm_t *drm, const char *device, const char *mode_str, unsign
int drm_atomic_commit(struct drm_t *drm, struct Composite_t *pComposite, struct VulkanPipeline_t *pPipeline );
uint32_t drm_fbid_from_dmabuf( struct drm_t *drm, struct wlr_buffer *buf, struct wlr_dmabuf_attributes *dma_buf );
void drm_drop_fbid( struct drm_t *drm, uint32_t fbid );
bool drm_can_avoid_composite( struct drm_t *drm, struct Composite_t *pComposite, struct VulkanPipeline_t *pPipeline );
bool drm_prepare( struct drm_t *drm, struct Composite_t *pComposite, struct VulkanPipeline_t *pPipeline );

View file

@ -1207,7 +1207,7 @@ paint_all(Display *dpy, MouseCursor *cursor)
if ( BIsNested() == false && alwaysComposite == False && takeScreenshot == False )
{
if ( drm_can_avoid_composite( &g_DRM, &composite, &pipeline ) == true )
if ( drm_prepare( &g_DRM, &composite, &pipeline ) == true )
{
bDoComposite = false;
}
@ -1244,7 +1244,7 @@ paint_all(Display *dpy, MouseCursor *cursor)
pipeline.layerBindings[ 0 ].fbid = vulkan_get_last_composite_fbid();
pipeline.layerBindings[ 0 ].bFilter = false;
bool bFlip = drm_can_avoid_composite( &g_DRM, &composite, &pipeline );
bool bFlip = drm_prepare( &g_DRM, &composite, &pipeline );
// We should always handle a 1-layer flip
assert( bFlip == true );