ilo: remove GPE command size estimation
authorChia-I Wu <olvaffe@gmail.com>
Wed, 9 Apr 2014 18:45:23 +0000 (02:45 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Mon, 14 Apr 2014 12:45:04 +0000 (20:45 +0800)
Use size defines from genhw.

src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c
src/gallium/drivers/ilo/ilo_3d_pipeline_gen7.c
src/gallium/drivers/ilo/ilo_gpe_gen6.c
src/gallium/drivers/ilo/ilo_gpe_gen6.h
src/gallium/drivers/ilo/ilo_gpe_gen7.c
src/gallium/drivers/ilo/ilo_gpe_gen7.h

index bba35bc758e8d6d519e66cdbaf28e8aa785cdac7..cd64b1b0e5c3bc7702f515b13ae928f2468437f4 100644 (file)
@@ -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:
index e1be5e7ca4782bbf20249d198846acdf654069b0..a712a46f6bb03a3cab317e00d8ece721373840a8 100644 (file)
@@ -885,46 +885,48 @@ gen7_pipeline_estimate_commands(const struct ilo_3d_pipeline *p,
                                 const struct ilo_context *ilo)
 {
    static int size;
-   enum ilo_gpe_gen7_command cmd;
-
-   if (size)
-      return size;
-
-   for (cmd = 0; cmd < ILO_GPE_GEN7_COMMAND_COUNT; cmd++) {
-      int count;
-
-      switch (cmd) {
-      case ILO_GPE_GEN7_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_GEN7_3DSTATE_VERTEX_BUFFERS:
-         count = 33;
-         break;
-      case ILO_GPE_GEN7_3DSTATE_VERTEX_ELEMENTS:
-         count = 34;
-         break;
-      case ILO_GPE_GEN7_MEDIA_VFE_STATE:
-      case ILO_GPE_GEN7_MEDIA_CURBE_LOAD:
-      case ILO_GPE_GEN7_MEDIA_INTERFACE_DESCRIPTOR_LOAD:
-      case ILO_GPE_GEN7_MEDIA_STATE_FLUSH:
-      case ILO_GPE_GEN7_GPGPU_WALKER:
-         /* media commands */
-         count = 0;
-         break;
-      default:
-         count = 1;
-         break;
-      }
 
-      if (count) {
-         size += ilo_gpe_gen7_estimate_command_size(p->dev,
-               cmd, count);
-      }
+   if (!size) {
+      size += GEN7_3DSTATE_URB_ANY__SIZE * 4;
+      size += GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_ANY__SIZE * 5;
+      size += GEN6_3DSTATE_CONSTANT_ANY__SIZE * 5;
+      size += GEN7_3DSTATE_POINTERS_ANY__SIZE * (5 + 5 + 4);
+      size += GEN7_3DSTATE_SO_BUFFER__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_CLEAR_PARAMS__SIZE +
+         GEN6_3DSTATE_DEPTH_BUFFER__SIZE +
+         GEN6_3DSTATE_STENCIL_BUFFER__SIZE +
+         GEN6_3DSTATE_HIER_DEPTH_BUFFER__SIZE +
+         GEN6_3DSTATE_VERTEX_BUFFERS__SIZE +
+         GEN6_3DSTATE_VERTEX_ELEMENTS__SIZE +
+         GEN6_3DSTATE_INDEX_BUFFER__SIZE +
+         GEN75_3DSTATE_VF__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 +
+         GEN7_3DSTATE_HS__SIZE +
+         GEN7_3DSTATE_TE__SIZE +
+         GEN7_3DSTATE_DS__SIZE +
+         GEN7_3DSTATE_STREAMOUT__SIZE +
+         GEN7_3DSTATE_SBE__SIZE +
+         GEN7_3DSTATE_PS__SIZE +
+         GEN6_3DSTATE_DRAWING_RECTANGLE__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 +
+         GEN7_3DSTATE_SO_DECL_LIST__SIZE +
+         GEN6_3DPRIMITIVE__SIZE;
    }
 
    return size;
@@ -1036,20 +1038,16 @@ ilo_3d_pipeline_estimate_size_gen7(struct ilo_3d_pipeline *p,
    case ILO_3D_PIPELINE_FLUSH:
    case ILO_3D_PIPELINE_WRITE_TIMESTAMP:
    case ILO_3D_PIPELINE_WRITE_DEPTH_COUNT:
-      size = ilo_gpe_gen7_estimate_command_size(p->dev,
-            ILO_GPE_GEN7_PIPE_CONTROL, 1);
+      size = GEN6_PIPE_CONTROL__SIZE;
       break;
    case ILO_3D_PIPELINE_WRITE_STATISTICS:
       {
          const int num_regs = 10;
          const int num_pads = 1;
 
-         size = ilo_gpe_gen7_estimate_command_size(p->dev,
-               ILO_GPE_GEN7_PIPE_CONTROL, 1);
-         size += ilo_gpe_gen7_estimate_command_size(p->dev,
-               ILO_GPE_GEN7_MI_STORE_REGISTER_MEM, 1) * 2 * num_regs;
-         size += ilo_gpe_gen7_estimate_command_size(p->dev,
-               ILO_GPE_GEN7_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:
index 9f416ed67f1b384455f81f25917350826cb024c1..3e5ebfcb34c243dbf86dbd0094bbf759f5c54157 100644 (file)
@@ -2571,71 +2571,6 @@ ilo_gpe_set_fb(const struct ilo_dev_info *dev,
    }
 }
 
-int
-ilo_gpe_gen6_estimate_command_size(const struct ilo_dev_info *dev,
-                                   enum ilo_gpe_gen6_command cmd,
-                                   int arg)
-{
-   static const struct {
-      int header;
-      int body;
-   } gen6_command_size_table[ILO_GPE_GEN6_COMMAND_COUNT] = {
-      [ILO_GPE_GEN6_MI_STORE_DATA_IMM]                        = { 0,  5  },
-      [ILO_GPE_GEN6_MI_LOAD_REGISTER_IMM]                     = { 0,  3  },
-      [ILO_GPE_GEN6_MI_STORE_REGISTER_MEM]                    = { 0,  3  },
-      [ILO_GPE_GEN6_MI_REPORT_PERF_COUNT]                     = { 0,  3  },
-      [ILO_GPE_GEN6_STATE_BASE_ADDRESS]                       = { 0,  10 },
-      [ILO_GPE_GEN6_STATE_SIP]                                = { 0,  2  },
-      [ILO_GPE_GEN6_3DSTATE_VF_STATISTICS]                    = { 0,  1  },
-      [ILO_GPE_GEN6_PIPELINE_SELECT]                          = { 0,  1  },
-      [ILO_GPE_GEN6_MEDIA_VFE_STATE]                          = { 0,  8  },
-      [ILO_GPE_GEN6_MEDIA_CURBE_LOAD]                         = { 0,  4  },
-      [ILO_GPE_GEN6_MEDIA_INTERFACE_DESCRIPTOR_LOAD]          = { 0,  4  },
-      [ILO_GPE_GEN6_MEDIA_GATEWAY_STATE]                      = { 0,  2  },
-      [ILO_GPE_GEN6_MEDIA_STATE_FLUSH]                        = { 0,  2  },
-      [ILO_GPE_GEN6_MEDIA_OBJECT_WALKER]                      = { 17, 1  },
-      [ILO_GPE_GEN6_3DSTATE_BINDING_TABLE_POINTERS]           = { 0,  4  },
-      [ILO_GPE_GEN6_3DSTATE_SAMPLER_STATE_POINTERS]           = { 0,  4  },
-      [ILO_GPE_GEN6_3DSTATE_URB]                              = { 0,  3  },
-      [ILO_GPE_GEN6_3DSTATE_VERTEX_BUFFERS]                   = { 1,  4  },
-      [ILO_GPE_GEN6_3DSTATE_VERTEX_ELEMENTS]                  = { 1,  2  },
-      [ILO_GPE_GEN6_3DSTATE_INDEX_BUFFER]                     = { 0,  3  },
-      [ILO_GPE_GEN6_3DSTATE_VIEWPORT_STATE_POINTERS]          = { 0,  4  },
-      [ILO_GPE_GEN6_3DSTATE_CC_STATE_POINTERS]                = { 0,  4  },
-      [ILO_GPE_GEN6_3DSTATE_SCISSOR_STATE_POINTERS]           = { 0,  2  },
-      [ILO_GPE_GEN6_3DSTATE_VS]                               = { 0,  6  },
-      [ILO_GPE_GEN6_3DSTATE_GS]                               = { 0,  7  },
-      [ILO_GPE_GEN6_3DSTATE_CLIP]                             = { 0,  4  },
-      [ILO_GPE_GEN6_3DSTATE_SF]                               = { 0,  20 },
-      [ILO_GPE_GEN6_3DSTATE_WM]                               = { 0,  9  },
-      [ILO_GPE_GEN6_3DSTATE_CONSTANT_VS]                      = { 0,  5  },
-      [ILO_GPE_GEN6_3DSTATE_CONSTANT_GS]                      = { 0,  5  },
-      [ILO_GPE_GEN6_3DSTATE_CONSTANT_PS]                      = { 0,  5  },
-      [ILO_GPE_GEN6_3DSTATE_SAMPLE_MASK]                      = { 0,  2  },
-      [ILO_GPE_GEN6_3DSTATE_DRAWING_RECTANGLE]                = { 0,  4  },
-      [ILO_GPE_GEN6_3DSTATE_DEPTH_BUFFER]                     = { 0,  7  },
-      [ILO_GPE_GEN6_3DSTATE_POLY_STIPPLE_OFFSET]              = { 0,  2  },
-      [ILO_GPE_GEN6_3DSTATE_POLY_STIPPLE_PATTERN]             = { 0,  33 },
-      [ILO_GPE_GEN6_3DSTATE_LINE_STIPPLE]                     = { 0,  3  },
-      [ILO_GPE_GEN6_3DSTATE_AA_LINE_PARAMETERS]               = { 0,  3  },
-      [ILO_GPE_GEN6_3DSTATE_GS_SVB_INDEX]                     = { 0,  4  },
-      [ILO_GPE_GEN6_3DSTATE_MULTISAMPLE]                      = { 0,  3  },
-      [ILO_GPE_GEN6_3DSTATE_STENCIL_BUFFER]                   = { 0,  3  },
-      [ILO_GPE_GEN6_3DSTATE_HIER_DEPTH_BUFFER]                = { 0,  3  },
-      [ILO_GPE_GEN6_3DSTATE_CLEAR_PARAMS]                     = { 0,  2  },
-      [ILO_GPE_GEN6_PIPE_CONTROL]                             = { 0,  5  },
-      [ILO_GPE_GEN6_3DPRIMITIVE]                              = { 0,  6  },
-   };
-   const int header = gen6_command_size_table[cmd].header;
-   const int body = gen6_command_size_table[arg].body;
-   const int count = arg;
-
-   ILO_GPE_VALID_GEN(dev, 6, 6);
-   assert(cmd < ILO_GPE_GEN6_COMMAND_COUNT);
-
-   return (likely(count)) ? header + body * count : 0;
-}
-
 int
 ilo_gpe_gen6_estimate_state_size(const struct ilo_dev_info *dev,
                                  enum ilo_gpe_gen6_state state,
index c1aafd92f63ebb3413c1abac58a085134270fc60..9652b609d24fe13450b387ac4402a8351b78f8d0 100644 (file)
 #define ILO_GPE_CMD(pipeline, op, subop) \
    (0x3 << 29 | (pipeline) << 27 | (op) << 24 | (subop) << 16)
 
-/**
- * Commands that GEN6 GPE could emit.
- */
-enum ilo_gpe_gen6_command {
-   ILO_GPE_GEN6_MI_STORE_DATA_IMM,                   /* ILO_GPE_MI(0x20) */
-   ILO_GPE_GEN6_MI_LOAD_REGISTER_IMM,                /* ILO_GPE_MI(0x22) */
-   ILO_GPE_GEN6_MI_STORE_REGISTER_MEM,               /* ILO_GPE_MI(0x24) */
-   ILO_GPE_GEN6_MI_REPORT_PERF_COUNT,                /* ILO_GPE_MI(0x28) */
-   ILO_GPE_GEN6_STATE_BASE_ADDRESS,                  /* (0x0, 0x1, 0x01) */
-   ILO_GPE_GEN6_STATE_SIP,                           /* (0x0, 0x1, 0x02) */
-   ILO_GPE_GEN6_3DSTATE_VF_STATISTICS,               /* (0x1, 0x0, 0x0b) */
-   ILO_GPE_GEN6_PIPELINE_SELECT,                     /* (0x1, 0x1, 0x04) */
-   ILO_GPE_GEN6_MEDIA_VFE_STATE,                     /* (0x2, 0x0, 0x00) */
-   ILO_GPE_GEN6_MEDIA_CURBE_LOAD,                    /* (0x2, 0x0, 0x01) */
-   ILO_GPE_GEN6_MEDIA_INTERFACE_DESCRIPTOR_LOAD,     /* (0x2, 0x0, 0x02) */
-   ILO_GPE_GEN6_MEDIA_GATEWAY_STATE,                 /* (0x2, 0x0, 0x03) */
-   ILO_GPE_GEN6_MEDIA_STATE_FLUSH,                   /* (0x2, 0x0, 0x04) */
-   ILO_GPE_GEN6_MEDIA_OBJECT_WALKER,                 /* (0x2, 0x1, 0x03) */
-   ILO_GPE_GEN6_3DSTATE_BINDING_TABLE_POINTERS,      /* (0x3, 0x0, 0x01) */
-   ILO_GPE_GEN6_3DSTATE_SAMPLER_STATE_POINTERS,      /* (0x3, 0x0, 0x02) */
-   ILO_GPE_GEN6_3DSTATE_URB,                         /* (0x3, 0x0, 0x05) */
-   ILO_GPE_GEN6_3DSTATE_VERTEX_BUFFERS,              /* (0x3, 0x0, 0x08) */
-   ILO_GPE_GEN6_3DSTATE_VERTEX_ELEMENTS,             /* (0x3, 0x0, 0x09) */
-   ILO_GPE_GEN6_3DSTATE_INDEX_BUFFER,                /* (0x3, 0x0, 0x0a) */
-   ILO_GPE_GEN6_3DSTATE_VIEWPORT_STATE_POINTERS,     /* (0x3, 0x0, 0x0d) */
-   ILO_GPE_GEN6_3DSTATE_CC_STATE_POINTERS,           /* (0x3, 0x0, 0x0e) */
-   ILO_GPE_GEN6_3DSTATE_SCISSOR_STATE_POINTERS,      /* (0x3, 0x0, 0x0f) */
-   ILO_GPE_GEN6_3DSTATE_VS,                          /* (0x3, 0x0, 0x10) */
-   ILO_GPE_GEN6_3DSTATE_GS,                          /* (0x3, 0x0, 0x11) */
-   ILO_GPE_GEN6_3DSTATE_CLIP,                        /* (0x3, 0x0, 0x12) */
-   ILO_GPE_GEN6_3DSTATE_SF,                          /* (0x3, 0x0, 0x13) */
-   ILO_GPE_GEN6_3DSTATE_WM,                          /* (0x3, 0x0, 0x14) */
-   ILO_GPE_GEN6_3DSTATE_CONSTANT_VS,                 /* (0x3, 0x0, 0x15) */
-   ILO_GPE_GEN6_3DSTATE_CONSTANT_GS,                 /* (0x3, 0x0, 0x16) */
-   ILO_GPE_GEN6_3DSTATE_CONSTANT_PS,                 /* (0x3, 0x0, 0x17) */
-   ILO_GPE_GEN6_3DSTATE_SAMPLE_MASK,                 /* (0x3, 0x0, 0x18) */
-   ILO_GPE_GEN6_3DSTATE_DRAWING_RECTANGLE,           /* (0x3, 0x1, 0x00) */
-   ILO_GPE_GEN6_3DSTATE_DEPTH_BUFFER,                /* (0x3, 0x1, 0x05) */
-   ILO_GPE_GEN6_3DSTATE_POLY_STIPPLE_OFFSET,         /* (0x3, 0x1, 0x06) */
-   ILO_GPE_GEN6_3DSTATE_POLY_STIPPLE_PATTERN,        /* (0x3, 0x1, 0x07) */
-   ILO_GPE_GEN6_3DSTATE_LINE_STIPPLE,                /* (0x3, 0x1, 0x08) */
-   ILO_GPE_GEN6_3DSTATE_AA_LINE_PARAMETERS,          /* (0x3, 0x1, 0x0a) */
-   ILO_GPE_GEN6_3DSTATE_GS_SVB_INDEX,                /* (0x3, 0x1, 0x0b) */
-   ILO_GPE_GEN6_3DSTATE_MULTISAMPLE,                 /* (0x3, 0x1, 0x0d) */
-   ILO_GPE_GEN6_3DSTATE_STENCIL_BUFFER,              /* (0x3, 0x1, 0x0e) */
-   ILO_GPE_GEN6_3DSTATE_HIER_DEPTH_BUFFER,           /* (0x3, 0x1, 0x0f) */
-   ILO_GPE_GEN6_3DSTATE_CLEAR_PARAMS,                /* (0x3, 0x1, 0x10) */
-   ILO_GPE_GEN6_PIPE_CONTROL,                        /* (0x3, 0x2, 0x00) */
-   ILO_GPE_GEN6_3DPRIMITIVE,                         /* (0x3, 0x3, 0x00) */
-
-   ILO_GPE_GEN6_COMMAND_COUNT,
-};
-
 /**
  * Indirect states that GEN6 GPE could emit.
  */
@@ -120,11 +67,6 @@ enum ilo_gpe_gen6_state {
    ILO_GPE_GEN6_STATE_COUNT,
 };
 
-int
-ilo_gpe_gen6_estimate_command_size(const struct ilo_dev_info *dev,
-                                   enum ilo_gpe_gen6_command cmd,
-                                   int arg);
-
 int
 ilo_gpe_gen6_estimate_state_size(const struct ilo_dev_info *dev,
                                  enum ilo_gpe_gen6_state state,
index fea600a1c3f2a48fc8f4a5c7eed9a12c84482374..e6c1556e3e28c2aba1b0edfc9a005ca56c069377 100644 (file)
@@ -671,99 +671,6 @@ ilo_gpe_init_view_surface_for_texture_gen7(const struct ilo_dev_info *dev,
    surf->bo = tex->bo;
 }
 
-int
-ilo_gpe_gen7_estimate_command_size(const struct ilo_dev_info *dev,
-                                   enum ilo_gpe_gen7_command cmd,
-                                   int arg)
-{
-   static const struct {
-      int header;
-      int body;
-   } gen7_command_size_table[ILO_GPE_GEN7_COMMAND_COUNT] = {
-      [ILO_GPE_GEN7_MI_STORE_DATA_IMM]                        = { 0,  5  },
-      [ILO_GPE_GEN7_MI_LOAD_REGISTER_IMM]                     = { 0,  3  },
-      [ILO_GPE_GEN7_MI_STORE_REGISTER_MEM]                    = { 0,  3  },
-      [ILO_GPE_GEN7_MI_REPORT_PERF_COUNT]                     = { 0,  3  },
-      [ILO_GPE_GEN7_STATE_BASE_ADDRESS]                       = { 0,  10 },
-      [ILO_GPE_GEN7_STATE_SIP]                                = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_VF_STATISTICS]                    = { 0,  1  },
-      [ILO_GPE_GEN7_PIPELINE_SELECT]                          = { 0,  1  },
-      [ILO_GPE_GEN7_MEDIA_VFE_STATE]                          = { 0,  8  },
-      [ILO_GPE_GEN7_MEDIA_CURBE_LOAD]                         = { 0,  4  },
-      [ILO_GPE_GEN7_MEDIA_INTERFACE_DESCRIPTOR_LOAD]          = { 0,  4  },
-      [ILO_GPE_GEN7_MEDIA_STATE_FLUSH]                        = { 0,  2  },
-      [ILO_GPE_GEN7_GPGPU_WALKER]                             = { 0,  11 },
-      [ILO_GPE_GEN7_3DSTATE_CLEAR_PARAMS]                     = { 0,  3  },
-      [ILO_GPE_GEN7_3DSTATE_DEPTH_BUFFER]                     = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_STENCIL_BUFFER]                   = { 0,  3  },
-      [ILO_GPE_GEN7_3DSTATE_HIER_DEPTH_BUFFER]                = { 0,  3  },
-      [ILO_GPE_GEN7_3DSTATE_VERTEX_BUFFERS]                   = { 1,  4  },
-      [ILO_GPE_GEN7_3DSTATE_VERTEX_ELEMENTS]                  = { 1,  2  },
-      [ILO_GPE_GEN7_3DSTATE_INDEX_BUFFER]                     = { 0,  3  },
-      [ILO_GPE_GEN7_3DSTATE_VF]                               = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_CC_STATE_POINTERS]                = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_SCISSOR_STATE_POINTERS]           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_VS]                               = { 0,  6  },
-      [ILO_GPE_GEN7_3DSTATE_GS]                               = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_CLIP]                             = { 0,  4  },
-      [ILO_GPE_GEN7_3DSTATE_SF]                               = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_WM]                               = { 0,  3  },
-      [ILO_GPE_GEN7_3DSTATE_CONSTANT_VS]                      = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_CONSTANT_GS]                      = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_CONSTANT_PS]                      = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_SAMPLE_MASK]                      = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_CONSTANT_HS]                      = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_CONSTANT_DS]                      = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_HS]                               = { 0,  7  },
-      [ILO_GPE_GEN7_3DSTATE_TE]                               = { 0,  4  },
-      [ILO_GPE_GEN7_3DSTATE_DS]                               = { 0,  6  },
-      [ILO_GPE_GEN7_3DSTATE_STREAMOUT]                        = { 0,  3  },
-      [ILO_GPE_GEN7_3DSTATE_SBE]                              = { 0,  14 },
-      [ILO_GPE_GEN7_3DSTATE_PS]                               = { 0,  8  },
-      [ILO_GPE_GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP]  = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_CC]       = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_BLEND_STATE_POINTERS]             = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_DEPTH_STENCIL_STATE_POINTERS]     = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_VS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_HS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_DS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_GS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_PS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_VS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_HS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_DS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_GS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_PS]        = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_URB_VS]                           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_URB_HS]                           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_URB_DS]                           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_URB_GS]                           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_DRAWING_RECTANGLE]                = { 0,  4  },
-      [ILO_GPE_GEN7_3DSTATE_POLY_STIPPLE_OFFSET]              = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_POLY_STIPPLE_PATTERN]             = { 0,  33, },
-      [ILO_GPE_GEN7_3DSTATE_LINE_STIPPLE]                     = { 0,  3  },
-      [ILO_GPE_GEN7_3DSTATE_AA_LINE_PARAMETERS]               = { 0,  3  },
-      [ILO_GPE_GEN7_3DSTATE_MULTISAMPLE]                      = { 0,  4  },
-      [ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_VS]           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_HS]           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_DS]           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_GS]           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_PS]           = { 0,  2  },
-      [ILO_GPE_GEN7_3DSTATE_SO_DECL_LIST]                     = { 3,  2  },
-      [ILO_GPE_GEN7_3DSTATE_SO_BUFFER]                        = { 0,  4  },
-      [ILO_GPE_GEN7_PIPE_CONTROL]                             = { 0,  5  },
-      [ILO_GPE_GEN7_3DPRIMITIVE]                              = { 0,  7  },
-   };
-   const int header = gen7_command_size_table[cmd].header;
-   const int body = gen7_command_size_table[cmd].body;
-   const int count = arg;
-
-   ILO_GPE_VALID_GEN(dev, 7, 7.5);
-   assert(cmd < ILO_GPE_GEN7_COMMAND_COUNT);
-
-   return (likely(count)) ? header + body * count : 0;
-}
-
 int
 ilo_gpe_gen7_estimate_state_size(const struct ilo_dev_info *dev,
                                  enum ilo_gpe_gen7_state state,
index 2bb2fef31046c5ed43ccaa20c5cfaf3fccc9f8ed..097852090d842a9bf4c4cfbacb2d6e60729eae79 100644 (file)
 #include "ilo_shader.h"
 #include "ilo_gpe_gen6.h"
 
-/**
- * Commands that GEN7 GPE could emit.
- */
-enum ilo_gpe_gen7_command {
-   ILO_GPE_GEN7_MI_STORE_DATA_IMM,                   /* ILO_GPE_MI(0x20) */
-   ILO_GPE_GEN7_MI_LOAD_REGISTER_IMM,                /* ILO_GPE_MI(0x22) */
-   ILO_GPE_GEN7_MI_STORE_REGISTER_MEM,               /* ILO_GPE_MI(0x24) */
-   ILO_GPE_GEN7_MI_REPORT_PERF_COUNT,                /* ILO_GPE_MI(0x28) */
-   ILO_GPE_GEN7_STATE_BASE_ADDRESS,                  /* (0x0, 0x1, 0x01) */
-   ILO_GPE_GEN7_STATE_SIP,                           /* (0x0, 0x1, 0x02) */
-   ILO_GPE_GEN7_3DSTATE_VF_STATISTICS,               /* (0x1, 0x0, 0x0b) */
-   ILO_GPE_GEN7_PIPELINE_SELECT,                     /* (0x1, 0x1, 0x04) */
-   ILO_GPE_GEN7_MEDIA_VFE_STATE,                     /* (0x2, 0x0, 0x00) */
-   ILO_GPE_GEN7_MEDIA_CURBE_LOAD,                    /* (0x2, 0x0, 0x01) */
-   ILO_GPE_GEN7_MEDIA_INTERFACE_DESCRIPTOR_LOAD,     /* (0x2, 0x0, 0x02) */
-   ILO_GPE_GEN7_MEDIA_STATE_FLUSH,                   /* (0x2, 0x0, 0x04) */
-   ILO_GPE_GEN7_GPGPU_WALKER,                        /* (0x2, 0x1, 0x05) */
-   ILO_GPE_GEN7_3DSTATE_CLEAR_PARAMS,                /* (0x3, 0x0, 0x04) */
-   ILO_GPE_GEN7_3DSTATE_DEPTH_BUFFER,                /* (0x3, 0x0, 0x05) */
-   ILO_GPE_GEN7_3DSTATE_STENCIL_BUFFER,              /* (0x3, 0x0, 0x06) */
-   ILO_GPE_GEN7_3DSTATE_HIER_DEPTH_BUFFER,           /* (0x3, 0x0, 0x07) */
-   ILO_GPE_GEN7_3DSTATE_VERTEX_BUFFERS,              /* (0x3, 0x0, 0x08) */
-   ILO_GPE_GEN7_3DSTATE_VERTEX_ELEMENTS,             /* (0x3, 0x0, 0x09) */
-   ILO_GPE_GEN7_3DSTATE_INDEX_BUFFER,                /* (0x3, 0x0, 0x0a) */
-   ILO_GPE_GEN7_3DSTATE_VF,                          /* (0x3, 0x0, 0x0c) */
-   ILO_GPE_GEN7_3DSTATE_CC_STATE_POINTERS,           /* (0x3, 0x0, 0x0e) */
-   ILO_GPE_GEN7_3DSTATE_SCISSOR_STATE_POINTERS,      /* (0x3, 0x0, 0x0f) */
-   ILO_GPE_GEN7_3DSTATE_VS,                          /* (0x3, 0x0, 0x10) */
-   ILO_GPE_GEN7_3DSTATE_GS,                          /* (0x3, 0x0, 0x11) */
-   ILO_GPE_GEN7_3DSTATE_CLIP,                        /* (0x3, 0x0, 0x12) */
-   ILO_GPE_GEN7_3DSTATE_SF,                          /* (0x3, 0x0, 0x13) */
-   ILO_GPE_GEN7_3DSTATE_WM,                          /* (0x3, 0x0, 0x14) */
-   ILO_GPE_GEN7_3DSTATE_CONSTANT_VS,                 /* (0x3, 0x0, 0x15) */
-   ILO_GPE_GEN7_3DSTATE_CONSTANT_GS,                 /* (0x3, 0x0, 0x16) */
-   ILO_GPE_GEN7_3DSTATE_CONSTANT_PS,                 /* (0x3, 0x0, 0x17) */
-   ILO_GPE_GEN7_3DSTATE_SAMPLE_MASK,                 /* (0x3, 0x0, 0x18) */
-   ILO_GPE_GEN7_3DSTATE_CONSTANT_HS,                 /* (0x3, 0x0, 0x19) */
-   ILO_GPE_GEN7_3DSTATE_CONSTANT_DS,                 /* (0x3, 0x0, 0x1a) */
-   ILO_GPE_GEN7_3DSTATE_HS,                          /* (0x3, 0x0, 0x1b) */
-   ILO_GPE_GEN7_3DSTATE_TE,                          /* (0x3, 0x0, 0x1c) */
-   ILO_GPE_GEN7_3DSTATE_DS,                          /* (0x3, 0x0, 0x1d) */
-   ILO_GPE_GEN7_3DSTATE_STREAMOUT,                   /* (0x3, 0x0, 0x1e) */
-   ILO_GPE_GEN7_3DSTATE_SBE,                         /* (0x3, 0x0, 0x1f) */
-   ILO_GPE_GEN7_3DSTATE_PS,                          /* (0x3, 0x0, 0x20) */
-   ILO_GPE_GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP, /* (0x3, 0x0, 0x21) */
-   ILO_GPE_GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_CC,  /* (0x3, 0x0, 0x23) */
-   ILO_GPE_GEN7_3DSTATE_BLEND_STATE_POINTERS,        /* (0x3, 0x0, 0x24) */
-   ILO_GPE_GEN7_3DSTATE_DEPTH_STENCIL_STATE_POINTERS, /* (0x3, 0x0, 0x25) */
-   ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_VS,   /* (0x3, 0x0, 0x26) */
-   ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_HS,   /* (0x3, 0x0, 0x27) */
-   ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_DS,   /* (0x3, 0x0, 0x28) */
-   ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_GS,   /* (0x3, 0x0, 0x29) */
-   ILO_GPE_GEN7_3DSTATE_BINDING_TABLE_POINTERS_PS,   /* (0x3, 0x0, 0x2a) */
-   ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_VS,   /* (0x3, 0x0, 0x2b) */
-   ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_HS,   /* (0x3, 0x0, 0x2c) */
-   ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_DS,   /* (0x3, 0x0, 0x2d) */
-   ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_GS,   /* (0x3, 0x0, 0x2e) */
-   ILO_GPE_GEN7_3DSTATE_SAMPLER_STATE_POINTERS_PS,   /* (0x3, 0x0, 0x2f) */
-   ILO_GPE_GEN7_3DSTATE_URB_VS,                      /* (0x3, 0x0, 0x30) */
-   ILO_GPE_GEN7_3DSTATE_URB_HS,                      /* (0x3, 0x0, 0x31) */
-   ILO_GPE_GEN7_3DSTATE_URB_DS,                      /* (0x3, 0x0, 0x32) */
-   ILO_GPE_GEN7_3DSTATE_URB_GS,                      /* (0x3, 0x0, 0x33) */
-   ILO_GPE_GEN7_3DSTATE_DRAWING_RECTANGLE,           /* (0x3, 0x1, 0x00) */
-   ILO_GPE_GEN7_3DSTATE_POLY_STIPPLE_OFFSET,         /* (0x3, 0x1, 0x06) */
-   ILO_GPE_GEN7_3DSTATE_POLY_STIPPLE_PATTERN,        /* (0x3, 0x1, 0x07) */
-   ILO_GPE_GEN7_3DSTATE_LINE_STIPPLE,                /* (0x3, 0x1, 0x08) */
-   ILO_GPE_GEN7_3DSTATE_AA_LINE_PARAMETERS,          /* (0x3, 0x1, 0x0a) */
-   ILO_GPE_GEN7_3DSTATE_MULTISAMPLE,                 /* (0x3, 0x1, 0x0d) */
-   ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_VS,      /* (0x3, 0x1, 0x12) */
-   ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_HS,      /* (0x3, 0x1, 0x13) */
-   ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_DS,      /* (0x3, 0x1, 0x14) */
-   ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_GS,      /* (0x3, 0x1, 0x15) */
-   ILO_GPE_GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_PS,      /* (0x3, 0x1, 0x16) */
-   ILO_GPE_GEN7_3DSTATE_SO_DECL_LIST,                /* (0x3, 0x1, 0x17) */
-   ILO_GPE_GEN7_3DSTATE_SO_BUFFER,                   /* (0x3, 0x1, 0x18) */
-   ILO_GPE_GEN7_PIPE_CONTROL,                        /* (0x3, 0x2, 0x00) */
-   ILO_GPE_GEN7_3DPRIMITIVE,                         /* (0x3, 0x3, 0x00) */
-
-   ILO_GPE_GEN7_COMMAND_COUNT,
-};
-
 /**
  * Indirect states that GEN7 GPE could emit.
  */
@@ -137,11 +56,6 @@ enum ilo_gpe_gen7_state {
    ILO_GPE_GEN7_STATE_COUNT,
 };
 
-int
-ilo_gpe_gen7_estimate_command_size(const struct ilo_dev_info *dev,
-                                   enum ilo_gpe_gen7_command cmd,
-                                   int arg);
-
 int
 ilo_gpe_gen7_estimate_state_size(const struct ilo_dev_info *dev,
                                  enum ilo_gpe_gen7_state state,