r600: Fix ordering of SSBO loads versus texturing.
The two types of instructions get added to the same CF list, but not the same instr list within the CF list. So, if you SSBO fetched your texcoord, the emission of the SSBO fetch would come *after* the texcoord fetch. Avoids regressions when NIR-to-TGSI starts optimizing more. Cc: mesa-stable Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14429>
This commit is contained in:
@@ -1462,6 +1462,12 @@ int r600_bytecode_add_tex(struct r600_bytecode *bc, const struct r600_bytecode_t
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* vtx instrs get inserted after tex, so make sure we aren't moving the tex
|
||||
* before (say) the instr fetching the texcoord.
|
||||
*/
|
||||
if (!list_is_empty(&bc->cf_last->vtx))
|
||||
bc->force_add_cf = 1;
|
||||
|
||||
/* slight hack to make gradients always go into same cf */
|
||||
if (ntex->op == FETCH_OP_SET_GRADIENTS_H)
|
||||
bc->force_add_cf = 1;
|
||||
|
||||
Reference in New Issue
Block a user