From 8ea8727a87b7fe0ee89aa8fcb583b126b57ed3f9 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 10 Jan 2019 01:47:14 -0600 Subject: anv/pipeline: Constant fold after apply_pipeline_layout Thanks to the new NIR load_descriptor intrinsic added by the UBO/SSBO lowering series, we weren't getting UBO pushing because the UBO range detection pass couldn't see the constants it needed. This fixes that problem with a quick round of constant folding. Because we're folding we no longer need to go out of our way to generate constants when we lower the vulkan_resource_index intrinsic and we can make it a bit simpler. Reviewed-by: Lionel Landwerlin --- src/intel/vulkan/anv_pipeline.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/intel/vulkan/anv_pipeline.c') diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index d1efaaf060b..b99981d7a5c 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -544,6 +544,7 @@ anv_pipeline_lower_nir(struct anv_pipeline *pipeline, pipeline->device->robust_buffer_access, layout, nir, prog_data, &stage->bind_map); + NIR_PASS_V(nir, nir_opt_constant_folding); } if (nir->info.stage != MESA_SHADER_COMPUTE) -- cgit v1.2.3