[Mesa-dev] [PATCH 00/14] [v2] Famous Gallium Nine

David Heidelberger david.heidelberger at ixit.cz
Mon Oct 20 05:37:43 PDT 2014


Hello.

Sending second and improved set of Nine patches.

 - few of them are dropped
   [PATCH 06/16] gallium: add blending to pipe blit (only for Nouveau)
   [PATCH 07/16] util: dlopen change to RTLD_NOW and LOCAL (not needed)
 - some of them are already improved (v2)
 - there was few lines of code leaked between commits,
   which are now fixed

You can get all important information about Nine from [1].
Because Nine commit is too big, you can check all commits
including big (about 1M) Nine commit here [2].

I think there maybe lot of places for improvements and hidden bugs,
so please review carefully and we'll try fix and improve anything
which will be needed :)

[1] https://wiki.ixit.cz/d3d9 (used self-signed cert)
[2] https://github.com/iXit/Mesa-3D/commits/for-upstream-2

Axel Davy (2):
  nine: Add drirc options (v2)
  nine: Implement threadpool

Christoph Bumiller (10):
  tgsi/ureg: add ureg_UARL shortcut
  mesa/gallium: API settings / rasterization rules
  gallium/drivers: use API settings / rasterization rules
  winsys/sw/wrapper: hook up is_displaytarget_format_supported
  gallium/auxiliary: implement sw_probe_wrapped
  gallium/draw: support hack to disable clipping (v2)
  configure: add configurable pipe-driver location
  gallium/auxiliary: add inc and dec alternative with return
  gallium/auxiliary: add contained and rect checks (v2)
  gallium/auxiliary: add dump functions for Nine

David Heidelberger (1):
  gallium/auxiliary: Prefer intrinsics to handrolled atomic ops for
    Linux (v2)

Joakim Sindholt (1):
  nine: Add state tracker nine for Direct3D9

 configure.ac                                       |   36 +-
 include/D3D9/d3d9.h                                | 1858 +++++++++++
 include/D3D9/d3d9caps.h                            |  387 +++
 include/D3D9/d3d9types.h                           | 1797 ++++++++++
 include/d3dadapter/d3dadapter9.h                   |  101 +
 include/d3dadapter/drm.h                           |   44 +
 include/d3dadapter/present.h                       |  137 +
 src/gallium/Makefile.am                            |    4 +
 src/gallium/auxiliary/draw/draw_context.c          |    5 +
 src/gallium/auxiliary/pipe-loader/pipe_loader.h    |   11 +
 src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c |   22 +
 src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h       |    1 +
 src/gallium/auxiliary/util/u_atomic.h              |   29 +
 src/gallium/auxiliary/util/u_box.h                 |  201 ++
 src/gallium/auxiliary/util/u_dump.h                |    6 +
 src/gallium/auxiliary/util/u_dump_defines.c        |   78 +
 src/gallium/auxiliary/util/u_dump_state.c          |    2 +
 src/gallium/auxiliary/util/u_rect.h                |   28 +
 src/gallium/docs/source/context.rst                |    8 +-
 src/gallium/docs/source/cso/rasterizer.rst         |   38 +-
 src/gallium/docs/source/screen.rst                 |    2 +
 src/gallium/drivers/freedreno/freedreno_screen.c   |    1 +
 src/gallium/drivers/i915/i915_screen.c             |    1 +
 src/gallium/drivers/ilo/ilo_screen.c               |    1 +
 src/gallium/drivers/llvmpipe/lp_screen.c           |    2 +
 src/gallium/drivers/nouveau/nv30/nv30_screen.c     |    1 +
 src/gallium/drivers/nouveau/nv50/nv50_screen.c     |    1 +
 src/gallium/drivers/r300/r300_screen.c             |    1 +
 src/gallium/drivers/r600/r600_pipe.c               |    1 +
 src/gallium/drivers/radeonsi/si_pipe.c             |    1 +
 src/gallium/drivers/softpipe/sp_screen.c           |    1 +
 src/gallium/drivers/svga/svga_screen.c             |    1 +
 src/gallium/include/pipe/p_defines.h               |    1 +
 src/gallium/include/pipe/p_state.h                 |    1 +
 src/gallium/state_trackers/clover/Makefile.am      |    2 +-
 src/gallium/state_trackers/dri/Makefile.am         |    2 +-
 src/gallium/state_trackers/gbm/Makefile.am         |    2 +-
 src/gallium/state_trackers/nine/Makefile.am        |   45 +
 src/gallium/state_trackers/nine/README             |   79 +
 src/gallium/state_trackers/nine/adapter9.c         | 1076 ++++++
 src/gallium/state_trackers/nine/adapter9.h         |  136 +
 .../state_trackers/nine/authenticatedchannel9.c    |   78 +
 .../state_trackers/nine/authenticatedchannel9.h    |   65 +
 src/gallium/state_trackers/nine/basetexture9.c     |  504 +++
 src/gallium/state_trackers/nine/basetexture9.h     |  138 +
 src/gallium/state_trackers/nine/cryptosession9.c   |  115 +
 src/gallium/state_trackers/nine/cryptosession9.h   |   86 +
 src/gallium/state_trackers/nine/cubetexture9.c     |  274 ++
 src/gallium/state_trackers/nine/cubetexture9.h     |   79 +
 src/gallium/state_trackers/nine/device9.c          | 3441 ++++++++++++++++++++
 src/gallium/state_trackers/nine/device9.h          |  797 +++++
 src/gallium/state_trackers/nine/device9ex.c        |  363 +++
 src/gallium/state_trackers/nine/device9ex.h        |  147 +
 src/gallium/state_trackers/nine/device9video.c     |   62 +
 src/gallium/state_trackers/nine/device9video.h     |   57 +
 src/gallium/state_trackers/nine/guid.c             |   66 +
 src/gallium/state_trackers/nine/guid.h             |   36 +
 src/gallium/state_trackers/nine/indexbuffer9.c     |  218 ++
 src/gallium/state_trackers/nine/indexbuffer9.h     |   88 +
 src/gallium/state_trackers/nine/iunknown.c         |  126 +
 src/gallium/state_trackers/nine/iunknown.h         |  153 +
 src/gallium/state_trackers/nine/nine_debug.c       |  104 +
 src/gallium/state_trackers/nine/nine_debug.h       |  135 +
 src/gallium/state_trackers/nine/nine_defines.h     |   55 +
 src/gallium/state_trackers/nine/nine_dump.c        |  813 +++++
 src/gallium/state_trackers/nine/nine_dump.h        |   52 +
 src/gallium/state_trackers/nine/nine_ff.c          | 2213 +++++++++++++
 src/gallium/state_trackers/nine/nine_ff.h          |   32 +
 src/gallium/state_trackers/nine/nine_helpers.c     |  100 +
 src/gallium/state_trackers/nine/nine_helpers.h     |  176 +
 src/gallium/state_trackers/nine/nine_lock.c        | 3319 +++++++++++++++++++
 src/gallium/state_trackers/nine/nine_lock.h        |   51 +
 src/gallium/state_trackers/nine/nine_pdata.h       |   45 +
 src/gallium/state_trackers/nine/nine_pipe.c        |  410 +++
 src/gallium/state_trackers/nine/nine_pipe.h        |  568 ++++
 src/gallium/state_trackers/nine/nine_quirk.c       |   49 +
 src/gallium/state_trackers/nine/nine_quirk.h       |   36 +
 src/gallium/state_trackers/nine/nine_shader.c      | 2959 +++++++++++++++++
 src/gallium/state_trackers/nine/nine_shader.h      |  142 +
 src/gallium/state_trackers/nine/nine_state.c       | 1489 +++++++++
 src/gallium/state_trackers/nine/nine_state.h       |  234 ++
 .../state_trackers/nine/nineexoverlayextension.c   |   46 +
 .../state_trackers/nine/nineexoverlayextension.h   |   49 +
 src/gallium/state_trackers/nine/pixelshader9.c     |  172 +
 src/gallium/state_trackers/nine/pixelshader9.h     |   82 +
 src/gallium/state_trackers/nine/query9.c           |  358 ++
 src/gallium/state_trackers/nine/query9.h           |   83 +
 src/gallium/state_trackers/nine/resource9.c        |  230 ++
 src/gallium/state_trackers/nine/resource9.h        |  107 +
 src/gallium/state_trackers/nine/stateblock9.c      |  533 +++
 src/gallium/state_trackers/nine/stateblock9.h      |   71 +
 src/gallium/state_trackers/nine/surface9.c         |  711 ++++
 src/gallium/state_trackers/nine/surface9.h         |  181 +
 src/gallium/state_trackers/nine/swapchain9.c       |  930 ++++++
 src/gallium/state_trackers/nine/swapchain9.h       |  137 +
 src/gallium/state_trackers/nine/swapchain9ex.c     |  108 +
 src/gallium/state_trackers/nine/swapchain9ex.h     |   59 +
 src/gallium/state_trackers/nine/texture9.c         |  315 ++
 src/gallium/state_trackers/nine/texture9.h         |   75 +
 src/gallium/state_trackers/nine/threadpool.c       |  202 ++
 src/gallium/state_trackers/nine/threadpool.h       |   55 +
 src/gallium/state_trackers/nine/vertexbuffer9.c    |  223 ++
 src/gallium/state_trackers/nine/vertexbuffer9.h    |   76 +
 .../state_trackers/nine/vertexdeclaration9.c       |  518 +++
 .../state_trackers/nine/vertexdeclaration9.h       |   89 +
 src/gallium/state_trackers/nine/vertexshader9.c    |  177 +
 src/gallium/state_trackers/nine/vertexshader9.h    |   89 +
 src/gallium/state_trackers/nine/volume9.c          |  605 ++++
 src/gallium/state_trackers/nine/volume9.h          |  141 +
 src/gallium/state_trackers/nine/volumetexture9.c   |  253 ++
 src/gallium/state_trackers/nine/volumetexture9.h   |   75 +
 src/gallium/state_trackers/xa/Makefile.am          |    2 +-
 src/gallium/targets/d3dadapter9/Makefile.am        |   86 +
 src/gallium/targets/d3dadapter9/drm.c              |  359 ++
 src/gallium/targets/d3dadapter9/getproc.c          |   51 +
 src/gallium/targets/gbm/Makefile.am                |    1 +
 src/gallium/targets/omx/Makefile.am                |    2 +-
 src/gallium/targets/opencl/Makefile.am             |    1 +
 src/gallium/targets/pipe-loader/Makefile.am        |    2 +-
 src/gallium/targets/vdpau/Makefile.am              |    2 +-
 src/gallium/targets/xa/Makefile.am                 |    1 +
 src/gallium/targets/xvmc/Makefile.am               |    2 +-
 src/gallium/tests/trivial/Makefile.am              |    1 +
 src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c  |   14 +
 src/mesa/drivers/dri/common/xmlpool/t_options.h    |   18 +
 src/mesa/state_tracker/st_atom_rasterizer.c        |    4 +-
 src/mesa/state_tracker/st_atom_scissor.c           |    2 +-
 src/mesa/state_tracker/st_atom_viewport.c          |    2 +-
 src/mesa/state_tracker/st_cb_rasterpos.c           |    2 +-
 src/mesa/state_tracker/st_context.c                |    3 +
 src/mesa/state_tracker/st_context.h                |    1 +
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp         |    7 +-
 src/mesa/state_tracker/st_mesa_to_tgsi.c           |    7 +-
 133 files changed, 33317 insertions(+), 29 deletions(-)
 create mode 100644 include/D3D9/d3d9.h
 create mode 100644 include/D3D9/d3d9caps.h
 create mode 100644 include/D3D9/d3d9types.h
 create mode 100644 include/d3dadapter/d3dadapter9.h
 create mode 100644 include/d3dadapter/drm.h
 create mode 100644 include/d3dadapter/present.h
 create mode 100644 src/gallium/state_trackers/nine/Makefile.am
 create mode 100644 src/gallium/state_trackers/nine/README
 create mode 100644 src/gallium/state_trackers/nine/adapter9.c
 create mode 100644 src/gallium/state_trackers/nine/adapter9.h
 create mode 100644 src/gallium/state_trackers/nine/authenticatedchannel9.c
 create mode 100644 src/gallium/state_trackers/nine/authenticatedchannel9.h
 create mode 100644 src/gallium/state_trackers/nine/basetexture9.c
 create mode 100644 src/gallium/state_trackers/nine/basetexture9.h
 create mode 100644 src/gallium/state_trackers/nine/cryptosession9.c
 create mode 100644 src/gallium/state_trackers/nine/cryptosession9.h
 create mode 100644 src/gallium/state_trackers/nine/cubetexture9.c
 create mode 100644 src/gallium/state_trackers/nine/cubetexture9.h
 create mode 100644 src/gallium/state_trackers/nine/device9.c
 create mode 100644 src/gallium/state_trackers/nine/device9.h
 create mode 100644 src/gallium/state_trackers/nine/device9ex.c
 create mode 100644 src/gallium/state_trackers/nine/device9ex.h
 create mode 100644 src/gallium/state_trackers/nine/device9video.c
 create mode 100644 src/gallium/state_trackers/nine/device9video.h
 create mode 100644 src/gallium/state_trackers/nine/guid.c
 create mode 100644 src/gallium/state_trackers/nine/guid.h
 create mode 100644 src/gallium/state_trackers/nine/indexbuffer9.c
 create mode 100644 src/gallium/state_trackers/nine/indexbuffer9.h
 create mode 100644 src/gallium/state_trackers/nine/iunknown.c
 create mode 100644 src/gallium/state_trackers/nine/iunknown.h
 create mode 100644 src/gallium/state_trackers/nine/nine_debug.c
 create mode 100644 src/gallium/state_trackers/nine/nine_debug.h
 create mode 100644 src/gallium/state_trackers/nine/nine_defines.h
 create mode 100644 src/gallium/state_trackers/nine/nine_dump.c
 create mode 100644 src/gallium/state_trackers/nine/nine_dump.h
 create mode 100644 src/gallium/state_trackers/nine/nine_ff.c
 create mode 100644 src/gallium/state_trackers/nine/nine_ff.h
 create mode 100644 src/gallium/state_trackers/nine/nine_helpers.c
 create mode 100644 src/gallium/state_trackers/nine/nine_helpers.h
 create mode 100644 src/gallium/state_trackers/nine/nine_lock.c
 create mode 100644 src/gallium/state_trackers/nine/nine_lock.h
 create mode 100644 src/gallium/state_trackers/nine/nine_pdata.h
 create mode 100644 src/gallium/state_trackers/nine/nine_pipe.c
 create mode 100644 src/gallium/state_trackers/nine/nine_pipe.h
 create mode 100644 src/gallium/state_trackers/nine/nine_quirk.c
 create mode 100644 src/gallium/state_trackers/nine/nine_quirk.h
 create mode 100644 src/gallium/state_trackers/nine/nine_shader.c
 create mode 100644 src/gallium/state_trackers/nine/nine_shader.h
 create mode 100644 src/gallium/state_trackers/nine/nine_state.c
 create mode 100644 src/gallium/state_trackers/nine/nine_state.h
 create mode 100644 src/gallium/state_trackers/nine/nineexoverlayextension.c
 create mode 100644 src/gallium/state_trackers/nine/nineexoverlayextension.h
 create mode 100644 src/gallium/state_trackers/nine/pixelshader9.c
 create mode 100644 src/gallium/state_trackers/nine/pixelshader9.h
 create mode 100644 src/gallium/state_trackers/nine/query9.c
 create mode 100644 src/gallium/state_trackers/nine/query9.h
 create mode 100644 src/gallium/state_trackers/nine/resource9.c
 create mode 100644 src/gallium/state_trackers/nine/resource9.h
 create mode 100644 src/gallium/state_trackers/nine/stateblock9.c
 create mode 100644 src/gallium/state_trackers/nine/stateblock9.h
 create mode 100644 src/gallium/state_trackers/nine/surface9.c
 create mode 100644 src/gallium/state_trackers/nine/surface9.h
 create mode 100644 src/gallium/state_trackers/nine/swapchain9.c
 create mode 100644 src/gallium/state_trackers/nine/swapchain9.h
 create mode 100644 src/gallium/state_trackers/nine/swapchain9ex.c
 create mode 100644 src/gallium/state_trackers/nine/swapchain9ex.h
 create mode 100644 src/gallium/state_trackers/nine/texture9.c
 create mode 100644 src/gallium/state_trackers/nine/texture9.h
 create mode 100644 src/gallium/state_trackers/nine/threadpool.c
 create mode 100644 src/gallium/state_trackers/nine/threadpool.h
 create mode 100644 src/gallium/state_trackers/nine/vertexbuffer9.c
 create mode 100644 src/gallium/state_trackers/nine/vertexbuffer9.h
 create mode 100644 src/gallium/state_trackers/nine/vertexdeclaration9.c
 create mode 100644 src/gallium/state_trackers/nine/vertexdeclaration9.h
 create mode 100644 src/gallium/state_trackers/nine/vertexshader9.c
 create mode 100644 src/gallium/state_trackers/nine/vertexshader9.h
 create mode 100644 src/gallium/state_trackers/nine/volume9.c
 create mode 100644 src/gallium/state_trackers/nine/volume9.h
 create mode 100644 src/gallium/state_trackers/nine/volumetexture9.c
 create mode 100644 src/gallium/state_trackers/nine/volumetexture9.h
 create mode 100644 src/gallium/targets/d3dadapter9/Makefile.am
 create mode 100644 src/gallium/targets/d3dadapter9/drm.c
 create mode 100644 src/gallium/targets/d3dadapter9/getproc.c

-- 
2.1.2



More information about the mesa-dev mailing list