panfrost: Set bifrost_props for compute shaders
authorIcecream95 <ixn@disroot.org>
Tue, 22 Dec 2020 10:24:30 +0000 (23:24 +1300)
committerMarge Bot <eric+marge@anholt.net>
Mon, 18 Jan 2021 20:49:45 +0000 (20:49 +0000)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8358>

src/gallium/drivers/panfrost/pan_assemble.c

index 8e45025..ed1d327 100644 (file)
@@ -98,6 +98,24 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state,
                 state->preload.fragment.coverage = true;
                 state->preload.fragment.primitive_flags = state->reads_face;
                 break;
+        case MESA_SHADER_COMPUTE:
+                pan_prepare(&state->properties, RENDERER_PROPERTIES);
+                state->properties.uniform_buffer_count = state->ubo_count;
+
+                pan_prepare(&state->preload, PRELOAD);
+                state->preload.uniform_count = state->uniform_count;
+
+                state->preload.compute.local_invocation_xy = true;
+                state->preload.compute.local_invocation_z = true;
+
+                state->preload.compute.work_group_x = true;
+                state->preload.compute.work_group_y = true;
+                state->preload.compute.work_group_z = true;
+
+                state->preload.compute.global_invocation_x = true;
+                state->preload.compute.global_invocation_y = true;
+                state->preload.compute.global_invocation_z = true;
+                break;
         default:
                 unreachable("TODO");
         }