radv: Run the new ycbcr lowering pass.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sat, 30 Mar 2019 13:28:06 +0000 (14:28 +0100)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Thu, 25 Apr 2019 19:56:20 +0000 (19:56 +0000)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_shader.c
src/amd/vulkan/radv_shader.h

index 619b5a506adcd2e32becef849f9ddec5cdc7c7f2..5383f00e75480a537543cb6ceb37cc7bd57db022 100644 (file)
@@ -2155,7 +2155,7 @@ void radv_create_shaders(struct radv_pipeline *pipeline,
                nir[i] = radv_shader_compile_to_nir(device, modules[i],
                                                    stage ? stage->pName : "main", i,
                                                    stage ? stage->pSpecializationInfo : NULL,
-                                                   flags);
+                                                   flags, pipeline->layout);
 
                /* We don't want to alter meta shaders IR directly so clone it
                 * first.
index 13f1f9aa9dc9fcf4ec39f1ac462886cc7470bfe5..cd5a9f2afb44e547601693c5fee2f623f96ec298 100644 (file)
@@ -181,7 +181,8 @@ radv_shader_compile_to_nir(struct radv_device *device,
                           const char *entrypoint_name,
                           gl_shader_stage stage,
                           const VkSpecializationInfo *spec_info,
-                          const VkPipelineCreateFlags flags)
+                          const VkPipelineCreateFlags flags,
+                          const struct radv_pipeline_layout *layout)
 {
        nir_shader *nir;
        nir_function *entry_point;
@@ -310,6 +311,7 @@ radv_shader_compile_to_nir(struct radv_device *device,
 
                NIR_PASS_V(nir, nir_lower_system_values);
                NIR_PASS_V(nir, nir_lower_clip_cull_distance_arrays);
+               NIR_PASS_V(nir, radv_nir_lower_ycbcr_textures, layout);
        }
 
        /* Vulkan uses the separate-shader linking model */
index ac367bfc82eac3bf1cff9ae839479506cddefb3a..bfd2787a1234f26e2292df0e1340b2f12bb9229e 100644 (file)
@@ -347,7 +347,8 @@ radv_shader_compile_to_nir(struct radv_device *device,
                           const char *entrypoint_name,
                           gl_shader_stage stage,
                           const VkSpecializationInfo *spec_info,
-                          const VkPipelineCreateFlags flags);
+                          const VkPipelineCreateFlags flags,
+                          const struct radv_pipeline_layout *layout);
 
 void *
 radv_alloc_shader_memory(struct radv_device *device,