Fix race condition causing hangs and EGL import errors due to concurrent snapshot() calls

This commit is contained in:
Cameron Gutman
2024-01-03 15:42:12 -06:00
parent 0403ad147a
commit e1771de37a
4 changed files with 42 additions and 11 deletions

View File

@@ -436,7 +436,11 @@ namespace va {
convert(platf::img_t &img) override {
auto &descriptor = (egl::img_descriptor_t &) img;
if (descriptor.sequence > sequence) {
if (descriptor.sequence == 0) {
// For dummy images, use a blank RGB texture instead of importing a DMA-BUF
rgb = egl::create_blank(img);
}
else if (descriptor.sequence > sequence) {
sequence = descriptor.sequence;
rgb = egl::rgb_t {};