vc4: Fix raster surface shadow updates under DRI2.
Glamor asks GBM for the handle of the BO, then flinks it itself. We were marking the bo non-private in the flink and dmabuf (DRI3) paths, but not the GEM handle path. As a result, non-pageflipping DRI2 swapbuffers (EGL apps, in particular) were never updating the texture.
This commit is contained in:
@@ -490,6 +490,12 @@ vc4_screen_bo_get_handle(struct pipe_screen *pscreen,
|
||||
{
|
||||
whandle->stride = stride;
|
||||
|
||||
/* If we're passing some reference to our BO out to some other part of
|
||||
* the system, then we can't do any optimizations about only us being
|
||||
* the ones seeing it (like BO caching or shadow update avoidance).
|
||||
*/
|
||||
bo->private = false;
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
return vc4_bo_flink(bo, &whandle->handle);
|
||||
|
||||
Reference in New Issue
Block a user