add robust buffer access feature.

(fix broken caps)

Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
macos/master
Dave Airlie 6 years ago
parent b4965e28ec
commit 8e822c9dc3
  1. 1
      src/virgl_hw.h
  2. 5
      src/vrend_renderer.c

@ -226,6 +226,7 @@ enum virgl_formats {
#define VIRGL_CAP_MEMORY_BARRIER (1 << 6) #define VIRGL_CAP_MEMORY_BARRIER (1 << 6)
#define VIRGL_CAP_COMPUTE_SHADER (1 << 7) #define VIRGL_CAP_COMPUTE_SHADER (1 << 7)
#define VIRGL_CAP_FB_NO_ATTACH (1 << 8) #define VIRGL_CAP_FB_NO_ATTACH (1 << 8)
#define VIRGL_CAP_ROBUST_BUFFER_ACCESS (1 << 9)
/* virgl bind flags - these are compatible with mesa 10.5 gallium. /* virgl bind flags - these are compatible with mesa 10.5 gallium.
* but are fixed, no other should be passed to virgl either. * but are fixed, no other should be passed to virgl either.

@ -117,6 +117,7 @@ enum features_id
feat_nv_conditional_render, feat_nv_conditional_render,
feat_nv_prim_restart, feat_nv_prim_restart,
feat_polygon_offset_clamp, feat_polygon_offset_clamp,
feat_robust_buffer_access,
feat_sample_mask, feat_sample_mask,
feat_sample_shading, feat_sample_shading,
feat_samplers, feat_samplers,
@ -175,6 +176,7 @@ static const struct {
[feat_nv_conditional_render] = { UNAVAIL, UNAVAIL, { "GL_NV_conditional_render" } }, [feat_nv_conditional_render] = { UNAVAIL, UNAVAIL, { "GL_NV_conditional_render" } },
[feat_nv_prim_restart] = { UNAVAIL, UNAVAIL, { "GL_NV_primitive_restart" } }, [feat_nv_prim_restart] = { UNAVAIL, UNAVAIL, { "GL_NV_primitive_restart" } },
[feat_polygon_offset_clamp] = { 46, UNAVAIL, { "GL_ARB_polygon_offset_clamp" } }, [feat_polygon_offset_clamp] = { 46, UNAVAIL, { "GL_ARB_polygon_offset_clamp" } },
[feat_robust_buffer_access] = { 43, UNAVAIL, { "GL_ARB_robust_buffer_access_behaviour" } },
[feat_sample_mask] = { 32, 31, { "GL_ARB_texture_multisample" } }, [feat_sample_mask] = { 32, 31, { "GL_ARB_texture_multisample" } },
[feat_sample_shading] = { 40, UNAVAIL, { "GL_ARB_sample_shading" } }, [feat_sample_shading] = { 40, UNAVAIL, { "GL_ARB_sample_shading" } },
[feat_samplers] = { 33, UNAVAIL, { "GL_ARB_sampler_objects" } }, [feat_samplers] = { 33, UNAVAIL, { "GL_ARB_sampler_objects" } },
@ -8219,6 +8221,9 @@ void vrend_renderer_fill_caps(uint32_t set, UNUSED uint32_t version,
if (has_feature(feat_copy_image)) if (has_feature(feat_copy_image))
caps->v2.capability_bits |= VIRGL_CAP_COPY_IMAGE; caps->v2.capability_bits |= VIRGL_CAP_COPY_IMAGE;
if (has_feature(feat_robust_buffer_access))
caps->v2.capability_bits |= VIRGL_CAP_ROBUST_BUFFER_ACCESS;
} }
GLint64 vrend_renderer_get_timestamp(void) GLint64 vrend_renderer_get_timestamp(void)

Loading…
Cancel
Save