OSDN Git Service

st/nine: Immediately upload user provided textures
authorAxel Davy <davyaxel0@gmail.com>
Tue, 22 Jan 2019 19:14:43 +0000 (20:14 +0100)
committerAxel Davy <davyaxel0@gmail.com>
Sat, 26 Jan 2019 18:53:00 +0000 (19:53 +0100)
commitd7433c22e6c9624ca5275a3cd35be79caed9fffc
tree854b978b1635596ac4fc0be459719e456845f0fd
parenta7d629a59021cb1a013a8a58acd9187ca0b6c9ce
st/nine: Immediately upload user provided textures

Fixes regression caused by
42d672fa6a766363e5703f119607f7c7975918aa
st/nine: Bind src not dst in nine_context_box_upload

Before that patch, for user provided textures,
when the texture was destroyed, the safety
check for pending uploads, which according to
the code "Following condition cannot happen currently",
was flushing the queue and thus triggering the upload.

After the patch, the texture destruction was delayed after
the upload. However the user frees the texture buffer,
as it thinks the texture released.

Instead of reverting the faulty patch,
this patch instead flushes the csmt queue right away
after queuing the upload for this type of textures.
This is more future-proof, as we may want to bind the
surface for other reasons in the future.

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Cc: 18.3 <mesa-stable@lists.freedesktop.org>
src/gallium/state_trackers/nine/surface9.c