[Mesa-dev] [PATCH 36/84] st/nine: Decompose nine_context_set_stream_source
Axel Davy
axel.davy at ens.fr
Wed Dec 7 22:55:09 UTC 2016
Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.
Signed-off-by: Axel Davy <axel.davy at ens.fr>
---
src/gallium/state_trackers/nine/nine_state.c | 34 ++++++++++++++++++++--------
1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c
index 95d7b3d..66b2814 100644
--- a/src/gallium/state_trackers/nine/nine_state.c
+++ b/src/gallium/state_trackers/nine/nine_state.c
@@ -1190,6 +1190,23 @@ nine_context_set_sampler_state(struct NineDevice9 *device,
context->changed.sampler[Sampler] |= 1 << Type;
}
+static void
+nine_context_set_stream_source_apply(struct NineDevice9 *device,
+ UINT StreamNumber,
+ struct pipe_resource *res,
+ UINT OffsetInBytes,
+ UINT Stride)
+{
+ struct nine_context *context = &device->context;
+ const unsigned i = StreamNumber;
+
+ context->vtxbuf[i].stride = Stride;
+ context->vtxbuf[i].buffer_offset = OffsetInBytes;
+ pipe_resource_reference(&context->vtxbuf[i].buffer, res);
+
+ context->changed.vtxbuf |= 1 << StreamNumber;
+}
+
void
nine_context_set_stream_source(struct NineDevice9 *device,
UINT StreamNumber,
@@ -1197,17 +1214,16 @@ nine_context_set_stream_source(struct NineDevice9 *device,
UINT OffsetInBytes,
UINT Stride)
{
- struct nine_context *context = &device->context;
- const unsigned i = StreamNumber;
+ struct pipe_resource *res = NULL;
- context->changed.vtxbuf |= 1 << StreamNumber;
+ if (pVBuf9)
+ res = NineVertexBuffer9_GetResource(pVBuf9);
+ /* in the future when there is internal offset, add it
+ * to OffsetInBytes */
- if (pVBuf9) {
- context->vtxbuf[i].stride = Stride;
- context->vtxbuf[i].buffer_offset = OffsetInBytes;
- }
- pipe_resource_reference(&context->vtxbuf[i].buffer,
- pVBuf9 ? NineVertexBuffer9_GetResource(pVBuf9) : NULL);
+ nine_context_set_stream_source_apply(device, StreamNumber,
+ res, OffsetInBytes,
+ Stride);
}
void
--
2.10.2
More information about the mesa-dev
mailing list