commit 8802fe7b60e3442f1401dd207d840d558309b523 (HEAD, my_fixes) Author: Jacek Konieczny Date: Thu Apr 14 17:51:47 2016 +0200 anv: do not flush push constants on inactive stages This was causing crashes in The Talos Principle, on a pipeline without a fragment shader stage. Signed-off-by: Jacek Konieczny diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index d642832..a604e89 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -283,7 +283,7 @@ cmd_buffer_flush_push_constants(struct anv_cmd_buffer *cmd_buffer) VkShaderStageFlags flushed = 0; - anv_foreach_stage(stage, cmd_buffer->state.push_constants_dirty) { + anv_foreach_stage(stage, cmd_buffer->state.push_constants_dirty & cmd_buffer->state.pipeline->active_stages) { if (stage == MESA_SHADER_COMPUTE) continue;