virgl: add shader offset alignment to to v2 caps struct
authorgurchetansingh@chromium.org <gurchetansingh@chromium.org>
Mon, 4 Jun 2018 16:03:37 +0000 (09:03 -0700)
committerDave Airlie <airlied@redhat.com>
Tue, 5 Jun 2018 04:28:49 +0000 (14:28 +1000)
commit6ce94a50bbe2bfc0f5dfb58d39f5ddfece7a3320
tree3826b51e2dd5b3176b3644a5bed123a1c02e1a9e
parent1c9053d0765dc6372238e333dc5adca3e175b210
virgl: add shader offset alignment to to v2 caps struct

This is the SSBO analogue to fe0647. User supplied data must
be a multiple of GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT.

This fixes 44 GLES31 tests on airlied@'s GLES31 sketch branches with
Nvidia hardware, but this patch standalone can applied to master. The
alignment restriction on Nvidia is 32, hence the default value.

Example tests:
   dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.0
   dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer.std430

v2: Move to a better place in case statement
v3: Rebase

Reviewed-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/virgl/virgl_hw.h
src/gallium/drivers/virgl/virgl_screen.c
src/gallium/drivers/virgl/virgl_winsys.h