freedreno: fix eglDupNativeFenceFD error
We can end up with scenarios where last_fence is associated with a batch that is flushed through some other path before needs_out_fence_fd gets set. Resulting in returning a fence that has no backing fd.
The simplest thing is to just skip the optimization to try and avoid no-op batches when a fence-fd is requested. This should normally be just once a frame anyways.
Signed-off-by: Rob Clark robdclark@chromium.org
NOTE: unfortunately it isn't a thing I can apitrace (that I know of), so I'm not entirely sure how to identify the exact sequence of gl calls that triggers this. But the fix seems reasonable to me.