diff options
author | Axel Davy <[email protected]> | 2016-12-04 01:10:34 +0100 |
---|---|---|
committer | Axel Davy <[email protected]> | 2016-12-20 23:47:08 +0100 |
commit | 7089d88199d607d8a135a9605f14ec6393134205 (patch) | |
tree | 833b1400c2eb35256f1a525802902b9c8f9d8b5b | |
parent | d4a9b21feb890c149f0aa44b0bb6ea63a9932925 (diff) |
st/nine: Bind destination for surface/volume uploads
Will enable to use the bind count as an information for
whether the surface/volume is used in the worker thread.
Signed-off-by: Axel Davy <[email protected]>
-rw-r--r-- | src/gallium/state_trackers/nine/nine_state.c | 4 | ||||
-rw-r--r-- | src/gallium/state_trackers/nine/nine_state.h | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/nine/surface9.c | 2 | ||||
-rw-r--r-- | src/gallium/state_trackers/nine/volume9.c | 2 |
4 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c index 8facbae18bf..7c2605f864c 100644 --- a/src/gallium/state_trackers/nine/nine_state.c +++ b/src/gallium/state_trackers/nine/nine_state.c @@ -2719,6 +2719,7 @@ CSMT_ITEM_NO_WAIT_WITH_COUNTER(nine_context_range_upload, } CSMT_ITEM_NO_WAIT_WITH_COUNTER(nine_context_box_upload, + ARG_BIND_REF(struct NineUnknown, dst), ARG_BIND_RES(struct pipe_resource, res), ARG_VAL(unsigned, level), ARG_COPY_REF(struct pipe_box, dst_box), @@ -2733,6 +2734,9 @@ CSMT_ITEM_NO_WAIT_WITH_COUNTER(nine_context_box_upload, struct pipe_transfer *transfer = NULL; uint8_t *map; + /* We just bind dst for the bind count */ + (void)dst; + map = pipe->transfer_map(pipe, res, level, diff --git a/src/gallium/state_trackers/nine/nine_state.h b/src/gallium/state_trackers/nine/nine_state.h index 96c00d40f5e..acead926414 100644 --- a/src/gallium/state_trackers/nine/nine_state.h +++ b/src/gallium/state_trackers/nine/nine_state.h @@ -557,6 +557,7 @@ nine_context_range_upload(struct NineDevice9 *device, void nine_context_box_upload(struct NineDevice9 *device, unsigned *counter, + struct NineUnknown *dst, struct pipe_resource *res, unsigned level, const struct pipe_box *dst_box, diff --git a/src/gallium/state_trackers/nine/surface9.c b/src/gallium/state_trackers/nine/surface9.c index f7e479a26c4..26c2d69d276 100644 --- a/src/gallium/state_trackers/nine/surface9.c +++ b/src/gallium/state_trackers/nine/surface9.c @@ -628,6 +628,7 @@ NineSurface9_CopyMemToDefault( struct NineSurface9 *This, nine_context_box_upload(This->base.base.device, &From->pending_uploads_counter, + (struct NineUnknown *)This, r_dst, This->level, &dst_box, @@ -719,6 +720,7 @@ NineSurface9_UploadSelf( struct NineSurface9 *This, nine_context_box_upload(This->base.base.device, &This->pending_uploads_counter, + (struct NineUnknown *)This, res, This->level, &box, diff --git a/src/gallium/state_trackers/nine/volume9.c b/src/gallium/state_trackers/nine/volume9.c index e8abfe7f3bc..29a1fcbbd03 100644 --- a/src/gallium/state_trackers/nine/volume9.c +++ b/src/gallium/state_trackers/nine/volume9.c @@ -435,6 +435,7 @@ NineVolume9_CopyMemToDefault( struct NineVolume9 *This, nine_context_box_upload(This->base.device, &From->pending_uploads_counter, + (struct NineUnknown *)This, r_dst, This->level, &dst_box, @@ -489,6 +490,7 @@ NineVolume9_UploadSelf( struct NineVolume9 *This, nine_context_box_upload(This->base.device, &This->pending_uploads_counter, + (struct NineUnknown *)This, res, This->level, &box, |