From 587c221a29fe01e24c69952a7a9b0034f7652e4e Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Tue, 24 Apr 2012 13:34:36 +0200 Subject: [PATCH] nv50,nvc0: handle new vertex fetch caps --- src/gallium/drivers/nv50/nv50_formats.c | 5 +++++ src/gallium/drivers/nv50/nv50_screen.c | 4 ++++ src/gallium/drivers/nvc0/nvc0_screen.c | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/src/gallium/drivers/nv50/nv50_formats.c b/src/gallium/drivers/nv50/nv50_formats.c index 14dc3375aac..a009b27c861 100644 --- a/src/gallium/drivers/nv50/nv50_formats.c +++ b/src/gallium/drivers/nv50/nv50_formats.c @@ -385,6 +385,11 @@ const struct nv50_format nv50_format_table[PIPE_FORMAT_COUNT] = F3B(R32G32B32_FIXED, NONE, C0, C1, C2, xx, FLOAT, 32_32_32, V), F2B(R32G32_FIXED, NONE, C0, C1, xx, xx, FLOAT, 32_32, V), F1B(R32_FIXED, NONE, C0, xx, xx, xx, FLOAT, 32, V), + + C4B(R64G64B64A64_FLOAT, NONE, C0, C1, C2, C3, FLOAT, 32_32_32_32, V), + F3B(R64G64B64_FLOAT, NONE, C0, C1, C2, xx, FLOAT, 32_32_32, V), + F2B(R64G64_FLOAT, NONE, C0, C1, xx, xx, FLOAT, 32_32, V), + F1B(R64_FLOAT, NONE, C0, xx, xx, xx, FLOAT, 32, V), }; #if 0 diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index 6de2319599b..b3489198d2b 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -152,6 +152,10 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 0; /* state trackers will know better */ case PIPE_CAP_USER_VERTEX_BUFFERS: return 1; + case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY: + case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY: + case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY: + return 0; default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); return 0; diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c index 2f60a64e42e..457d56e7d9e 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -142,6 +142,10 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 0; /* state trackers will know better */ case PIPE_CAP_USER_VERTEX_BUFFERS: return 1; + case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY: + case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY: + case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY: + return 0; default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); return 0; -- 2.30.2