diff options
author | Chia-I Wu <olvaffe@gmail.com> | 2014-04-10 02:45:23 +0800 |
---|---|---|
committer | Chia-I Wu <olvaffe@gmail.com> | 2014-04-14 20:45:04 +0800 |
commit | 8fa8e9b1b8cd4b36adaaf7d61785cb00ed086257 (patch) | |
tree | a97207d12ee3e131066d824019897bfe668128db /src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c | |
parent | bdd0546d7c2d82ce1f1870481a9d0291db345aa4 (diff) |
ilo: remove GPE command size estimation
Use size defines from genhw.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c | 96 |
1 files changed, 42 insertions, 54 deletions
diff --git a/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c b/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c index bba35bc758e..cd64b1b0e5c 100644 --- a/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c +++ b/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c @@ -1743,49 +1743,43 @@ gen6_pipeline_estimate_commands(const struct ilo_3d_pipeline *p, const struct ilo_context *ilo) { static int size; - enum ilo_gpe_gen6_command cmd; - - if (size) - return size; - - for (cmd = 0; cmd < ILO_GPE_GEN6_COMMAND_COUNT; cmd++) { - int count; - - switch (cmd) { - case ILO_GPE_GEN6_PIPE_CONTROL: - /* for the workaround */ - count = 2; - /* another one after 3DSTATE_URB */ - count += 1; - /* and another one after 3DSTATE_CONSTANT_VS */ - count += 1; - break; - case ILO_GPE_GEN6_3DSTATE_GS_SVB_INDEX: - /* there are 4 SVBIs */ - count = 4; - break; - case ILO_GPE_GEN6_3DSTATE_VERTEX_BUFFERS: - count = 33; - break; - case ILO_GPE_GEN6_3DSTATE_VERTEX_ELEMENTS: - count = 34; - break; - case ILO_GPE_GEN6_MEDIA_VFE_STATE: - case ILO_GPE_GEN6_MEDIA_CURBE_LOAD: - case ILO_GPE_GEN6_MEDIA_INTERFACE_DESCRIPTOR_LOAD: - case ILO_GPE_GEN6_MEDIA_GATEWAY_STATE: - case ILO_GPE_GEN6_MEDIA_STATE_FLUSH: - case ILO_GPE_GEN6_MEDIA_OBJECT_WALKER: - /* media commands */ - count = 0; - break; - default: - count = 1; - break; - } - if (count) - size += ilo_gpe_gen6_estimate_command_size(p->dev, cmd, count); + if (!size) { + size += GEN6_3DSTATE_CONSTANT_ANY__SIZE * 3; + size += GEN6_3DSTATE_GS_SVB_INDEX__SIZE * 4; + size += GEN6_PIPE_CONTROL__SIZE * 5; + + size += + GEN6_STATE_BASE_ADDRESS__SIZE + + GEN6_STATE_SIP__SIZE + + GEN6_3DSTATE_VF_STATISTICS__SIZE + + GEN6_PIPELINE_SELECT__SIZE + + GEN6_3DSTATE_BINDING_TABLE_POINTERS__SIZE + + GEN6_3DSTATE_SAMPLER_STATE_POINTERS__SIZE + + GEN6_3DSTATE_URB__SIZE + + GEN6_3DSTATE_VERTEX_BUFFERS__SIZE + + GEN6_3DSTATE_VERTEX_ELEMENTS__SIZE + + GEN6_3DSTATE_INDEX_BUFFER__SIZE + + GEN6_3DSTATE_VIEWPORT_STATE_POINTERS__SIZE + + GEN6_3DSTATE_CC_STATE_POINTERS__SIZE + + GEN6_3DSTATE_SCISSOR_STATE_POINTERS__SIZE + + GEN6_3DSTATE_VS__SIZE + + GEN6_3DSTATE_GS__SIZE + + GEN6_3DSTATE_CLIP__SIZE + + GEN6_3DSTATE_SF__SIZE + + GEN6_3DSTATE_WM__SIZE + + GEN6_3DSTATE_SAMPLE_MASK__SIZE + + GEN6_3DSTATE_DRAWING_RECTANGLE__SIZE + + GEN6_3DSTATE_DEPTH_BUFFER__SIZE + + GEN6_3DSTATE_POLY_STIPPLE_OFFSET__SIZE + + GEN6_3DSTATE_POLY_STIPPLE_PATTERN__SIZE + + GEN6_3DSTATE_LINE_STIPPLE__SIZE + + GEN6_3DSTATE_AA_LINE_PARAMETERS__SIZE + + GEN6_3DSTATE_MULTISAMPLE__SIZE + + GEN6_3DSTATE_STENCIL_BUFFER__SIZE + + GEN6_3DSTATE_HIER_DEPTH_BUFFER__SIZE + + GEN6_3DSTATE_CLEAR_PARAMS__SIZE + + GEN6_3DPRIMITIVE__SIZE; } return size; @@ -1911,28 +1905,22 @@ ilo_3d_pipeline_estimate_size_gen6(struct ilo_3d_pipeline *p, } break; case ILO_3D_PIPELINE_FLUSH: - size = ilo_gpe_gen6_estimate_command_size(p->dev, - ILO_GPE_GEN6_PIPE_CONTROL, 1) * 3; + size = GEN6_PIPE_CONTROL__SIZE * 3; break; case ILO_3D_PIPELINE_WRITE_TIMESTAMP: - size = ilo_gpe_gen6_estimate_command_size(p->dev, - ILO_GPE_GEN6_PIPE_CONTROL, 1) * 2; + size = GEN6_PIPE_CONTROL__SIZE * 2; break; case ILO_3D_PIPELINE_WRITE_DEPTH_COUNT: - size = ilo_gpe_gen6_estimate_command_size(p->dev, - ILO_GPE_GEN6_PIPE_CONTROL, 1) * 3; + size = GEN6_PIPE_CONTROL__SIZE * 3; break; case ILO_3D_PIPELINE_WRITE_STATISTICS: { const int num_regs = 8; const int num_pads = 3; - size = ilo_gpe_gen6_estimate_command_size(p->dev, - ILO_GPE_GEN6_PIPE_CONTROL, 1); - size += ilo_gpe_gen6_estimate_command_size(p->dev, - ILO_GPE_GEN6_MI_STORE_REGISTER_MEM, 1) * 2 * num_regs; - size += ilo_gpe_gen6_estimate_command_size(p->dev, - ILO_GPE_GEN6_MI_STORE_DATA_IMM, 1) * num_pads; + size = GEN6_PIPE_CONTROL__SIZE; + size += GEN6_MI_STORE_REGISTER_MEM__SIZE * 2 * num_regs; + size += GEN6_MI_STORE_DATA_IMM__SIZE * num_pads; } break; case ILO_3D_PIPELINE_RECTLIST: |