diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-05-23 03:01:32 +0000 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-06-05 14:35:48 -0700 |
commit | 2adf35e4f50e0d8439ee12151bbb65427335625e (patch) | |
tree | 4d8e3ee80241d51ecdc65c4fd6f1f582ec7bf7d0 /src/gallium/drivers/panfrost/pan_fragment.c | |
parent | c94b70a1781b8fb65be24b7e3a72462426cd86c4 (diff) |
panfrost: Don't flip scanout
The mesa/st flips the viewport, so we respect that rather than
trying to flip the framebuffer itself and ignoring the viewport and
using a messy heuristic.
However, this brings an underlying disagreement about the interpretation
of winding order to light. The blob uses a different strategy than Mesa
for handling viewport Y flipping, so the meanings of the winding order
bit are flipped for it. To keep things clean on our end, we rename to
explicitly use Gallium (rather than flipped OpenGL) conventions.
Fixes upside-down Xwayland/egl windows.
v2: Adjust lowering configuration to correctly flip gl_PointCoord.y and
gl_FragCoord.y. v1 was R-b'd by Tomeu, but then retracted due to these
regressions which are not fixed.
Suggested-by: Rob Clark <[email protected]>
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Sort-of-reviewed-by: Tomeu Vizoso <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost/pan_fragment.c')
-rw-r--r-- | src/gallium/drivers/panfrost/pan_fragment.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/gallium/drivers/panfrost/pan_fragment.c b/src/gallium/drivers/panfrost/pan_fragment.c index 0dc15c2d235..16405a4ed21 100644 --- a/src/gallium/drivers/panfrost/pan_fragment.c +++ b/src/gallium/drivers/panfrost/pan_fragment.c @@ -34,12 +34,9 @@ mali_ptr panfrost_fragment_job(struct panfrost_context *ctx) { - /* TODO: Check viewport or something */ - bool flip_y = panfrost_is_scanout(ctx); - mali_ptr framebuffer = ctx->require_sfbd ? - panfrost_sfbd_fragment(ctx, flip_y) : - panfrost_mfbd_fragment(ctx, flip_y); + panfrost_sfbd_fragment(ctx) : + panfrost_mfbd_fragment(ctx); struct mali_job_descriptor_header header = { .job_type = JOB_TYPE_FRAGMENT, |