summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2016-12-04 01:10:34 +0100
committerAxel Davy <[email protected]>2016-12-20 23:47:08 +0100
commit7089d88199d607d8a135a9605f14ec6393134205 (patch)
tree833b1400c2eb35256f1a525802902b9c8f9d8b5b
parentd4a9b21feb890c149f0aa44b0bb6ea63a9932925 (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.c4
-rw-r--r--src/gallium/state_trackers/nine/nine_state.h1
-rw-r--r--src/gallium/state_trackers/nine/surface9.c2
-rw-r--r--src/gallium/state_trackers/nine/volume9.c2
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,