[client] egl: fix race on resolution change

A resolution switch could cause the renderer state to become invalid as
the texture format may change while it's being rendered. This fixes this
by adding a lock around the format change and render calls to the
renderer.
This commit is contained in:
Geoffrey McRae
2021-07-04 21:54:44 +10:00
parent 82e10c1b7e
commit 7c1e8a85cd
2 changed files with 14 additions and 0 deletions

View File

@@ -28,6 +28,7 @@
#include "common/thread.h"
#include "common/types.h"
#include "common/ivshmem.h"
#include "common/locking.h"
#include "spice/spice.h"
#include <lgmp/client.h>
@@ -73,6 +74,7 @@ struct AppState
const LG_Renderer * lgr;
void * lgrData;
atomic_int lgrResize;
LG_Lock lgrLock;
bool cbAvailable;
SpiceDataType cbType;