summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nouveau_screen.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <[email protected]>2014-02-12 14:56:53 +0100
committerMaarten Lankhorst <[email protected]>2014-02-12 14:57:25 +0100
commitfee0686c21c631d96d6042741267a3c218c23ffc (patch)
tree96cb24b8377f9e0058d1786d24885b078bb9af63 /src/gallium/drivers/nouveau/nouveau_screen.c
parent572a8345bfd1d6289a91b64eef92565ef9b3ee55 (diff)
nouveau: create only 1 shared screen between vdpau and opengl
This fixes bug 73200 "vdpau-GL interop fails due to different screen objects" in the same way radeon does. Signed-off-by: Maarten Lankhorst <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/nouveau_screen.c')
-rw-r--r--src/gallium/drivers/nouveau/nouveau_screen.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c
index 21b31e04f0a..f742a9483b1 100644
--- a/src/gallium/drivers/nouveau/nouveau_screen.c
+++ b/src/gallium/drivers/nouveau/nouveau_screen.c
@@ -144,6 +144,12 @@ nouveau_screen_init(struct nouveau_screen *screen, struct nouveau_device *dev)
if (nv_dbg)
nouveau_mesa_debug = atoi(nv_dbg);
+ /*
+ * this is initialized to 1 in nouveau_drm_screen_create after screen
+ * is fully constructed and added to the global screen list.
+ */
+ screen->refcount = -1;
+
if (dev->chipset < 0xc0) {
data = &nv04_data;
size = sizeof(nv04_data);