[NVIDIA] Incorrect DRM modifiers can be used
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox98 | --- | fixed |
People
(Reporter: elfarto, Assigned: stransky)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
The code in widget/gtk/DMABufSurface.cpp uses the DRM modifiers from the first fd on all the fd's that are imported.
This is incorrect as there are modifiers for each fd. This turns out to be an issue for the nvidia-vaapi-driver when dealing with small texture sizes, where the Y and UV planes will receive different modifiers.
The code should store all the modifiers, and use the correct one when importing.
Assignee | ||
Comment 1•3 years ago
|
||
Can you attach an example how VADRMPRIMESurfaceDescriptor looks like when it's exported by NVIDIA? (output from gdb is fine).
Thanks.
The code that fills out that structure is located here.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 3•3 years ago
|
||
Recently DMABuf modifiers are not correctly implemented for YUV surfaces - when a modifier is present we use it
for all planes to create EGLImage.
In this patch we import modifiers for all used YUV planes and use them correctly for particular planes.
Updated•3 years ago
|
I've tested the patch and it solves the issue I was seeing. Thanks!
Comment 6•3 years ago
|
||
bugherder |
Description
•