panfrost: Set FAU count based on program->push

There's no "cutoff" to worry about on Bifrost, just do the simple thing.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8973>
This commit is contained in:
Alyssa Rosenzweig 2021-02-09 19:08:54 -05:00 committed by Marge Bot
parent ce8188ccf2
commit 10f06a2b70

View file

@ -64,6 +64,8 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state,
panfrost_program *program,
gl_shader_stage stage)
{
unsigned fau_count = DIV_ROUND_UP(program->push.count, 2);
switch (stage) {
case MESA_SHADER_VERTEX:
pan_prepare(&state->properties, RENDERER_PROPERTIES);
@ -71,7 +73,7 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state,
state->properties.uniform_buffer_count = state->ubo_count;
pan_prepare(&state->preload, PRELOAD);
state->preload.uniform_count = state->uniform_count;
state->preload.uniform_count = fau_count;
state->preload.vertex.vertex_id = true;
state->preload.vertex.instance_id = true;
break;
@ -94,7 +96,7 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state,
state->properties.bifrost.shader_wait_dependency_7 = program->wait_7;
pan_prepare(&state->preload, PRELOAD);
state->preload.uniform_count = state->uniform_count;
state->preload.uniform_count = fau_count;
state->preload.fragment.fragment_position = state->reads_frag_coord;
state->preload.fragment.coverage = true;
state->preload.fragment.primitive_flags = state->reads_face;
@ -104,7 +106,7 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state,
state->properties.uniform_buffer_count = state->ubo_count;
pan_prepare(&state->preload, PRELOAD);
state->preload.uniform_count = state->uniform_count;
state->preload.uniform_count = fau_count;
state->preload.compute.local_invocation_xy = true;
state->preload.compute.local_invocation_z = true;