OSDN Git Service

etnaviv: fix refcnt initialization in etna_screen
authorAleksander Morgado <aleksander@aleksander.es>
Thu, 6 Jul 2017 21:18:57 +0000 (23:18 +0200)
committerAndres Gomez <agomez@igalia.com>
Wed, 12 Jul 2017 16:32:09 +0000 (19:32 +0300)
commit401c37f500f351272dede9e7464d836183dafac4
treee2b43dfeb642b9f260b4cc45e7f060657d750951
parentd856e97d928c97c159964f1edd07f95909f572f0
etnaviv: fix refcnt initialization in etna_screen

Despite being a member of the etna_screen struct, 'refcnt' is used by
the winsys-specific logic to track the reference count of the object
managed in a hash table. When the count reaches zero, the pipe screen
is removed from the table and destroyed.

Fix the logic by initializing the refcnt to 1 when screen created.
This initialization is done in etna_screen_create(), to follow the
same logic as in freedreno and virgl.

Fixes: c9e8b49b885 ("etnaviv: gallium driver for Vivante GPUs")
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
(cherry picked from commit 5d8514de14bd27170293bb373e06f5ff43c708ad)
src/gallium/drivers/etnaviv/etnaviv_screen.c