summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/iris/iris_state.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index 773ea358d42..bba8138320e 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -2072,8 +2072,21 @@ iris_upload_render_state(struct iris_context *ice,
// XXX: 3DSTATE_SBE, 3DSTATE_SBE_SWIZ
// -> iris_raster_state (point sprite texture coordinate origin)
// -> bunch of shader state...
+
iris_emit_cmd(batch, GENX(3DSTATE_SBE), sbe) {
+ sbe.AttributeSwizzleEnable = true;
+ sbe.NumberofSFOutputAttributes = wm_prog_data->num_varying_inputs;
+ sbe.VertexURBEntryReadOffset = 1;
+ sbe.VertexURBEntryReadLength = 1;
+ sbe.ForceVertexURBEntryReadOffset = true;
+ sbe.ForceVertexURBEntryReadLength = true;
+ sbe.ConstantInterpolationEnable = wm_prog_data->flat_inputs;
+
+ for (int i = 0; i < 2; i++) {
+ sbe.AttributeActiveComponentFormat[i] = ACTIVE_COMPONENT_XYZW;
+ }
}
+
iris_emit_cmd(batch, GENX(3DSTATE_SBE_SWIZ), sbe) {
}
}