summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d/v3dx_draw.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-08-02 12:23:02 -0700
committerEric Anholt <[email protected]>2018-08-06 13:03:23 -0700
commit1561e4984eb03d6946d19b820b83a96bbbd83b98 (patch)
tree4064ce6b09dca66609e960ccecd698795ffd3df2 /src/gallium/drivers/v3d/v3dx_draw.c
parent5d49076990f6c34fe9134d879e69af5871818b3b (diff)
v3d: Emit the VCM_CACHE_SIZE packet.
This is needed to ensure that we don't get blocked waiting for VPM space with bin/render overlapping. Cc: "18.2" <[email protected]>
Diffstat (limited to 'src/gallium/drivers/v3d/v3dx_draw.c')
-rw-r--r--src/gallium/drivers/v3d/v3dx_draw.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c
index 479adb70fdb..bfb4af13ceb 100644
--- a/src/gallium/drivers/v3d/v3dx_draw.c
+++ b/src/gallium/drivers/v3d/v3dx_draw.c
@@ -306,6 +306,13 @@ v3d_emit_gl_shader_state(struct v3d_context *v3d,
}
}
+ cl_emit(&job->bcl, VCM_CACHE_SIZE, vcm) {
+ vcm.number_of_16_vertex_batches_for_binning =
+ v3d->prog.cs->prog_data.vs->vcm_cache_size;
+ vcm.number_of_16_vertex_batches_for_rendering =
+ v3d->prog.vs->prog_data.vs->vcm_cache_size;
+ }
+
cl_emit(&job->bcl, GL_SHADER_STATE, state) {
state.address = cl_address(job->indirect.bo, shader_rec_offset);
state.number_of_attribute_arrays = num_elements_to_emit;