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 <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4520>
This commit is contained in:
Ilia Mirkin 2020-04-11 03:04:01 -04:00 committed by Marge Bot
parent 029471c3c4
commit 6ae214ac2e
2 changed files with 15 additions and 1 deletions

View file

@ -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:

View file

@ -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: