[Mesa-dev] [PATCH 00/19] gallium: basic tessellation support

Ilia Mirkin imirkin at alum.mit.edu
Sat May 2 13:16:24 PDT 2015


This series adds tokens and updates some helper gallium functions to
know about tessellation. This provides no actual support for
tessellation in either core or drivers, however this will make it
possible to work on the core and driver pieces without crazy
interdependencies, as well as be landed separately and without
(direct) dependency.

Most of these patches have existed for about a year already, and have
been part of my and Marek's trees enabling tessellation in the nvc0
and radeonsi drivers. I've taken this opportunity to fix up and fold
some of them though.

This should be pretty safe to land, since even if I messed something
up, having this in-tree will make it easier for others to identify and
fix any issues collaboratively.

Ilia Mirkin (11):
  gallium: add tessellation shader types
  gallium: add new PATCHES primitive type
  gallium: add new semantics for tessellation
  gallium: add interfaces for controlling tess program state
  gallium: add tessellation shader properties
  gallium: add patch_vertices to draw info
  gallium: add set_tess_state to configure default tessellation
    parameters
  tgsi/scan: allow scanning tessellation shaders
  tgsi/sanity: set implicit in/out array sizes based on patch sizes
  tgsi/ureg: allow ureg_dst to have dimension indices
  tgsi/dump: fix declaration printing of tessellation inputs/outputs

Marek Olšák (8):
  gallium: bump shader input and output limits
  trace: implement new tessellation functions
  gallium/util: print patch_vertices in util_dump_draw_info
  gallium/u_blitter: disable tessellation for all operations
  gallium/cso: add support for tessellation shaders
  gallium/cso: set NULL shaders at context destruction
  gallium: disable tessellation shaders for meta ops
  tgsi/ureg: use correct limit for max input count

 src/gallium/auxiliary/cso_cache/cso_context.c | 100 ++++++++++++++++++++++++++
 src/gallium/auxiliary/cso_cache/cso_context.h |  12 ++++
 src/gallium/auxiliary/hud/hud_context.c       |   6 ++
 src/gallium/auxiliary/postprocess/pp_run.c    |   6 ++
 src/gallium/auxiliary/tgsi/tgsi_dump.c        |  20 +++++-
 src/gallium/auxiliary/tgsi/tgsi_info.c        |   4 ++
 src/gallium/auxiliary/tgsi/tgsi_sanity.c      |  36 ++++++++--
 src/gallium/auxiliary/tgsi/tgsi_scan.c        |   6 +-
 src/gallium/auxiliary/tgsi/tgsi_strings.c     |  19 ++++-
 src/gallium/auxiliary/tgsi/tgsi_strings.h     |   2 +-
 src/gallium/auxiliary/tgsi/tgsi_ureg.c        |  26 ++++++-
 src/gallium/auxiliary/tgsi/tgsi_ureg.h        |  59 +++++++++++++--
 src/gallium/auxiliary/util/u_blit.c           |   6 ++
 src/gallium/auxiliary/util/u_blitter.c        |  27 +++++++
 src/gallium/auxiliary/util/u_blitter.h        |  16 ++++-
 src/gallium/auxiliary/util/u_dump_state.c     |   2 +
 src/gallium/docs/source/context.rst           |   5 ++
 src/gallium/docs/source/tgsi.rst              |  70 ++++++++++++++++++
 src/gallium/drivers/trace/tr_context.c        |  26 +++++++
 src/gallium/drivers/trace/tr_dump_state.c     |   2 +
 src/gallium/include/pipe/p_context.h          |  14 ++++
 src/gallium/include/pipe/p_defines.h          |  16 ++++-
 src/gallium/include/pipe/p_shader_tokens.h    |  18 ++++-
 src/gallium/include/pipe/p_state.h            |   6 +-
 src/mesa/state_tracker/st_cb_bitmap.c         |   8 ++-
 src/mesa/state_tracker/st_cb_clear.c          |   6 ++
 src/mesa/state_tracker/st_cb_drawpixels.c     |   8 ++-
 src/mesa/state_tracker/st_cb_drawtex.c        |   6 ++
 28 files changed, 501 insertions(+), 31 deletions(-)

-- 
2.0.5



More information about the mesa-dev mailing list