@ -7797,9 +7797,6 @@ static void vrend_renderer_fill_caps_common(union virgl_caps *caps)
*/
caps - > v1 . bset . occlusion_query = 1 ;
/* Set an initial level here, will be updated later */
caps - > v1 . glsl_level = 130 ;
/* Set supported prims here as we now know what shaders we support. */
caps - > v1 . prim_mask = ( 1 < < PIPE_PRIM_POINTS ) | ( 1 < < PIPE_PRIM_LINES ) |
( 1 < < PIPE_PRIM_LINE_STRIP ) | ( 1 < < PIPE_PRIM_LINE_LOOP ) |
@ -7857,35 +7854,40 @@ static void vrend_renderer_fill_caps_v2_common(union virgl_caps *caps)
glGetIntegerv ( GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT , ( GLint * ) & caps - > v2 . uniform_buffer_offset_alignment ) ;
}
static void vrend_renderer_fill_caps_gles ( int gles_ver , union virgl_caps * caps )
static void vrend_fill_caps_glsl_version ( int gl_ver , int gles_ver ,
union virgl_caps * caps )
{
if ( gles_ver > = 30 ) {
caps - > v1 . glsl_level = 130 ;
} else {
if ( gles_ver > 0 ) {
caps - > v1 . glsl_level = 120 ;
if ( gles_ver > = 30 )
caps - > v1 . glsl_level = 130 ;
}
if ( gl_ver > 0 ) {
caps - > v1 . glsl_level = 130 ;
if ( gl_ver = = 31 )
caps - > v1 . glsl_level = 140 ;
else if ( gl_ver = = 32 )
caps - > v1 . glsl_level = 150 ;
else if ( gl_ver = = 33 )
caps - > v1 . glsl_level = 330 ;
else if ( gl_ver = = 40 )
caps - > v1 . glsl_level = 400 ;
else if ( gl_ver = = 41 )
caps - > v1 . glsl_level = 410 ;
else if ( gl_ver = = 42 )
caps - > v1 . glsl_level = 420 ;
else if ( gl_ver > = 43 )
caps - > v1 . glsl_level = 430 ;
}
}
static void vrend_renderer_fill_caps_gl ( bool fill_capset2 , int gl_ver ,
union virgl_caps * caps )
static void vrend_renderer_fill_caps_gl ( bool fill_capset2 , union virgl_caps * caps )
{
GLfloat range [ 2 ] ;
if ( gl_ver = = 31 )
caps - > v1 . glsl_level = 140 ;
else if ( gl_ver = = 32 )
caps - > v1 . glsl_level = 150 ;
else if ( gl_ver = = 33 )
caps - > v1 . glsl_level = 330 ;
else if ( gl_ver = = 40 )
caps - > v1 . glsl_level = 400 ;
else if ( gl_ver = = 41 )
caps - > v1 . glsl_level = 410 ;
else if ( gl_ver = = 42 )
caps - > v1 . glsl_level = 420 ;
else if ( gl_ver > = 43 )
caps - > v1 . glsl_level = 430 ;
if ( ! vrend_state . use_core_profile ) {
caps - > v1 . bset . poly_stipple = 1 ;
caps - > v1 . bset . color_clamping = 1 ;
@ -7939,12 +7941,10 @@ void vrend_renderer_fill_caps(uint32_t set, UNUSED uint32_t version,
}
vrend_renderer_fill_caps_common ( caps ) ;
vrend_fill_caps_glsl_version ( gl_ver , gles_ver , caps ) ;
/* GLES has it's own path */
if ( vrend_state . use_gles ) {
vrend_renderer_fill_caps_gles ( gles_ver , caps ) ;
} else
vrend_renderer_fill_caps_gl ( fill_capset2 , gl_ver , caps ) ;
if ( ! vrend_state . use_gles )
vrend_renderer_fill_caps_gl ( fill_capset2 , caps ) ;
if ( caps - > v1 . glsl_level > = 150 ) {
caps - > v1 . prim_mask | = ( 1 < < PIPE_PRIM_LINES_ADJACENCY ) |