Re: [Nouveau] [PATCH v2 1/7] exa: add GM10x acceleration support
Two minor nitpicks below. I didn't read all shaders carefully because it's a pain, but I didn't see any obvious things. :-) Thanks for that great work Ilia! Reviewed-by: Samuel PitoisetOn 10/27/2016 04:02 PM, Ilia Mirkin wrote: rendercheck -f a8r8g8b8 passes as much as on a GK208, and xv appears to work. Very lightly tested. Instead of sticking coordinates into pushbufs, the vertex shader is modified to read them from a constbuf, indexed by vertex id. This approach could be used for all nvc0 generations, but I didn't want to rock the boat. Signed-off-by: Ilia Mirkin --- src/Makefile.am | 16 src/nouveau_copy.c| 1 + src/nouveau_exa.c | 2 +- src/nouveau_xv.c | 2 +- src/nv_accel_common.c | 1 + src/nv_driver.c | 1 + src/nvc0_accel.c | 37 ++--- src/nvc0_exa.c| 48 -- src/nvc0_xv.c | 48 -- src/shader/Makefile | 23 --- src/shader/exac8nv110.fp | 47 + src/shader/exac8nv110.fpc | 38 + src/shader/exacanv110.fp | 47 + src/shader/exacanv110.fpc | 38 + src/shader/exacmnv110.fp | 47 + src/shader/exacmnv110.fpc | 38 + src/shader/exas8nv110.fp | 42 +++ src/shader/exas8nv110.fpc | 28 + src/shader/exasanv110.fp | 47 + src/shader/exasanv110.fpc | 38 + src/shader/exascnv110.fp | 38 + src/shader/exascnv110.fpc | 20 + src/shader/videonv110.fp | 54 src/shader/videonv110.fpc | 52 +++ src/shader/xfrm2nv110.vp | 82 + src/shader/xfrm2nv110.vpc | 102 ++ 26 files changed, 918 insertions(+), 19 deletions(-) create mode 100644 src/shader/exac8nv110.fp create mode 100644 src/shader/exac8nv110.fpc create mode 100644 src/shader/exacanv110.fp create mode 100644 src/shader/exacanv110.fpc create mode 100644 src/shader/exacmnv110.fp create mode 100644 src/shader/exacmnv110.fpc create mode 100644 src/shader/exas8nv110.fp create mode 100644 src/shader/exas8nv110.fpc create mode 100644 src/shader/exasanv110.fp create mode 100644 src/shader/exasanv110.fpc create mode 100644 src/shader/exascnv110.fp create mode 100644 src/shader/exascnv110.fpc create mode 100644 src/shader/videonv110.fp create mode 100644 src/shader/videonv110.fpc create mode 100644 src/shader/xfrm2nv110.vp create mode 100644 src/shader/xfrm2nv110.vpc diff --git a/src/Makefile.am b/src/Makefile.am index 1e04ddf..6ba8d87 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -77,48 +77,64 @@ EXTRA_DIST = hwdefs/nv_3ddefs.xml.h \ shader/exac8nve0.fpc \ shader/exac8nvf0.fp \ shader/exac8nvf0.fpc \ +shader/exac8nv110.fp \ +shader/exac8nv110.fpc \ shader/exacanvc0.fp \ shader/exacanvc0.fpc \ shader/exacanve0.fp \ shader/exacanve0.fpc \ shader/exacanvf0.fp \ shader/exacanvf0.fpc \ +shader/exacanv110.fp \ +shader/exacanv110.fpc \ shader/exacmnvc0.fp \ shader/exacmnvc0.fpc \ shader/exacmnve0.fp \ shader/exacmnve0.fpc \ shader/exacmnvf0.fp \ shader/exacmnvf0.fpc \ +shader/exacmnv110.fp \ +shader/exacmnv110.fpc \ shader/exas8nvc0.fp \ shader/exas8nvc0.fpc \ shader/exas8nve0.fp \ shader/exas8nve0.fpc \ shader/exas8nvf0.fp \ shader/exas8nvf0.fpc \ +shader/exas8nv110.fp \ +shader/exas8nv110.fpc \ shader/exasanvc0.fp \ shader/exasanvc0.fpc \ shader/exasanve0.fp \ shader/exasanve0.fpc \ shader/exasanvf0.fp \ shader/exasanvf0.fpc \ +shader/exasanv110.fp \ +shader/exasanv110.fpc \ shader/exascnvc0.fp \ shader/exascnvc0.fpc \ shader/exascnve0.fp \ shader/exascnve0.fpc \ shader/exascnvf0.fp \ shader/exascnvf0.fpc \ +shader/exascnv110.fp \ +shader/exascnv110.fpc \ shader/videonvc0.fp \ shader/videonvc0.fpc \ shader/videonve0.fp \ shader/videonve0.fpc \ shader/videonvf0.fp \ shader/videonvf0.fpc \ +shader/videonv110.fp \ +shader/videonv110.fpc \ shader/xfrm2nvc0.vp \ shader/xfrm2nvc0.vpc \ shader/xfrm2nve0.vp \ shader/xfrm2nve0.vpc \ shader/xfrm2nvf0.vp \
[Nouveau] [PATCH v2 1/7] exa: add GM10x acceleration support
rendercheck -f a8r8g8b8 passes as much as on a GK208, and xv appears to work. Very lightly tested. Instead of sticking coordinates into pushbufs, the vertex shader is modified to read them from a constbuf, indexed by vertex id. This approach could be used for all nvc0 generations, but I didn't want to rock the boat. Signed-off-by: Ilia Mirkin--- src/Makefile.am | 16 src/nouveau_copy.c| 1 + src/nouveau_exa.c | 2 +- src/nouveau_xv.c | 2 +- src/nv_accel_common.c | 1 + src/nv_driver.c | 1 + src/nvc0_accel.c | 37 ++--- src/nvc0_exa.c| 48 -- src/nvc0_xv.c | 48 -- src/shader/Makefile | 23 --- src/shader/exac8nv110.fp | 47 + src/shader/exac8nv110.fpc | 38 + src/shader/exacanv110.fp | 47 + src/shader/exacanv110.fpc | 38 + src/shader/exacmnv110.fp | 47 + src/shader/exacmnv110.fpc | 38 + src/shader/exas8nv110.fp | 42 +++ src/shader/exas8nv110.fpc | 28 + src/shader/exasanv110.fp | 47 + src/shader/exasanv110.fpc | 38 + src/shader/exascnv110.fp | 38 + src/shader/exascnv110.fpc | 20 + src/shader/videonv110.fp | 54 src/shader/videonv110.fpc | 52 +++ src/shader/xfrm2nv110.vp | 82 + src/shader/xfrm2nv110.vpc | 102 ++ 26 files changed, 918 insertions(+), 19 deletions(-) create mode 100644 src/shader/exac8nv110.fp create mode 100644 src/shader/exac8nv110.fpc create mode 100644 src/shader/exacanv110.fp create mode 100644 src/shader/exacanv110.fpc create mode 100644 src/shader/exacmnv110.fp create mode 100644 src/shader/exacmnv110.fpc create mode 100644 src/shader/exas8nv110.fp create mode 100644 src/shader/exas8nv110.fpc create mode 100644 src/shader/exasanv110.fp create mode 100644 src/shader/exasanv110.fpc create mode 100644 src/shader/exascnv110.fp create mode 100644 src/shader/exascnv110.fpc create mode 100644 src/shader/videonv110.fp create mode 100644 src/shader/videonv110.fpc create mode 100644 src/shader/xfrm2nv110.vp create mode 100644 src/shader/xfrm2nv110.vpc diff --git a/src/Makefile.am b/src/Makefile.am index 1e04ddf..6ba8d87 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -77,48 +77,64 @@ EXTRA_DIST = hwdefs/nv_3ddefs.xml.h \ shader/exac8nve0.fpc \ shader/exac8nvf0.fp \ shader/exac8nvf0.fpc \ +shader/exac8nv110.fp \ +shader/exac8nv110.fpc \ shader/exacanvc0.fp \ shader/exacanvc0.fpc \ shader/exacanve0.fp \ shader/exacanve0.fpc \ shader/exacanvf0.fp \ shader/exacanvf0.fpc \ +shader/exacanv110.fp \ +shader/exacanv110.fpc \ shader/exacmnvc0.fp \ shader/exacmnvc0.fpc \ shader/exacmnve0.fp \ shader/exacmnve0.fpc \ shader/exacmnvf0.fp \ shader/exacmnvf0.fpc \ +shader/exacmnv110.fp \ +shader/exacmnv110.fpc \ shader/exas8nvc0.fp \ shader/exas8nvc0.fpc \ shader/exas8nve0.fp \ shader/exas8nve0.fpc \ shader/exas8nvf0.fp \ shader/exas8nvf0.fpc \ +shader/exas8nv110.fp \ +shader/exas8nv110.fpc \ shader/exasanvc0.fp \ shader/exasanvc0.fpc \ shader/exasanve0.fp \ shader/exasanve0.fpc \ shader/exasanvf0.fp \ shader/exasanvf0.fpc \ +shader/exasanv110.fp \ +shader/exasanv110.fpc \ shader/exascnvc0.fp \ shader/exascnvc0.fpc \ shader/exascnve0.fp \ shader/exascnve0.fpc \ shader/exascnvf0.fp \ shader/exascnvf0.fpc \ +shader/exascnv110.fp \ +shader/exascnv110.fpc \ shader/videonvc0.fp \ shader/videonvc0.fpc \ shader/videonve0.fp \ shader/videonve0.fpc \ shader/videonvf0.fp \ shader/videonvf0.fpc \ +shader/videonv110.fp \ +shader/videonv110.fpc \ shader/xfrm2nvc0.vp \ shader/xfrm2nvc0.vpc \ shader/xfrm2nve0.vp \ shader/xfrm2nve0.vpc \ shader/xfrm2nvf0.vp \ shader/xfrm2nvf0.vpc \ +shader/xfrm2nv110.vp \ +shader/xfrm2nv110.vpc \ shader/Makefile \ nouveau_local.h \ nouveau_copy.h \ diff --git a/src/nouveau_copy.c b/src/nouveau_copy.c index e152a53..c139de6