backends/drm: use dumb buffers for the cursor on virtual machines
Apparently not all VM drivers handle dmabufs on the cursor plane correctly BUG: 485827
This commit is contained in:
parent
1f32171ac9
commit
c14c61f745
3 changed files with 7 additions and 1 deletions
|
@ -21,7 +21,7 @@ namespace KWin
|
||||||
|
|
||||||
EglGbmCursorLayer::EglGbmCursorLayer(EglGbmBackend *eglBackend, DrmPipeline *pipeline)
|
EglGbmCursorLayer::EglGbmCursorLayer(EglGbmBackend *eglBackend, DrmPipeline *pipeline)
|
||||||
: DrmPipelineLayer(pipeline)
|
: DrmPipelineLayer(pipeline)
|
||||||
, m_surface(pipeline->gpu(), eglBackend, pipeline->gpu()->atomicModeSetting() ? EglGbmLayerSurface::BufferTarget::Linear : EglGbmLayerSurface::BufferTarget::Dumb, EglGbmLayerSurface::FormatOption::RequireAlpha)
|
, m_surface(pipeline->gpu(), eglBackend, pipeline->gpu()->atomicModeSetting() && !pipeline->gpu()->isVirtualMachine() ? EglGbmLayerSurface::BufferTarget::Linear : EglGbmLayerSurface::BufferTarget::Dumb, EglGbmLayerSurface::FormatOption::RequireAlpha)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -692,6 +692,11 @@ bool DrmGpu::isVmwgfx() const
|
||||||
return m_isVmwgfx;
|
return m_isVmwgfx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DrmGpu::isVirtualMachine() const
|
||||||
|
{
|
||||||
|
return m_isVirtualMachine;
|
||||||
|
}
|
||||||
|
|
||||||
bool DrmGpu::isRemoved() const
|
bool DrmGpu::isRemoved() const
|
||||||
{
|
{
|
||||||
return m_isRemoved;
|
return m_isRemoved;
|
||||||
|
|
|
@ -80,6 +80,7 @@ public:
|
||||||
bool isNVidia() const;
|
bool isNVidia() const;
|
||||||
bool isAmdgpu() const;
|
bool isAmdgpu() const;
|
||||||
bool isVmwgfx() const;
|
bool isVmwgfx() const;
|
||||||
|
bool isVirtualMachine() const;
|
||||||
EglDisplay *eglDisplay() const;
|
EglDisplay *eglDisplay() const;
|
||||||
DrmBackend *platform() const;
|
DrmBackend *platform() const;
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue