From 6ae214ac2eebf6a15ff41112d17940080a87d918 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Sat, 11 Apr 2020 03:04:01 -0400 Subject: [PATCH] nv50,nvc0: update with latest caps One notable change is that DRAW_INFO_START_WITH_USER_INDICES is enabled. An audit of the code indicates that it should work, and a number of piglit tests exercising glMultiDrawElements continue to function. Signed-off-by: Ilia Mirkin Part-of: --- src/gallium/drivers/nouveau/nv50/nv50_screen.c | 10 +++++++++- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index 6a83d79fdb1..e61d00c0b42 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -161,6 +161,8 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 15; case PIPE_CAP_MAX_VERTEX_BUFFERS: return 16; + case PIPE_CAP_GL_BEGIN_END_BUFFER_SIZE: + return 512 * 1024; /* TODO: Investigate tuning this */ /* supported caps */ case PIPE_CAP_TEXTURE_MIRROR_CLAMP: @@ -230,6 +232,8 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_POINT_SIZE_FIXED: case PIPE_CAP_TWO_SIDED_COLOR: case PIPE_CAP_CLIP_PLANES: + case PIPE_CAP_PACKED_STREAM_OUTPUT: + case PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES: return 1; case PIPE_CAP_SEAMLESS_CUBE_MAP: return 1; /* class_3d >= NVA0_3D_CLASS; */ @@ -347,7 +351,11 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_FRONTEND_NOOP: case PIPE_CAP_GL_SPIRV: case PIPE_CAP_SHADER_SAMPLES_IDENTICAL: - case PIPE_CAP_TEXTURE_SHADOW_LOD: /* investigate */ + case PIPE_CAP_TEXTURE_SHADOW_LOD: + case PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED: + case PIPE_CAP_PSIZ_CLAMPED: + case PIPE_CAP_VIEWPORT_SWIZZLE: + case PIPE_CAP_VIEWPORT_MASK: return 0; case PIPE_CAP_VENDOR_ID: diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c index 0148f78a750..7abbf762af2 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -192,6 +192,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 0x1f0 / 16; case PIPE_CAP_MAX_VERTEX_BUFFERS: return 16; + case PIPE_CAP_GL_BEGIN_END_BUFFER_SIZE: + return 512 * 1024; /* TODO: Investigate tuning this */ /* supported caps */ case PIPE_CAP_TEXTURE_MIRROR_CLAMP: @@ -291,6 +293,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TWO_SIDED_COLOR: case PIPE_CAP_CLIP_PLANES: case PIPE_CAP_TEXTURE_SHADOW_LOD: + case PIPE_CAP_PACKED_STREAM_OUTPUT: + case PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES: return 1; case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER: return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ? 1 : 0; @@ -383,6 +387,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_FRONTEND_NOOP: case PIPE_CAP_GL_SPIRV: case PIPE_CAP_SHADER_SAMPLES_IDENTICAL: + case PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED: + case PIPE_CAP_PSIZ_CLAMPED: return 0; case PIPE_CAP_VENDOR_ID: -- 2.30.2