[virglrenderer-devel] [PATCH] renderer: Call glDepthRange if we move from default value
Gurchetan Singh
gurchetansingh at chromium.org
Mon Jun 4 16:44:53 UTC 2018
On Fri, Jun 1, 2018 at 7:54 AM Elie Tournier <tournier.elie at gmail.com> wrote:
>
> Virglrender holds the values in a structure vrend_sub_context that is zeroed
> out when it is initialized.
> So, when the first state change set the near_val and far_val to zero,
> the check assumes it is the old state and doesn't call glDepthRange.
>
> Fixes: dEQP-GLES2.functional.depth_range.write.zero_to_zero
>
> Suggested-by: Gert Wollny <gert.wollny at collabora.com>
> Signed-off-by: Elie Tournier <elie.tournier at collabora.com>
> ---
> src/vrend_renderer.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
> index df575b1..ef4e483 100644
> --- a/src/vrend_renderer.c
> +++ b/src/vrend_renderer.c
> @@ -1735,7 +1735,8 @@ void vrend_set_viewport_states(struct vrend_context *ctx,
> }
>
> if (ctx->sub->vps[idx].near_val != near_val ||
> - ctx->sub->vps[idx].far_val != far_val) {
> + ctx->sub->vps[idx].far_val != far_val ||
> + ctx->sub->vps[idx].far_val != 1.0) {
Isn't the purpose of this to avoid extraneous state changes? What if
we set the far_val to .5, and keep it that way? We'll have a
glDepthRange call every time.
Can't vrend_renderer_create_sub_ctx just set far_val to 1.0
PIPE_MAX_VIEWPORTS times?
> ctx->sub->vps[idx].near_val = near_val;
> ctx->sub->vps[idx].far_val = far_val;
>
> --
> 2.17.1
>
> _______________________________________________
> virglrenderer-devel mailing list
> virglrenderer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel
More information about the virglrenderer-devel
mailing list