aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/swr/swr_draw.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/swr/swr_draw.cpp b/src/gallium/drivers/swr/swr_draw.cpp
index f85076b74cc..f26b8e873c1 100644
--- a/src/gallium/drivers/swr/swr_draw.cpp
+++ b/src/gallium/drivers/swr/swr_draw.cpp
@@ -129,8 +129,10 @@ swr_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
* XXX setup provokingVertex & topologyProvokingVertex */
SWR_FRONTEND_STATE feState = {0};
- /* XXX this value should be minimized based on the shader set */
- feState.vsVertexSize = SWR_VTX_NUM_SLOTS;
+ feState.vsVertexSize =
+ VERTEX_ATTRIB_START_SLOT +
+ + ctx->vs->info.base.num_outputs
+ - (ctx->vs->info.base.writes_position ? 1 : 0);
if (ctx->rasterizer->flatshade_first) {
feState.provokingVertex = {1, 0, 0};