summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2014-04-10 02:45:23 +0800
committerChia-I Wu <olvaffe@gmail.com>2014-04-14 20:45:04 +0800
commit8fa8e9b1b8cd4b36adaaf7d61785cb00ed086257 (patch)
treea97207d12ee3e131066d824019897bfe668128db /src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c
parentbdd0546d7c2d82ce1f1870481a9d0291db345aa4 (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.c96
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: