summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2016-12-18 10:59:53 +0100
committerAxel Davy <[email protected]>2016-12-20 23:44:23 +0100
commit2c371a25a8800883dda353853cca6b5a2ba71bb4 (patch)
tree040384044de657ce67779740d04865c019af7988
parent1277ceefd1e8c0c495b75de55cfe661a478d1aae (diff)
st/nine: Call GetPipe for implicit pipe usages
With csmt, every usage of the pipe in the main thread has to be protected by calling GetPipe. Signed-off-by: Axel Davy <[email protected]>
-rw-r--r--src/gallium/state_trackers/nine/device9.c6
-rw-r--r--src/gallium/state_trackers/nine/swapchain9.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/nine/device9.c b/src/gallium/state_trackers/nine/device9.c
index 8f5f117951f..dce908e7f8f 100644
--- a/src/gallium/state_trackers/nine/device9.c
+++ b/src/gallium/state_trackers/nine/device9.c
@@ -2821,6 +2821,8 @@ NineDevice9_DrawPrimitiveUP( struct NineDevice9 *This,
vtxbuf.user_buffer = pVertexStreamZeroData;
if (!This->driver_caps.user_vbufs) {
+ /* Implicit use of context pipe */
+ (void)NineDevice9_GetPipe(This);
u_upload_data(This->vertex_uploader,
0,
(prim_count_to_vertex_count(PrimitiveType, PrimitiveCount)) * VertexStreamZeroStride, /* XXX */
@@ -2884,6 +2886,8 @@ NineDevice9_DrawIndexedPrimitiveUP( struct NineDevice9 *This,
if (!This->driver_caps.user_vbufs) {
const unsigned base = MinVertexIndex * VertexStreamZeroStride;
+ /* Implicit use of context pipe */
+ (void)NineDevice9_GetPipe(This);
u_upload_data(This->vertex_uploader,
base,
NumVertices * VertexStreamZeroStride, /* XXX */
@@ -2897,6 +2901,8 @@ NineDevice9_DrawIndexedPrimitiveUP( struct NineDevice9 *This,
vbuf.user_buffer = NULL;
}
if (!This->driver_caps.user_ibufs) {
+ /* Implicit use of context pipe */
+ (void)NineDevice9_GetPipe(This);
u_upload_data(This->index_uploader,
0,
(prim_count_to_vertex_count(PrimitiveType, PrimitiveCount)) * ibuf.index_size,
diff --git a/src/gallium/state_trackers/nine/swapchain9.c b/src/gallium/state_trackers/nine/swapchain9.c
index 502736c2216..51aab066a56 100644
--- a/src/gallium/state_trackers/nine/swapchain9.c
+++ b/src/gallium/state_trackers/nine/swapchain9.c
@@ -603,6 +603,8 @@ handle_draw_cursor_and_hud( struct NineSwapChain9 *This, struct pipe_resource *r
}
if (device->hud && resource) {
+ /* Implicit use of context pipe */
+ (void)NineDevice9_GetPipe(This->base.device);
hud_draw(device->hud, resource); /* XXX: no offset */
/* HUD doesn't clobber stipple */
nine_state_restore_non_cso(device);