[Mesa-dev] [PATCH 00/12] Tessellation support for nvc0
Ilia Mirkin
imirkin at alum.mit.edu
Sat May 16 22:07:03 PDT 2015
This is enough to enable tessellation support on nvc0. It seems to
work a lot better on my GF108 than GK208. I suspect that there's some
sort of scheduling shenanigans that need to be adjusted for
kepler+. Or perhaps some shader header things.
Even with the GF108, I still get occasional blue triangles in Heaven,
but I get a *ton* of them on the GK208 -- seemingly the same issue,
but it's much worse on there.
Also there's about a 100% chance that gl_PrimitiveID doesn't work.
In any case, I plan on pushing this semi-soon unless there are any
loud objections. I don't think it's going to do too much good sitting
in my tree, or too much evil sitting upstream while core + st/mesa are
worked out.
Ilia Mirkin (12):
nvc0: preliminary tess support
nvc0: add support for setting patch vertices at draw time
nvc0: add handling for set_tess_state callback
nvc0: TESSCOORD comes in as a sysval, not an input
nvc0/ir: mark varyings as per-patch based on semantic name
nv50/ir: populate info structure based on new tess properties
nv50/ir: set perPatch flag on load/stores to per-patch varyings
nv50/ir: add support for reading outputs in tess control shaders
nvc0/ir: patch vertex count is stored in the upper bits
nvc0/ir: handle loads from outputs in control shaders
nvc0/ir: allow tess eval output loads to be CSE'd
nv50/ir: cleanup private enums that have graduated to gallium
src/gallium/drivers/nouveau/codegen/nv50_ir.cpp | 4 +-
.../drivers/nouveau/codegen/nv50_ir_driver.h | 12 ----
.../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 56 +++++++++++++++--
.../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 7 +++
.../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 2 +
src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 8 ++-
src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 56 +++++++----------
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 7 +--
src/gallium/drivers/nouveau/nvc0/nvc0_screen.h | 1 +
.../drivers/nouveau/nvc0/nvc0_shader_state.c | 3 -
src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 71 ++++++++++++++++++++++
.../drivers/nouveau/nvc0/nvc0_state_validate.c | 11 ++++
src/gallium/drivers/nouveau/nvc0/nvc0_tex.c | 34 +++++------
src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 9 ++-
.../drivers/nouveau/nvc0/nvc0_vbo_translate.c | 3 +-
15 files changed, 200 insertions(+), 84 deletions(-)
--
2.3.6
More information about the mesa-dev
mailing list