summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-12-02 22:34:47 -0800
committerJason Ekstrand <[email protected]>2017-12-08 15:43:25 -0800
commitf1ce0b905ab159f3f1bdc947ff25ddbeeb1f6802 (patch)
tree65ab52c9e6037f7ce3ca4d1f3a31383585a19796
parent8d34077182d8408923e5239ece882b081670b528 (diff)
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.
-rw-r--r--src/intel/compiler/brw_fs.cpp2
1 files changed, 1 insertions, 1 deletions
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 */