diff options
author | Marek Olšák <marek.olsak@amd.com> | 2017-11-09 20:12:07 +0100 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2017-11-10 17:17:13 +0100 |
commit | e456d4def5cb0cff3c243c267dd08ac17042e9e4 (patch) | |
tree | 14a0e7ee911fec8fe18621bf4bc5478ae9d9934d /src/gallium | |
parent | e7972b89432600ebe38e6eb67b9b65c1f34dfdc1 (diff) |
st/dri: fix android fence regression
Fixes piglit - egl_khr_fence_sync/android_native tests.
Broken by 884a0b2a9e55d4c1ca39475b50d9af598d7d7280.
Introduce state-tracker flush flags, analogous to the pipe ones. Use
the former when with stapi->flush().
Fixes: 884a0b2a9e5 ("st/dri: use stapi flush instead of pipe flush
when creating fences")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/include/state_tracker/st_api.h | 2 | ||||
-rw-r--r-- | src/gallium/state_trackers/dri/dri_helpers.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 11a9878cf6..6cdaefc902 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -147,6 +147,8 @@ enum st_attachment_type { #define ST_FLUSH_FRONT (1 << 0) #define ST_FLUSH_END_OF_FRAME (1 << 1) #define ST_FLUSH_WAIT (1 << 2) +#define ST_FLUSH_DEFERRED (1 << 3) +#define ST_FLUSH_FENCE_FD (1 << 4) /** * Value to st_manager->get_param function. diff --git a/src/gallium/state_trackers/dri/dri_helpers.c b/src/gallium/state_trackers/dri/dri_helpers.c index a9213eca19..4a61455b1f 100644 --- a/src/gallium/state_trackers/dri/dri_helpers.c +++ b/src/gallium/state_trackers/dri/dri_helpers.c @@ -116,7 +116,7 @@ dri2_create_fence_fd(__DRIcontext *_ctx, int fd) if (fd == -1) { /* exporting driver created fence, flush: */ - stapi->flush(stapi, PIPE_FLUSH_DEFERRED | PIPE_FLUSH_FENCE_FD, + stapi->flush(stapi, ST_FLUSH_DEFERRED | ST_FLUSH_FENCE_FD, &fence->pipe_fence); } else { /* importing a foreign fence fd: */ |