diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/iris/iris_state.c | 13 |
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) { } } |