From f1ce0b905ab159f3f1bdc947ff25ddbeeb1f6802 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sat, 2 Dec 2017 22:34:47 -0800 Subject: [PATCH] i965/fs: Handle !supports_pull_constants and push UBOs properly In Vulkan, we don't support classic pull constants and everything the client asks us to push, we push. However, for pushed UBOs, we still want to fall back to conventional pulls if we run out of space. --- src/intel/compiler/brw_fs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index fd51cace752..0e3ab381fa6 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -2155,7 +2155,7 @@ fs_visitor::assign_constant_locations() unsigned push_start_align = cplx_align_apply(align, num_push_constants); unsigned chunk_size = u - chunk_start + 1; - if (!compiler->supports_pull_constants || + if ((!compiler->supports_pull_constants && u < UBO_START) || (chunk_size < max_chunk_size && push_start_align + chunk_size <= max_push_components)) { /* Align up the number of push constants */ -- 2.30.2