diff options
author | Marek Olšák <[email protected]> | 2017-04-02 16:24:39 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-05-10 19:00:16 +0200 |
commit | 330d0607ed60fd3edca192e54b4246310f06652f (patch) | |
tree | 56bceba5b291ffcf42209ef1ab7ec515a8f5b666 /src/gallium/state_trackers/nine/nine_state.h | |
parent | 22f6624ed318e8131681ec1f2e7b3a59449df412 (diff) |
gallium: remove pipe_index_buffer and set_index_buffer
pipe_draw_info::indexed is replaced with index_size. index_size == 0 means
non-indexed.
Instead of pipe_index_buffer::offset, pipe_draw_info::start is used.
For indexed indirect draws, pipe_draw_info::start is added to the indirect
start. This is the only case when "start" affects indirect draws.
pipe_draw_info::index is a union. Use either index::resource or
index::user depending on the value of pipe_draw_info::has_user_indices.
v2: fixes for nine, svga
Diffstat (limited to 'src/gallium/state_trackers/nine/nine_state.h')
-rw-r--r-- | src/gallium/state_trackers/nine/nine_state.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/nine/nine_state.h b/src/gallium/state_trackers/nine/nine_state.h index a487d8cafff..f5fd1ef9cd8 100644 --- a/src/gallium/state_trackers/nine/nine_state.h +++ b/src/gallium/state_trackers/nine/nine_state.h @@ -271,7 +271,9 @@ struct nine_context { uint32_t stream_instancedata_mask; /* derived from stream_freq */ uint32_t stream_usage_mask; /* derived from VS and vdecl */ - struct pipe_index_buffer idxbuf; + struct pipe_resource *idxbuf; + unsigned index_offset; + unsigned index_size; struct pipe_clip_state clip; @@ -515,7 +517,10 @@ nine_context_draw_indexed_primitive_from_vtxbuf_idxbuf(struct NineDevice9 *devic UINT NumVertices, UINT PrimitiveCount, struct pipe_vertex_buffer *vbuf, - struct pipe_index_buffer *ibuf); + struct pipe_resource *ibuf, + void *user_ibuf, + unsigned index_offset, + unsigned index_size); void nine_context_resource_copy_region(struct NineDevice9 *device, |