Mesa (master): i965/fs: Handle !supports_pull_constants and push UBOs properly
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Sat Dec 9 00:16:09 UTC 2017
Module: Mesa
Branch: master
Commit: f1ce0b905ab159f3f1bdc947ff25ddbeeb1f6802
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1ce0b905ab159f3f1bdc947ff25ddbeeb1f6802
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Sat Dec 2 22:34:47 2017 -0800
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 fd51cace75..0e3ab381fa 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 */
More information about the mesa-commit
mailing list