-
-static void
-gen7_init(struct ilo_gpe_gen7 *gen7)
-{
- const struct ilo_gpe_gen6 *gen6 = ilo_gpe_gen6_get();
-
- gen7->estimate_command_size = gen7_estimate_command_size;
- gen7->estimate_state_size = gen7_estimate_state_size;
-
-#define GEN7_USE(gen7, name, from) gen7->emit_ ## name = from->emit_ ## name
-#define GEN7_SET(gen7, name) gen7->emit_ ## name = gen7_emit_ ## name
- GEN7_USE(gen7, STATE_BASE_ADDRESS, gen6);
- GEN7_USE(gen7, STATE_SIP, gen6);
- GEN7_USE(gen7, 3DSTATE_VF_STATISTICS, gen6);
- GEN7_USE(gen7, PIPELINE_SELECT, gen6);
- GEN7_USE(gen7, MEDIA_VFE_STATE, gen6);
- GEN7_USE(gen7, MEDIA_CURBE_LOAD, gen6);
- GEN7_USE(gen7, MEDIA_INTERFACE_DESCRIPTOR_LOAD, gen6);
- GEN7_USE(gen7, MEDIA_STATE_FLUSH, gen6);
- GEN7_SET(gen7, GPGPU_WALKER);
- GEN7_SET(gen7, 3DSTATE_CLEAR_PARAMS);
- GEN7_USE(gen7, 3DSTATE_DEPTH_BUFFER, gen6);
- GEN7_USE(gen7, 3DSTATE_STENCIL_BUFFER, gen6);
- GEN7_USE(gen7, 3DSTATE_HIER_DEPTH_BUFFER, gen6);
- GEN7_USE(gen7, 3DSTATE_VERTEX_BUFFERS, gen6);
- GEN7_USE(gen7, 3DSTATE_VERTEX_ELEMENTS, gen6);
- GEN7_USE(gen7, 3DSTATE_INDEX_BUFFER, gen6);
- GEN7_SET(gen7, 3DSTATE_CC_STATE_POINTERS);
- GEN7_USE(gen7, 3DSTATE_SCISSOR_STATE_POINTERS, gen6);
- GEN7_USE(gen7, 3DSTATE_VS, gen6);
- GEN7_SET(gen7, 3DSTATE_GS);
- GEN7_USE(gen7, 3DSTATE_CLIP, gen6);
- GEN7_SET(gen7, 3DSTATE_SF);
- GEN7_SET(gen7, 3DSTATE_WM);
- GEN7_SET(gen7, 3DSTATE_CONSTANT_VS);
- GEN7_SET(gen7, 3DSTATE_CONSTANT_GS);
- GEN7_SET(gen7, 3DSTATE_CONSTANT_PS);
- GEN7_SET(gen7, 3DSTATE_SAMPLE_MASK);
- GEN7_SET(gen7, 3DSTATE_CONSTANT_HS);
- GEN7_SET(gen7, 3DSTATE_CONSTANT_DS);
- GEN7_SET(gen7, 3DSTATE_HS);
- GEN7_SET(gen7, 3DSTATE_TE);
- GEN7_SET(gen7, 3DSTATE_DS);
- GEN7_SET(gen7, 3DSTATE_STREAMOUT);
- GEN7_SET(gen7, 3DSTATE_SBE);
- GEN7_SET(gen7, 3DSTATE_PS);
- GEN7_SET(gen7, 3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP);
- GEN7_SET(gen7, 3DSTATE_VIEWPORT_STATE_POINTERS_CC);
- GEN7_SET(gen7, 3DSTATE_BLEND_STATE_POINTERS);
- GEN7_SET(gen7, 3DSTATE_DEPTH_STENCIL_STATE_POINTERS);
- GEN7_SET(gen7, 3DSTATE_BINDING_TABLE_POINTERS_VS);
- GEN7_SET(gen7, 3DSTATE_BINDING_TABLE_POINTERS_HS);
- GEN7_SET(gen7, 3DSTATE_BINDING_TABLE_POINTERS_DS);
- GEN7_SET(gen7, 3DSTATE_BINDING_TABLE_POINTERS_GS);
- GEN7_SET(gen7, 3DSTATE_BINDING_TABLE_POINTERS_PS);
- GEN7_SET(gen7, 3DSTATE_SAMPLER_STATE_POINTERS_VS);
- GEN7_SET(gen7, 3DSTATE_SAMPLER_STATE_POINTERS_HS);
- GEN7_SET(gen7, 3DSTATE_SAMPLER_STATE_POINTERS_DS);
- GEN7_SET(gen7, 3DSTATE_SAMPLER_STATE_POINTERS_GS);
- GEN7_SET(gen7, 3DSTATE_SAMPLER_STATE_POINTERS_PS);
- GEN7_SET(gen7, 3DSTATE_URB_VS);
- GEN7_SET(gen7, 3DSTATE_URB_HS);
- GEN7_SET(gen7, 3DSTATE_URB_DS);
- GEN7_SET(gen7, 3DSTATE_URB_GS);
- GEN7_USE(gen7, 3DSTATE_DRAWING_RECTANGLE, gen6);
- GEN7_USE(gen7, 3DSTATE_POLY_STIPPLE_OFFSET, gen6);
- GEN7_USE(gen7, 3DSTATE_POLY_STIPPLE_PATTERN, gen6);
- GEN7_USE(gen7, 3DSTATE_LINE_STIPPLE, gen6);
- GEN7_USE(gen7, 3DSTATE_AA_LINE_PARAMETERS, gen6);
- GEN7_USE(gen7, 3DSTATE_MULTISAMPLE, gen6);
- GEN7_SET(gen7, 3DSTATE_PUSH_CONSTANT_ALLOC_VS);
- GEN7_SET(gen7, 3DSTATE_PUSH_CONSTANT_ALLOC_HS);
- GEN7_SET(gen7, 3DSTATE_PUSH_CONSTANT_ALLOC_DS);
- GEN7_SET(gen7, 3DSTATE_PUSH_CONSTANT_ALLOC_GS);
- GEN7_SET(gen7, 3DSTATE_PUSH_CONSTANT_ALLOC_PS);
- GEN7_SET(gen7, 3DSTATE_SO_DECL_LIST);
- GEN7_SET(gen7, 3DSTATE_SO_BUFFER);
- GEN7_USE(gen7, PIPE_CONTROL, gen6);
- GEN7_SET(gen7, 3DPRIMITIVE);
- GEN7_USE(gen7, INTERFACE_DESCRIPTOR_DATA, gen6);
- GEN7_SET(gen7, SF_CLIP_VIEWPORT);
- GEN7_USE(gen7, CC_VIEWPORT, gen6);
- GEN7_USE(gen7, COLOR_CALC_STATE, gen6);
- GEN7_USE(gen7, BLEND_STATE, gen6);
- GEN7_USE(gen7, DEPTH_STENCIL_STATE, gen6);
- GEN7_USE(gen7, SCISSOR_RECT, gen6);
- GEN7_USE(gen7, BINDING_TABLE_STATE, gen6);
- GEN7_USE(gen7, SURFACE_STATE, gen6);
- GEN7_USE(gen7, SAMPLER_STATE, gen6);
- GEN7_USE(gen7, SAMPLER_BORDER_COLOR_STATE, gen6);
- GEN7_USE(gen7, push_constant_buffer, gen6);
-#undef GEN7_USE
-#undef GEN7_SET
-}
-
-static struct ilo_gpe_gen7 gen7_gpe;
-
-const struct ilo_gpe_gen7 *
-ilo_gpe_gen7_get(void)
-{
- if (!gen7_gpe.estimate_command_size)
- gen7_init(&gen7_gpe);
-
- return &gen7_gpe;
-}