[Nouveau] [PATCH 00/19] nv50: add sampler2DMS/GP support to get OpenGL 3.2
Ilia Mirkin
imirkin at alum.mit.edu
Mon Jan 13 11:19:16 PST 2014
OK, so there's a bunch of stuff in here. The geometry stuff is based on the
work started by Bryan Cain and Christoph Bumiller.
Patches 01-12: Add support for geometry shaders and fix related issues
Patches 13-14: Make it possible for fb clears to operate on texture attachments
with an explicit layer set (as is allowed in gl 3.2).
Patches 15-17: Make ARB_texture_multisample work
Patch 18: Enable GLSL 1.50
Patch 19: Turn on ARB_seamless_cube_map irrespective of HW support so that all nv50 cards can get OpenGL 3.2 and geometry shaders (which
are otherwise unsupported)
There are still a few geometry-related piglits that fail -- specifically:
primitive-id-no-gs
gl-3.2-layered-rendering-gl-layer*
I need to trace the blob to figure out exactly how to configure the HW for
those situations, but I suspect that the fixes will be fairly small and
self-contained.
Note that there are also a bunch of EXT_framebuffer_multisample tests that are
failing, but that has nothing to do with these changes. There's something
wrong with the blit_3d function, at the very least to do with depth/stencil,
but also some color tests fail as well.
These patches are available at https://github.com/imirkin/mesa.git nv50-gs
or https://github.com/imirkin/mesa/commits/nv50-gs for those who prefer a
web ui.
Bryan Cain (2):
nv50/ir: delay calculation of indirect addresses
nv50: add support for geometry shaders
Christoph Bumiller (1):
nv50/ir: fix PFETCH and add RDSV to get VSTRIDE for GPs
Ilia Mirkin (16):
nv50: allow vert_count to be >255
nv50/ir: disallow predicates on emit/restart ops
nv50/ir: disallow shader input propagation for gp
nv50/ir: comment out code to allow input/immed loads
nv50/ir: add support for gl_PrimitiveIDIn
nv50: properly set the PRIMITIVE_ID enable flag when it is a gp input.
nv50: VP_RESULT_MAP_SIZE has to be positive
nv50: GP_REG_ALLOC_RESULT must be positive
nv50: allocate an extra code bo to avoid dmesg spam
nv50: don't forget to also clear additional layers
nvc0: don't forget to also clear additional layers
nv50: add comments about CB_AUX contents
nv50: copy nvc0's get_sample_position implementation
nv50: add support for textureFetch'ing MS textures,
ARB_texture_multisample
nv50: report glsl 1.50 now that gp tests pass
nv50: enable seamless cube maps on all hw for OpenGL 3.2
src/gallium/drivers/nouveau/codegen/nv50_ir.h | 9 ++
.../drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp | 92 ++++++++++--
.../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 41 ++++--
.../nouveau/codegen/nv50_ir_lowering_nv50.cpp | 164 ++++++++++++++++++++-
.../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 7 +
.../drivers/nouveau/codegen/nv50_ir_print.cpp | 1 +
.../nouveau/codegen/nv50_ir_target_nv50.cpp | 18 ++-
src/gallium/drivers/nouveau/nv50/nv50_context.c | 46 ++++++
src/gallium/drivers/nouveau/nv50/nv50_context.h | 17 +++
src/gallium/drivers/nouveau/nv50/nv50_program.c | 30 +++-
src/gallium/drivers/nouveau/nv50/nv50_program.h | 2 +-
src/gallium/drivers/nouveau/nv50/nv50_screen.c | 23 ++-
.../drivers/nouveau/nv50/nv50_shader_state.c | 6 +
.../drivers/nouveau/nv50/nv50_state_validate.c | 2 +-
src/gallium/drivers/nouveau/nv50/nv50_surface.c | 25 ++--
src/gallium/drivers/nouveau/nv50/nv50_tex.c | 77 +++++++++-
src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 22 ++-
17 files changed, 526 insertions(+), 56 deletions(-)
--
1.8.3.2
More information about the Nouveau
mailing list