panfrost: Fixup stream out information per variant

We could probably get away with doing this once per pipe_shader_state
but let's not jump down that rabbit hole quite yet.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
This commit is contained in:
Alyssa Rosenzweig
2019-08-07 10:33:15 -07:00
parent 5b0a1a4e49
commit e7a05a601e
2 changed files with 9 additions and 0 deletions
@@ -2129,6 +2129,13 @@ panfrost_bind_shader_state(
&outputs_written);
shader_state->compiled = true;
/* Fixup the stream out information, since what Gallium returns
* normally is mildly insane */
shader_state->stream_output = variants->base.stream_output;
shader_state->so_mask =
update_so_info(&shader_state->stream_output, outputs_written);
}
}
@@ -232,6 +232,8 @@ struct panfrost_shader_state {
struct mali_attr_meta varyings[PIPE_MAX_ATTRIBS];
gl_varying_slot varyings_loc[PIPE_MAX_ATTRIBS];
struct pipe_stream_output_info stream_output;
uint64_t so_mask;
unsigned sysval_count;
unsigned sysval[MAX_SYSVAL_COUNT];