diff options
author | Jordan Justen <jordan.l.justen@intel.com> | 2015-12-14 15:24:11 -0800 |
---|---|---|
committer | Jordan Justen <jordan.l.justen@intel.com> | 2015-12-14 15:39:07 -0800 |
commit | c4219bc6fff4c8fa764fd0b07c0e8ce99277c4c6 (patch) | |
tree | a66476f4db76f71efc9f48d1d02fe88f6d91d992 | |
parent | f0313a5569d395c83fd4e31248895f902b88b31c (diff) | |
download | external_mesa3d-c4219bc6fff4c8fa764fd0b07c0e8ce99277c4c6.zip external_mesa3d-c4219bc6fff4c8fa764fd0b07c0e8ce99277c4c6.tar.gz external_mesa3d-c4219bc6fff4c8fa764fd0b07c0e8ce99277c4c6.tar.bz2 |
anv/cmd_buffer: Gen 8 requires 64 byte alignment for push constant data
See MEDIA_CURBE_LOAD, CURBE Data Start Address & CURBE Total Data Length
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-rw-r--r-- | src/vulkan/anv_cmd_buffer.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/vulkan/anv_cmd_buffer.c b/src/vulkan/anv_cmd_buffer.c index fa69436..4dc3704 100644 --- a/src/vulkan/anv_cmd_buffer.c +++ b/src/vulkan/anv_cmd_buffer.c @@ -947,10 +947,14 @@ anv_cmd_buffer_cs_push_constants(struct anv_cmd_buffer *cmd_buffer) const unsigned threads = pipeline->cs_thread_width_max; const unsigned total_push_constants_size = reg_aligned_constant_size * threads; + const unsigned push_constant_alignment = + cmd_buffer->device->info.gen < 8 ? 32 : 64; + const unsigned aligned_total_push_constants_size = + ALIGN(total_push_constants_size, push_constant_alignment); struct anv_state state = anv_cmd_buffer_alloc_dynamic_state(cmd_buffer, - total_push_constants_size, - 32 /* bottom 5 bits MBZ */); + aligned_total_push_constants_size, + push_constant_alignment); /* Walk through the param array and fill the buffer with data */ uint32_t *u32_map = state.map; |