[Mesa-dev] [PATCH 00/35] This series converts part of the state emitting code to use genxml

Rafael Antognolli rafael.antognolli at intel.com
Wed Apr 19 23:55:53 UTC 2017


structs.

All the code was moved to a single file (genX_state_upload.c) and state
emitting code for different platforms was merged into one function per
state.

There is still a lot of code to convert, and this is still a work in
progress, but these seemed to be the largest functions and I wanted to
put the code on the list so others could start taking a look.

I also have been testing this against our CI, and it looks like I'm not
introducing regressions at least on the code emitted to the GPU.

I'm working on this series in this branch:
https://github.com/rantogno/mesa/tree/wip/brwxml

Feedback is welcome.

Kenneth Graunke (4):
  i965: Add genxml related plumbing in a new genX_state_upload.c file.
  i965: Get real per-gen atom lists.
  i965: Port Gen6+ DEPTH_STENCIL state to genxml.
  genxml: Make "Reorder Mode" fields consistent.

Rafael Antognolli (31):
  intel/aubinator: Correctly read variable length structs.
  genxml: Remove unused parameter.
  genxml: Fix python crash when no dwords are found.
  genxml: Make BLEND_STATE command support variable length array.
  genxml: Rename clip enable property.
  i965: Port Gen6+ 3DSTATE_CLIP state to genxml.
  i965: Port Gen8+ 3DSTATE_RASTER state to genxml.
  genxml: Update xml for 3DSTATE_SF.
  i965: Port gen6+ 3DSTATE_SF to genxml.
  i965: Port Gen6+ 3DSTATE_SBE state to genxml.
  i965: Remove calculate_attr_overrides.
  genxml: Add alias for MOCS.
  i965: Port gen7+ 3DSTATE_SOL to genxml.
  i965: Port gen7+ 3DSTATE_PS to genxml.
  i965: Port gen6+ 3DSTATE_WM to genxml.
  i965: Port gen8+ 3DSTATE_PS_EXTRA to genxml.
  genxml: 3DSTATE_VS rename Function Enable to Enable.
  i965: Port gen6+ 3DSTATE_VS to genxml.
  genxml: Clip guardbands are float, not int.
  genxml: Rename "Function Enable" to "Enable".
  i965: Port gen7+ state emitting code to genxml.
  i965: Port gen6+ blend state code to genxml.
  i965: Port gen7+ 3DSTATE_TE to genxml.
  i965: Port gen6+ 3DSTATE_SCISSOR_STATE_POINTERS to use genxml.
  i965: Port push constant code to genxml.
  i965: Port gen6+ emit vertices code to genxml.
  genxml: Normalize xml for 3DSTATE_MULTISAMPLE.
  i965: Port gen6+ multisample state emitting code to genxml.
  genxml: Normalize xml for 3DSTATE_CC_STATE_POINTERS.
  i965: Port gen6+ 3DSTATE_CC_STATE_POINTERS state to genxml.
  i965: Port gen6+ state emitting code to genxml.

 src/intel/blorp/blorp_genX_exec.h                  |   47 +-
 src/intel/common/gen_decoder.c                     |   35 +-
 src/intel/common/gen_decoder.h                     |    6 +-
 src/intel/genxml/gen6.xml                          |   46 +-
 src/intel/genxml/gen7.xml                          |   28 +-
 src/intel/genxml/gen75.xml                         |   16 +-
 src/intel/genxml/gen8.xml                          |   15 +-
 src/intel/genxml/gen9.xml                          |   13 +-
 src/intel/genxml/gen_pack_header.py                |   17 +-
 src/intel/tools/aubinator.c                        |   19 +-
 src/intel/vulkan/gen8_cmd_buffer.c                 |    2 +-
 src/intel/vulkan/genX_pipeline.c                   |   80 +-
 src/mesa/drivers/dri/i965/Makefile.am              |    8 +-
 src/mesa/drivers/dri/i965/Makefile.sources         |   45 +-
 src/mesa/drivers/dri/i965/brw_context.h            |    9 +-
 src/mesa/drivers/dri/i965/brw_state.h              |   95 +-
 src/mesa/drivers/dri/i965/brw_state_upload.c       |  383 +-
 src/mesa/drivers/dri/i965/brw_util.h               |   25 +-
 src/mesa/drivers/dri/i965/gen45_state_upload.c     |   96 +-
 src/mesa/drivers/dri/i965/gen6_cc.c                |  306 +-
 src/mesa/drivers/dri/i965/gen6_clip_state.c        |  139 +-
 src/mesa/drivers/dri/i965/gen6_depthstencil.c      |  114 +-
 src/mesa/drivers/dri/i965/gen6_gs_state.c          |  162 +-
 src/mesa/drivers/dri/i965/gen6_multisample_state.c |    6 +-
 src/mesa/drivers/dri/i965/gen6_sf_state.c          |  455 +-
 src/mesa/drivers/dri/i965/gen6_viewport_state.c    |  207 +-
 src/mesa/drivers/dri/i965/gen6_vs_state.c          |  183 +-
 src/mesa/drivers/dri/i965/gen6_wm_state.c          |  289 +-
 src/mesa/drivers/dri/i965/gen7_ds_state.c          |  126 +-
 src/mesa/drivers/dri/i965/gen7_gs_state.c          |  168 +-
 src/mesa/drivers/dri/i965/gen7_hs_state.c          |  123 +-
 src/mesa/drivers/dri/i965/gen7_sf_state.c          |  265 +-
 src/mesa/drivers/dri/i965/gen7_sol_state.c         |  307 +-
 src/mesa/drivers/dri/i965/gen7_te_state.c          |   67 +-
 src/mesa/drivers/dri/i965/gen7_viewport_state.c    |  100 +-
 src/mesa/drivers/dri/i965/gen7_vs_state.c          |   87 +-
 src/mesa/drivers/dri/i965/gen7_wm_state.c          |  283 +-
 src/mesa/drivers/dri/i965/gen8_blend_state.c       |  298 +-
 src/mesa/drivers/dri/i965/gen8_draw_upload.c       |  330 +-
 src/mesa/drivers/dri/i965/gen8_ds_state.c          |  116 +-
 src/mesa/drivers/dri/i965/gen8_gs_state.c          |  146 +-
 src/mesa/drivers/dri/i965/gen8_hs_state.c          |   93 +-
 src/mesa/drivers/dri/i965/gen8_multisample_state.c |   18 +-
 src/mesa/drivers/dri/i965/gen8_ps_state.c          |  301 +-
 src/mesa/drivers/dri/i965/gen8_sf_state.c          |  351 +-
 src/mesa/drivers/dri/i965/gen8_sol_state.c         |   95 +-
 src/mesa/drivers/dri/i965/gen8_viewport_state.c    |  120 +-
 src/mesa/drivers/dri/i965/gen8_vs_state.c          |   96 +-
 src/mesa/drivers/dri/i965/gen8_wm_depth_stencil.c  |  118 +-
 src/mesa/drivers/dri/i965/genX_state_upload.c      | 4065 +++++++++++++-
 50 files changed, 4439 insertions(+), 6080 deletions(-)
 create mode 100644 src/mesa/drivers/dri/i965/gen45_state_upload.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen6_cc.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen6_depthstencil.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen6_sf_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen6_viewport_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen6_vs_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen6_wm_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen7_ds_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen7_gs_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen7_hs_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen7_sf_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen7_te_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen7_viewport_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen7_vs_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen7_wm_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_blend_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_ds_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_gs_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_hs_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_ps_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_sf_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_sol_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_viewport_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_vs_state.c
 delete mode 100644 src/mesa/drivers/dri/i965/gen8_wm_depth_stencil.c
 create mode 100644 src/mesa/drivers/dri/i965/genX_state_upload.c

base-commit: 74d92e547c0c5118e15df71b81a46a588e6a0a01
-- 
git-series 0.9.1


More information about the mesa-dev mailing list