summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/genX_pipeline_util.h
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-03-08 18:10:22 -0800
committerJason Ekstrand <jason.ekstrand@intel.com>2016-05-27 15:17:43 -0700
commit54324877926caa28b8ebd89d95b4e7c2447d17b8 (patch)
tree663cbfa6f9c3ee2ae7ff1c8939489352245febd0 /src/intel/vulkan/genX_pipeline_util.h
parent2cee0d0f9c9e9e269885b1d943ff123e033d9b52 (diff)
downloadexternal_mesa3d-54324877926caa28b8ebd89d95b4e7c2447d17b8.zip
external_mesa3d-54324877926caa28b8ebd89d95b4e7c2447d17b8.tar.gz
external_mesa3d-54324877926caa28b8ebd89d95b4e7c2447d17b8.tar.bz2
anv: Move push constant allocation to the command buffer
Instead of blasting it out as part of the pipeline, we put it in the command buffer and only blast it out when it's really needed. Since the PUSH_CONSTANT_ALLOC commands aren't pipelined, they immediately cause a stall which we would like to avoid. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'src/intel/vulkan/genX_pipeline_util.h')
-rw-r--r--src/intel/vulkan/genX_pipeline_util.h12
1 files changed, 0 insertions, 12 deletions
diff --git a/src/intel/vulkan/genX_pipeline_util.h b/src/intel/vulkan/genX_pipeline_util.h
index ecbe436..2ed55e0 100644
--- a/src/intel/vulkan/genX_pipeline_util.h
+++ b/src/intel/vulkan/genX_pipeline_util.h
@@ -205,18 +205,6 @@ emit_urb_setup(struct anv_pipeline *pipeline)
}
#endif
- unsigned push_start = 0;
- for (int i = MESA_SHADER_VERTEX; i <= MESA_SHADER_FRAGMENT; i++) {
- unsigned push_size = pipeline->urb.push_size[i];
- anv_batch_emit(&pipeline->batch,
- GENX(3DSTATE_PUSH_CONSTANT_ALLOC_VS), alloc) {
- alloc._3DCommandSubOpcode = 18 + i;
- alloc.ConstantBufferOffset = (push_size > 0) ? push_start : 0;
- alloc.ConstantBufferSize = push_size;
- }
- push_start += pipeline->urb.push_size[i];
- }
-
for (int i = MESA_SHADER_VERTEX; i <= MESA_SHADER_GEOMETRY; i++) {
anv_batch_emit(&pipeline->batch, GENX(3DSTATE_URB_VS), urb) {
urb._3DCommandSubOpcode = 48 + i;