radv: move lowering FS intrinsics to radv_postprocess_nir()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 18 Aug 2022 07:31:19 +0000 (09:31 +0200)
committerMarge Bot <emma+marge@anholt.net>
Mon, 22 Aug 2022 13:45:28 +0000 (13:45 +0000)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138>

src/amd/vulkan/radv_pipeline.c

index d62c8bd..184cf85 100644 (file)
@@ -4312,6 +4312,10 @@ radv_postprocess_nir(struct radv_pipeline *pipeline,
    /* Wave and workgroup size should already be filled. */
    assert(stage->info.wave_size && stage->info.workgroup_size);
 
+   if (stage->stage == MESA_SHADER_FRAGMENT) {
+      NIR_PASS(_, stage->nir, radv_lower_fs_intrinsics, stage, pipeline_key);
+   }
+
    enum nir_lower_non_uniform_access_type lower_non_uniform_access_types =
       nir_lower_non_uniform_ubo_access | nir_lower_non_uniform_ssbo_access |
       nir_lower_non_uniform_texture_access | nir_lower_non_uniform_image_access;
@@ -4669,11 +4673,6 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
 
    radv_declare_pipeline_args(device, stages, pipeline_key);
 
-   if (stages[MESA_SHADER_FRAGMENT].nir) {
-      NIR_PASS(_, stages[MESA_SHADER_FRAGMENT].nir, radv_lower_fs_intrinsics,
-               &stages[MESA_SHADER_FRAGMENT], pipeline_key);
-   }
-
    for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
       if (!stages[i].nir)
          continue;