summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost/pan_fragment.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-05-23 03:01:32 +0000
committerAlyssa Rosenzweig <[email protected]>2019-06-05 14:35:48 -0700
commit2adf35e4f50e0d8439ee12151bbb65427335625e (patch)
tree4d8e3ee80241d51ecdc65c4fd6f1f582ec7bf7d0 /src/gallium/drivers/panfrost/pan_fragment.c
parentc94b70a1781b8fb65be24b7e3a72462426cd86c4 (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.c7
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,