This means that we get a single copy of it emitted, instead of once at the
start of each tile (though it's still executed once per tile). Fixes
assertion failures with the updated simulator.
*/
cl_emit(&job->bcl, START_TILE_BINNING, bin);
- cl_emit(&job->bcl, PRIMITIVE_LIST_FORMAT, fmt) {
- fmt.data_type = LIST_INDEXED;
- fmt.primitive_type = LIST_TRIANGLES;
- }
-
job->needs_flush = true;
job->draw_width = vc5->framebuffer.width;
job->draw_height = vc5->framebuffer.height;
*/
cl_emit(cl, TILE_COORDINATES_IMPLICIT, coords);
+ /* The binner starts out writing tiles assuming that the initial mode
+ * is triangles, so make sure that's the case.
+ */
+ cl_emit(cl, PRIMITIVE_LIST_FORMAT, fmt) {
+ fmt.data_type = LIST_INDEXED;
+ fmt.primitive_type = LIST_TRIANGLES;
+ }
+
cl_emit(cl, BRANCH_TO_IMPLICIT_TILE_LIST, branch);
bool needs_color_clear = job->cleared & pipe_clear_color_buffers;