From a78b5f437865fc976154d226eb87b67ef2f098d2 Mon Sep 17 00:00:00 2001 From: Axel Davy Date: Thu, 1 Dec 2016 22:44:06 +0100 Subject: st/nine: Implement nine_context_range_upload Will be used to upload buffers. Signed-off-by: Axel Davy --- src/gallium/state_trackers/nine/nine_state.c | 11 +++++++++++ src/gallium/state_trackers/nine/nine_state.h | 8 ++++++++ 2 files changed, 19 insertions(+) (limited to 'src/gallium/state_trackers/nine') diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c index d09dabc34c8..57a5c746642 100644 --- a/src/gallium/state_trackers/nine/nine_state.c +++ b/src/gallium/state_trackers/nine/nine_state.c @@ -2692,6 +2692,17 @@ CSMT_ITEM_NO_WAIT(nine_context_clear_render_target, context->pipe->clear_render_target(context->pipe, surf, &rgba, x, y, width, height, false); } +CSMT_ITEM_NO_WAIT_WITH_COUNTER(nine_context_range_upload, + ARG_BIND_RES(struct pipe_resource, res), + ARG_VAL(unsigned, offset), + ARG_VAL(unsigned, size), + ARG_VAL(const void *, data)) +{ + struct nine_context *context = &device->context; + + context->pipe->buffer_subdata(context->pipe, res, 0, offset, size, data); +} + struct pipe_query * nine_context_create_query(struct NineDevice9 *device, unsigned query_type) { diff --git a/src/gallium/state_trackers/nine/nine_state.h b/src/gallium/state_trackers/nine/nine_state.h index 6578be363c1..c0afbe0c8bf 100644 --- a/src/gallium/state_trackers/nine/nine_state.h +++ b/src/gallium/state_trackers/nine/nine_state.h @@ -539,6 +539,14 @@ nine_context_clear_render_target(struct NineDevice9 *device, UINT width, UINT height); +void +nine_context_range_upload(struct NineDevice9 *device, + unsigned *counter, + struct pipe_resource *res, + unsigned offset, + unsigned size, + const void *data); + struct pipe_query * nine_context_create_query(struct NineDevice9 *device, unsigned query_type); -- cgit v1.2.3