mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
pco: spilling enablement - track barrier usage
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
This commit is contained in:
parent
117e7222cb
commit
fd4204b37b
3 changed files with 8 additions and 3 deletions
|
|
@ -1693,7 +1693,9 @@ bool pco_nir_lower_algebraic(nir_shader *shader);
|
|||
bool pco_nir_lower_algebraic_late(nir_shader *shader);
|
||||
bool pco_nir_lower_alpha_to_coverage(nir_shader *shader);
|
||||
bool pco_nir_lower_atomics(nir_shader *shader, bool *uses_usclib);
|
||||
bool pco_nir_lower_barriers(nir_shader *shader, bool *uses_usclib);
|
||||
bool pco_nir_lower_barriers(nir_shader *shader,
|
||||
pco_data *data,
|
||||
bool *uses_usclib);
|
||||
bool pco_nir_lower_clip_cull_vars(nir_shader *shader);
|
||||
bool pco_nir_lower_fs_intrinsics(nir_shader *shader);
|
||||
bool pco_nir_lower_images(nir_shader *shader, pco_data *data);
|
||||
|
|
|
|||
|
|
@ -722,7 +722,7 @@ void pco_lower_nir(pco_ctx *ctx, nir_shader *nir, pco_data *data)
|
|||
|
||||
NIR_PASS(_, nir, nir_opt_barrier_modes);
|
||||
NIR_PASS(_, nir, nir_opt_combine_barriers, NULL, NULL);
|
||||
NIR_PASS(_, nir, pco_nir_lower_barriers, &uses_usclib);
|
||||
NIR_PASS(_, nir, pco_nir_lower_barriers, data, &uses_usclib);
|
||||
|
||||
NIR_PASS(_, nir, nir_lower_memory_model);
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,9 @@ static bool is_barrier(const nir_instr *instr, UNUSED const void *cb_data)
|
|||
* \param[in,out] shader NIR shader.
|
||||
* \return True if the pass made progress.
|
||||
*/
|
||||
bool pco_nir_lower_barriers(nir_shader *shader, bool *uses_usclib)
|
||||
bool pco_nir_lower_barriers(nir_shader *shader,
|
||||
pco_data *data,
|
||||
bool *uses_usclib)
|
||||
{
|
||||
bool barrier_emitted = false;
|
||||
bool progress = nir_shader_lower_instructions(shader,
|
||||
|
|
@ -91,6 +93,7 @@ bool pco_nir_lower_barriers(nir_shader *shader, bool *uses_usclib)
|
|||
&barrier_emitted);
|
||||
|
||||
*uses_usclib |= barrier_emitted;
|
||||
data->common.uses.barriers |= progress;
|
||||
|
||||
return progress;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue