[Nouveau] [PATCH] nv50,nvc0: add 11f_11f_10f vertex support

Ilia Mirkin imirkin at alum.mit.edu
Fri Feb 28 19:33:58 PST 2014


Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---

Tested on nv96 with Chris Forbes's piglit tests (on list, but not checked in
yet)... only assuming about nvc0, but it seems reasonable since all the other
attributes are the same.

 docs/GL3.txt                                    | 2 +-
 src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h  | 1 +
 src/gallium/drivers/nouveau/nv50/nv50_formats.c | 2 +-
 src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h  | 1 +
 4 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/docs/GL3.txt b/docs/GL3.txt
index 755a89c..9738ffc 100644
--- a/docs/GL3.txt
+++ b/docs/GL3.txt
@@ -177,7 +177,7 @@ GL 4.4:
   GL_ARB_query_buffer_object                           not started
   GL_ARB_texture_mirror_clamp_to_edge                  DONE (i965, nv30, nv50, nvc0, r300, r600, radeonsi, swrast)
   GL_ARB_texture_stencil8                              not started
-  GL_ARB_vertex_type_10f_11f_11f_rev                   DONE (i965, r600)
+  GL_ARB_vertex_type_10f_11f_11f_rev                   DONE (i965, nv50, nvc0, r600)
 
 
 More info about these features and the work involved can be found at
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h b/src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h
index 9dff8b2..cc3a382 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h
+++ b/src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h
@@ -1962,6 +1962,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16			0x00d80000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8			0x00e80000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_10_10_10_2		0x01800000
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_11_11_10		0x01880000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE__MASK			0x7e000000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE__SHIFT			25
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT			0x7e000000
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_formats.c b/src/gallium/drivers/nouveau/nv50/nv50_formats.c
index c7c5975..fa93ce8 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_formats.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_formats.c
@@ -204,7 +204,7 @@ const struct nv50_format nv50_format_table[PIPE_FORMAT_COUNT] =
    C4A(R10G10B10A2_UINT, RGB10_A2_UINT, C0, C1, C2, C3, UINT, 10_10_10_2, TRV, 0),
    C4A(B10G10R10A2_UINT, RGB10_A2_UINT, C2, C1, C0, C3, UINT, 10_10_10_2, TV, 0),
 
-   F3B(R11G11B10_FLOAT, R11G11B10_FLOAT, C0, C1, C2, xx, FLOAT, 11_11_10, IB),
+   F3A(R11G11B10_FLOAT, R11G11B10_FLOAT, C0, C1, C2, xx, FLOAT, 11_11_10, IBV),
 
    F3B(L8_UNORM, R8_UNORM, C0, C0, C0, xx, UNORM, 8, TB),
    F3B(L8_SRGB, R8_UNORM, C0, C0, C0, xx, UNORM, 8, TB),
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h
index d3f719d..1862e70 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h
@@ -467,6 +467,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16			0x03600000
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8			0x03a00000
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_10_10_10_2		0x06000000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_11_11_10   		0x06200000
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK			0x38000000
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__SHIFT		27
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM			0x08000000
-- 
1.8.3.2



More information about the Nouveau mailing list