gallium/hud: do not specify potentially invalid depth-range
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Tue, 9 Jun 2020 19:25:26 +0000 (21:25 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 10 Jun 2020 22:27:08 +0000 (22:27 +0000)
Setting the depth-scale to 1 while leaving the depth-translation at 0
means our near-plane is at -1 in OpenGL semantics, which is
out-of-range on some drivers. In particular, Zink has this limitation.

But since we'll only pass a zero z in here anyway, we might as well
multiply it by zero, and get the same result. This avoids the problem.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5408>

src/gallium/auxiliary/hud/hud_context.c

index a57ac48cd7a088ffc17df9303237baa6bff83fad..57f577a3a9230e15ea5e25e37f76dbb31e131b4d 100644 (file)
@@ -523,7 +523,7 @@ hud_draw_results(struct hud_context *hud, struct pipe_resource *tex)
 
    viewport.scale[0] = 0.5f * hud->fb_width;
    viewport.scale[1] = 0.5f * hud->fb_height;
-   viewport.scale[2] = 1.0f;
+   viewport.scale[2] = 0.0f;
    viewport.translate[0] = 0.5f * hud->fb_width;
    viewport.translate[1] = 0.5f * hud->fb_height;
    viewport.translate[2] = 0.0f;