virgl: respect max_vertex_attrib_stride cap
This is required for OpenGL 4.4 and OpenGL ES 3.1 support. Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
04e278f793
commit
591b700944
|
@ -301,6 +301,7 @@ struct virgl_caps_v2 {
|
|||
uint32_t shader_buffer_offset_alignment;
|
||||
uint32_t capability_bits;
|
||||
uint32_t msaa_sample_positions[8];
|
||||
uint32_t max_vertex_attrib_stride;
|
||||
};
|
||||
|
||||
union virgl_caps {
|
||||
|
|
|
@ -219,6 +219,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
|
|||
return vscreen->caps.caps.v2.max_shader_patch_varyings;
|
||||
case PIPE_CAP_SAMPLER_VIEW_TARGET:
|
||||
return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TEXTURE_VIEW;
|
||||
case PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE:
|
||||
return vscreen->caps.caps.v2.max_vertex_attrib_stride;
|
||||
case PIPE_CAP_TEXTURE_GATHER_SM5:
|
||||
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
|
||||
case PIPE_CAP_FAKE_SW_MSAA:
|
||||
|
@ -226,7 +228,6 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
|
|||
case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION:
|
||||
case PIPE_CAP_MULTI_DRAW_INDIRECT:
|
||||
case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS:
|
||||
case PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE:
|
||||
case PIPE_CAP_CLIP_HALFZ:
|
||||
case PIPE_CAP_VERTEXID_NOBASE:
|
||||
case PIPE_CAP_MULTISAMPLE_Z_RESOLVE:
|
||||
|
|
|
@ -136,5 +136,6 @@ static inline void virgl_ws_fill_new_caps_defaults(struct virgl_drm_caps *caps)
|
|||
caps->caps.v2.uniform_buffer_offset_alignment = 256;
|
||||
caps->caps.v2.shader_buffer_offset_alignment = 32;
|
||||
caps->caps.v2.capability_bits = 0;
|
||||
caps->caps.v2.max_vertex_attrib_stride = 0;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue