[virglrenderer-devel] [PATCH v4 5/7] vrend, caps: evaluate GLSL version before everything else (v4)

Erik Faye-Lund erik.faye-lund at collabora.com
Wed Aug 1 10:56:21 UTC 2018


On 01. aug. 2018 12:15, Gert Wollny wrote:
> Also move the function code up in the file to let the code reflect the
> call logic.
>
> v4: rebase after image and computer shader patches landed
>
> Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
> Reviewed-by: Gurchetan Singh <gurchetansingh at chromium.org> (v3)
> ---
>   src/vrend_renderer.c | 56 ++++++++++++++++++++++----------------------
>   1 file changed, 28 insertions(+), 28 deletions(-)
>
> diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
> index 60fa6f5..494cebf 100644
> --- a/src/vrend_renderer.c
> +++ b/src/vrend_renderer.c
> @@ -7771,6 +7771,33 @@ static void vrender_get_glsl_version(int *glsl_version)
>         *glsl_version = version;
>   }
>   
> +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 {
> +      caps->v1.glsl_level = 120;
> +   }
> +
> +   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;
> +   else if (gl_ver > 0)
> +      caps->v1.glsl_level = 130;
> +}
> +
>   /*
>    * Does all of the common caps setting,
>    * if it dedects a early out returns true.
> @@ -7843,33 +7870,6 @@ 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_fill_caps_glsl_version(int gl_ver, int gles_ver,
> -					  union virgl_caps *caps)
> -{
> -   if (gles_ver >= 30) {
> -      caps->v1.glsl_level = 130;
> -   } else {
> -      caps->v1.glsl_level = 120;
> -   }
> -
> -   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;
> -   else if (gl_ver > 0)
> -      caps->v1.glsl_level = 130;
> -}
> -
>   static void vrend_renderer_fill_caps_gl(bool fill_capset2, union virgl_caps *caps)
>   {
>      GLfloat range[2];
> @@ -7926,8 +7926,8 @@ void vrend_renderer_fill_caps(uint32_t set, UNUSED uint32_t version,
>         gl_ver = epoxy_gl_version();
>      }
>   
> -   vrend_renderer_fill_caps_common(caps);
>      vrend_fill_caps_glsl_version(gl_ver, gles_ver, caps);
> +   vrend_renderer_fill_caps_common(caps);
>   
>      if (!vrend_state.use_gles)
>         vrend_renderer_fill_caps_gl(fill_capset2, caps);

Looks good :)

Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>


More information about the virglrenderer-devel mailing list