iris: Always re-upload sysvals when we have kernel inputs
authorJason Ekstrand <jason@jlekstrand.net>
Fri, 21 Aug 2020 04:47:51 +0000 (23:47 -0500)
committerMarge Bot <eric+marge@anholt.net>
Fri, 21 Aug 2020 22:49:54 +0000 (22:49 +0000)
They can change on every dispatch and clover never gives us a heads up.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6405>

src/gallium/drivers/iris/iris_state.c

index 7d9ac0749880dc0ec366a1712ca346f150b2a7c6..04053e2daad9f59e64fd26faf4462c43894e0617 100644 (file)
@@ -6814,8 +6814,9 @@ iris_upload_compute_state(struct iris_context *ice,
     */
    iris_use_pinned_bo(batch, ice->state.binder.bo, false, IRIS_DOMAIN_NONE);
 
-   if ((stage_dirty & IRIS_STAGE_DIRTY_CONSTANTS_CS) &&
-       shs->sysvals_need_upload)
+   if (((stage_dirty & IRIS_STAGE_DIRTY_CONSTANTS_CS) &&
+        shs->sysvals_need_upload) ||
+       shader->kernel_input_size > 0)
       upload_sysvals(ice, MESA_SHADER_COMPUTE, grid);
 
    if (stage_dirty & IRIS_STAGE_DIRTY_BINDINGS_CS)