On Wed, Jun 27, 2018 at 07:00:56PM -0700, Jason Ekstrand wrote: > The back-end compiler emits the number of color writes specified by > wm_prog_key::nr_color_regions regardless of what nir_store_outputs we > have. Once we've gone through and figured out which render targets > actually exist and are written by the shader, we should restrict the key > to avoid extra RT write messages. > --- > src/intel/vulkan/anv_pipeline.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c > index 523202cf3d9..6a27d305dbc 100644 > --- a/src/intel/vulkan/anv_pipeline.c > +++ b/src/intel/vulkan/anv_pipeline.c > @@ -965,6 +965,11 @@ anv_pipeline_compile_fs(struct anv_pipeline *pipeline, > var->data.location = rt_to_bindings[rt] + FRAG_RESULT_DATA0; > } > > + /* Now that we've determined the actual number of render targets, > adjust > + * the key accordingly. > + */ > + key.nr_color_regions = num_rts; > +
Question: earlier in the code we call populate_wm_prog_key(pipeline, info, &key); which does key->nr_color_regions = pipeline->subpass->color_count; key->replicate_alpha = key->nr_color_regions > 1 && info->pMultisampleState && info->pMultisampleState->alphaToCoverageEnable; so key->replicate_alpha is calculated based on the old value. Should this be (re)calculated using the new value? Thanks, Caio _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev