Module: Mesa
Branch: master
Commit: 591b7009440cef9fa0dd3bc09512a7a2906ef33d
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=591b7009440cef9fa0dd3bc09512a7a2906ef33d

Author: Erik Faye-Lund <[email protected]>
Date:   Tue Jul 17 15:43:57 2018 +1000

virgl: respect max_vertex_attrib_stride cap

This is required for OpenGL 4.4 and OpenGL ES 3.1 support.

Reviewed-by: Dave Airlie <[email protected]>

---

 src/gallium/drivers/virgl/virgl_hw.h     | 3 ++-
 src/gallium/drivers/virgl/virgl_screen.c | 3 ++-
 src/gallium/drivers/virgl/virgl_winsys.h | 1 +
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/virgl/virgl_hw.h 
b/src/gallium/drivers/virgl/virgl_hw.h
index 118249e695..f501da7cc1 100644
--- a/src/gallium/drivers/virgl/virgl_hw.h
+++ b/src/gallium/drivers/virgl/virgl_hw.h
@@ -300,7 +300,8 @@ struct virgl_caps_v2 {
         uint32_t uniform_buffer_offset_alignment;
         uint32_t shader_buffer_offset_alignment;
         uint32_t capability_bits;
-       uint32_t msaa_sample_positions[8];
+        uint32_t msaa_sample_positions[8];
+        uint32_t max_vertex_attrib_stride;
 };
 
 union virgl_caps {
diff --git a/src/gallium/drivers/virgl/virgl_screen.c 
b/src/gallium/drivers/virgl/virgl_screen.c
index 8bd6673c3c..e32d454d19 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -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:
diff --git a/src/gallium/drivers/virgl/virgl_winsys.h 
b/src/gallium/drivers/virgl/virgl_winsys.h
index 99ab4d3840..6346c21faf 100644
--- a/src/gallium/drivers/virgl/virgl_winsys.h
+++ b/src/gallium/drivers/virgl/virgl_winsys.h
@@ -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

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to