Re: [Mesa-dev] [PATCH] panfrost: Dereference sampled texture

2019-05-24 Thread Alyssa Rosenzweig
R-b, thank you! ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [RFC PATCH] nir/algebraic: Simplify max(abs(a), 0.0) -> abs(a)

2019-05-24 Thread Alyssa Rosenzweig
> I /think/ that should be adequate here too. Do inexact values not need to handle NaNs strictly, then? I'm not sure what this corresponds to in the various GLs/CLs/Vulkan specs, hence labeling this RFC. ___ mesa-dev mailing list mesa-dev@lists.freedeskt

[Mesa-dev] [PATCH] panfrost: Don't flip scanout

2019-05-25 Thread Alyssa Rosenzweig
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. Suggested-by: Rob Clark Signed-off-by: Alyssa

[Mesa-dev] [PATCH v2 1/2] nir/algebraic: Simplify max(abs(a), 0.0) -> abs(a)

2019-05-25 Thread Alyssa Rosenzweig
I noticed this pattern in glmark's jellyfish scene. v2: Add inexact qualifier to avoid changing NaN behaviour I would appreciate if someone did a shader-db run. Signed-off-by: Alyssa Rosenzweig Cc: Ilia Mirkin Cc: Ian Romanick Cc: Elie Tournier --- src/compiler/nir/nir_opt_algebraic.p

[Mesa-dev] [PATCH 07/13] panfrost/midgard: Misc. cleanup for readibility

2019-05-25 Thread Alyssa Rosenzweig
Mostly, this fixes a number of instances of lines >> 80 chars, refactoring them into something legible. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/compiler.h | 38 +++ .../panfrost/midgard/midgard_compile.c| 12 ++--- .../drivers/panfrost/m

[Mesa-dev] [PATCH 02/13] panfrost/midgard: Share some utility functions

2019-05-25 Thread Alyssa Rosenzweig
These were static to midgard_compile.c but are more generally useful across the compiler; move them to common Midgard code. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/compiler.h | 46 .../drivers/panfrost/midgard/helpers.h| 50

[Mesa-dev] [PATCH 11/13] panfrost/midgard: Cleanup copy propagation

2019-05-25 Thread Alyssa Rosenzweig
Use the new MIR helpers to cleanup this pass. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/midgard_compile.c| 15 --- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers

[Mesa-dev] [PATCH 08/13] panfrost/midgard: Refactor schedule/emit pipeline

2019-05-25 Thread Alyssa Rosenzweig
efore scheduling (MIR) was separate from the IR after scheduling (post-schedule MIR), requiring a separate set of utilities to traverse, using different idioms. There was no good reason for this, and it restricts our flexibility with the RA. So unify all the things! Signed-off-by: Alyssa Rosen

[Mesa-dev] [PATCH 03/13] panfrost/midgard: Set int outmod for "pasted" code

2019-05-25 Thread Alyssa Rosenzweig
These snippets of integer assembly are injected for various purposes (where we cannot express it yet in pure NIR), but we need to make sure they are int modded too. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 4 1 file changed, 4 insertions

[Mesa-dev] [PATCH 05/13] panfrost/midgard: Set masks on ld_vary

2019-05-25 Thread Alyssa Rosenzweig
These masks distinguish scalar/vec2/vec3 loads from the default vec4, which helps with assembly readability and will enable smarter RA. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff

[Mesa-dev] [PATCH 00/13] panfrost/midgard: RA improvements (esp. RA)

2019-05-25 Thread Alyssa Rosenzweig
run post-schedule, rather than just pre-schedule, without duplicating a whole bunch of code. This will become particularly important as we want to balance pipeline register creation with having to implement spilling eventually. Alyssa Rosenzweig (13): panfrost/midgard: Remove pinning panfrost/mi

[Mesa-dev] [PATCH 01/13] panfrost/midgard: Remove pinning

2019-05-25 Thread Alyssa Rosenzweig
This mechanism is only used by blend shaders, so just use a move here. Ideally, it'll be copy-propped and DCE'd away; this removes a source of considerable indirection and will simplify RA logic. Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard/midgard_compile.c

[Mesa-dev] [PATCH 09/13] panfrost/midgard: Add MIR helpers

2019-05-25 Thread Alyssa Rosenzweig
In addition to commonizing some related utilities, this adds new MIR helper functions relevant to passes including pipeline register creation. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/meson.build | 1 + .../drivers/panfrost/midgard/compiler.h | 19

[Mesa-dev] [PATCH 13/13] panfrost/midgard: .pos propagation

2019-05-25 Thread Alyssa Rosenzweig
A previous optimization converts fmax(x, 0.0) instructions to fmov.pos. This pass then propagates the .pos from the move up to the source instruction (when possible). From there, copy propagation will eliminate the move. Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard

[Mesa-dev] [PATCH 04/13] panfrost/midgard: Fix liveness analysis bugs

2019-05-25 Thread Alyssa Rosenzweig
This fixes liveness analysis with respect to inline constants and branching. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/midgard_liveness.c| 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard

[Mesa-dev] [PATCH 12/13] panfrost/midgard: Remove r0 scheduling code

2019-05-25 Thread Alyssa Rosenzweig
This code needs to be rewritten to be RA-agnostic, but until register pinning is setup the right way for fragment output it's broken dead code; remove it. Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard/midgard_schedule.c | 82 +++ 1 file changed, 12 inser

[Mesa-dev] [PATCH 10/13] panfrost/midgard: Implement "pipeline register" prepass

2019-05-25 Thread Alyssa Rosenzweig
within the bundle itself. This has theoretical benefits for power consumption and register pressure. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/meson.build | 1 + .../drivers/panfrost/midgard/compiler.h | 2 + .../panfrost/midgard/midgard_ra_pipeline.c| 87

[Mesa-dev] [PATCH 06/13] panfrost/midgard: Extend RA to non-vec4 sources

2019-05-25 Thread Alyssa Rosenzweig
registers = more threads) and conformance (spilling not yet implemented). My main lament about this design is that it cannot track per-component liveness, only per-value; it's not obvious this matters terribly in practice. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midga

Re: [Mesa-dev] [PATCH 1/2] panfrost: Remove link stage for jobs

2019-05-29 Thread Alyssa Rosenzweig
> -.job_index = 1 + (2 * ctx->draw_count), > +.job_index = 1, FWIW, the blob has this the "1 + (2*ctx->draw_count)" way for reasons I never figured out. -- Can't test right now, but if this is still working (passing tests/glmark/etc), then R-b as discussed on IRC

Re: [Mesa-dev] [PATCH 2/2] panfrost: Reload framebuffer contents if there's no clear

2019-05-29 Thread Alyssa Rosenzweig
Does this address the issues with the previous version raised on IRC? In particular: Does mpv work? (Including the on-screen display) Does sway work? I suspect this will also fix many tests in dEQP-GLES2, but that's on me; as long as nothing *regresses* there, it's all good. > +

Re: [Mesa-dev] [PATCH 2/2] panfrost: Reload framebuffer contents if there's no clear

2019-05-29 Thread Alyssa Rosenzweig
> Have never tested those, tbh. Do you know if I should be able to test > those with whatever is packaged for Debian? I don't think sway isn't packaged in testing yet (I think it's in experimental)? mpv is definitely packaged; you can run it onto DRM as mpv --vo gpu --gpu-context=drm --dr

Re: [Mesa-dev] [PATCH] panfrost: Don't flip scanout

2019-05-31 Thread Alyssa Rosenzweig
> Guess there's some flipping in stencil and *coord that needs to be unflipped? Looks like it, thank you. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] panfrost: Don't flip scanout

2019-06-05 Thread Alyssa Rosenzweig
flip gl_PointCoord.y and gl_FragCoord.y. Suggested-by: Rob Clark Signed-off-by: Alyssa Rosenzweig Cc: Tomeu Vizoso --- .../drivers/panfrost/include/panfrost-job.h | 8 +-- .../panfrost/midgard/midgard_compile.h| 2 + src/gallium/drivers/panfrost/pan_context.c| 54

[Mesa-dev] [PATCH 2/3] panfrost/midgard: Fix 1-arg ALU memory corruption

2019-06-05 Thread Alyssa Rosenzweig
e code size and poor scheduling due to extra constants in random places). But for others, where a 1-op is emulated by a 2-op with an implicit 0 second argument, that broke things. Fixes iabs (emulated by iabsdiff). Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgar

[Mesa-dev] [PATCH 1/3] panfrost/midgard: Add a bunch of new ALU ops

2019-06-05 Thread Alyssa Rosenzweig
These ops are used to accelerate various functions exposed in OpenCL. This commit only includes the routine additions to the table. They are not wired through the compiler; rather, they are just here to keep a reference for the disassembler. Signed-off-by: Alyssa Rosenzweig --- src/gallium

[Mesa-dev] [PATCH 0/3] panfrost/midgard: Integer division

2019-06-05 Thread Alyssa Rosenzweig
division lowering. Alyssa Rosenzweig (3): panfrost/midgard: Add a bunch of new ALU ops panfrost/midgard: Fix 1-arg ALU memory corruption panfrost/midgard: Lower integer division .../drivers/panfrost/ci/expected-failures.txt | 144 -- .../drivers/panfrost/midgard/midgard.h

[Mesa-dev] [PATCH 3/3] panfrost/midgard: Lower integer division

2019-06-05 Thread Alyssa Rosenzweig
We use the shared nir_lower_idiv pass to lower integer division, fixing 144 dEQP tests. This pass was not applied in the past due to breakage from iabs fixed earlier in the series. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/expected-failures.txt | 144

[Mesa-dev] [PATCH 1/2] panfrost/midgard: Fix cubemap regression

2019-06-05 Thread Alyssa Rosenzweig
Fixes: 2d9802233 ("panfrost/midgard: Extend RA to non-vec4 sources") Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_ra.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_r

[Mesa-dev] [PATCH 0/2] panfrost/midgard: Fix regressions

2019-06-05 Thread Alyssa Rosenzweig
The RA rewrite / schedler refactor series changed huge portions of the Midgard codebase. Inevitably, that introduced a few hundred regressions or so on dEQP. Fix them before anyone noticed. Nothing to see here, folks. Alyssa Rosenzweig (2): panfrost/midgard: Fix cubemap regression panfrost

[Mesa-dev] [PATCH 2/2] panfrost/midgard: Always break up fragment writeout

2019-06-05 Thread Alyssa Rosenzweig
ss to merge writeout blocks if possible. It's a bit of a low-priority next to fixing conformance regressions, of course. Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard/midgard_schedule.c | 89 +-- 1 file changed, 21 insertions(+), 68 deletions(-) diff -

Re: [Mesa-dev] [PATCH 0/2] panfrost/midgard: Fix regressions

2019-06-05 Thread Alyssa Rosenzweig
Pushed. signature.asc Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] panfrost/midgard: Don't assign var locations ourselves

2019-06-05 Thread Alyssa Rosenzweig
these lines and fix a heck of a lot of tests. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/expected-failures.txt | 412 -- .../panfrost/midgard/midgard_compile.c| 6 - 2 files changed, 418 deletions(-) diff --git a/src/gallium/drivers/panfrost/ci/exp

[Mesa-dev] [PATCH] panfrost/midgard: Verify SSA claims when pipelining

2019-06-05 Thread Alyssa Rosenzweig
s). Fixes some blend shader regressions. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/compiler.h | 1 + .../drivers/panfrost/midgard/midgard_liveness.c | 16 .../panfrost/midgard/midgard_ra_pipeline.c | 7 +++ 3 files changed, 24 insertions

[Mesa-dev] [PATCH 3/6] panfrost/midgard: Add integer outmods

2019-06-05 Thread Alyssa Rosenzweig
While clamping behaviour for floats was clear from GL, the int behaviour is only known From OpenCL contortion with convert_*_sat() functions. With the underlying functions known, clean up the codebase, likely fixing outmod type related bugs in the process. Signed-off-by: Alyssa Rosenzweig --- .../dr

[Mesa-dev] [PATCH 4/6] panfrost/midgard: Add shifting int modifiers

2019-06-05 Thread Alyssa Rosenzweig
n the 2x higher mode with the .hi modifier. (For 64-bit, things are hairier, since there is not an 128-bit int mode). Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c| 28 --- .../drivers/panfrost/midgard/midgard.h| 4 +-- 2 files chan

[Mesa-dev] [PATCH 0/6] panfrost/midgard: Improve disassembler per OpenCL

2019-06-05 Thread Alyssa Rosenzweig
an be herculean). Alyssa Rosenzweig (6): panfrost/midgard: Add rounding mode specific opcodes panfrost/midgard: Note floating compares type convert panfrost/midgard: Add integer outmods panfrost/midgard: Add shifting int modifiers panfrost/midgard: Expose vec8/vec16 modes panfrost/mi

[Mesa-dev] [PATCH 2/6] panfrost/midgard: Note floating compares type convert

2019-06-05 Thread Alyssa Rosenzweig
ay to ensure the correct output modifiers are used. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_ops.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_ops.c b/src/gallium/drivers/panfrost/mi

[Mesa-dev] [PATCH 5/6] panfrost/midgard: Expose vec8/vec16 modes

2019-06-05 Thread Alyssa Rosenzweig
than what was exposed before. Outside of some fixed routines for blending, none of the above is supported in the compiler yet. But it's better to have it in the ISA definitions and disassembler than not, for future use if nothing else. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfro

[Mesa-dev] [PATCH 1/6] panfrost/midgard: Add rounding mode specific opcodes

2019-06-05 Thread Alyssa Rosenzweig
This adds a set of opcodes for performing moves and type conversions with respect to particular rounding modes, required for OpenCL. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/midgard.h| 27 ++- .../panfrost/midgard/midgard_compile.c| 18

[Mesa-dev] [PATCH 6/6] panfrost/midgard: Disambiguate register mode

2019-06-05 Thread Alyssa Rosenzweig
;, which is semantically distinct due to the lessened opportunity for parallelism but (potentially) greater precision. Adding a postfix removes the ambiguity and relieves mental gymnastics reading weird disassemblies even in some cases that are not ambiguous. Signed-off-by: Alyssa Rosenzweig --- src/

[Mesa-dev] [PATCH 2/4] panfrost/midgard: Apply component to load_input

2019-06-06 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 4 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index 032f4a91196..4d28e151bda

[Mesa-dev] [PATCH 0/4] panfrost/midgard: Vectorize I/O

2019-06-06 Thread Alyssa Rosenzweig
Fixes more regressions. Sigh. Alyssa Rosenzweig (4): panfrost/midgard: Fix crash with unused SSA values panfrost/midgard: Apply component to load_input panfrost/midgard: Remove varyings delay pass panfrost/midgard: Vectorize I/O .../drivers/panfrost/ci/expected-failures.txt | 3

[Mesa-dev] [PATCH 4/4] panfrost/midgard: Vectorize I/O

2019-06-06 Thread Alyssa Rosenzweig
This uses the new mesa/st functionality for NIR I/O vectorization, which eliminates a number of corner cases (resulting in assorted dEQP failures and regressions) and should improve performance substantial due to lessened pressure on the load/store pipe. Signed-off-by: Alyssa Rosenzweig

[Mesa-dev] [PATCH 1/4] panfrost/midgard: Fix crash with unused SSA values

2019-06-06 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 4 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index dd86e8bceee..032f4a91196

[Mesa-dev] [PATCH 3/4] panfrost/midgard: Remove varyings delay pass

2019-06-06 Thread Alyssa Rosenzweig
This pass interfered with the more delicate path required for non-vectorized I/O. It's also ugly and duplicating the job of an actual honest-to-goodness scheduler. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/compiler.h | 3 - .../panfrost/midgard/midgard_comp

[Mesa-dev] [PATCH 0/6] panfrost/midgard: Fix control flow

2019-06-06 Thread Alyssa Rosenzweig
This patch set fixes the remaining control flow tests (at least, the "cull dead branches" patch does the fix -- the rest of the patches are cleanups and such incurred during the debugging session leading to that patch). Alyssa Rosenzweig (6): panfrost/ci: Note some since-fixed tests

[Mesa-dev] [PATCH 1/6] panfrost/ci: Note some since-fixed tests

2019-06-06 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/expected-failures.txt | 26 --- 1 file changed, 26 deletions(-) diff --git a/src/gallium/drivers/panfrost/ci/expected-failures.txt b/src/gallium/drivers/panfrost/ci/expected-failures.txt index 12f3c48047b..cd80d78169d

[Mesa-dev] [PATCH 4/6] panfrost/midgard: Cull dead branches

2019-06-06 Thread Alyssa Rosenzweig
This fixes bugs with complex control flow. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/expected-failures.txt | 2 -- .../panfrost/midgard/midgard_compile.c| 31 +++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers

[Mesa-dev] [PATCH 6/6] panfrost/midgard: Cleanup tag fetch in disassembler

2019-06-06 Thread Alyssa Rosenzweig
Trivial. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c index dcab841b164

[Mesa-dev] [PATCH 5/6] panfrost/midgard: Use fancy iterator

2019-06-06 Thread Alyssa Rosenzweig
Trivial cleanup. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index

[Mesa-dev] [PATCH 2/6] panfrost/midgard/disasm: Pretty-print branch tags

2019-06-06 Thread Alyssa Rosenzweig
Just makes it a little more obvious what's going on. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c| 41 +++ 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/ga

[Mesa-dev] [PATCH 3/6] panfrost/midgard: Add mir_print_bundle helper

2019-06-06 Thread Alyssa Rosenzweig
This helps with debugging scheduling/emission. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/compiler.h | 1 + .../drivers/panfrost/midgard/midgard_print.c| 13 + 2 files changed, 14 insertions(+) diff --git a/src/gallium/drivers/panfrost

[Mesa-dev] [PATCH] panfrost/midgard: Don't assign var locations ourselves

2019-06-06 Thread Alyssa Rosenzweig
these lines and fix a heck of a lot of tests. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/expected-failures.txt | 412 -- .../panfrost/midgard/midgard_compile.c| 6 - 2 files changed, 418 deletions(-) diff --git a/src/gallium/drivers/panfrost/ci/exp

[Mesa-dev] [PATCH 1/2] panfrost/midgard: Lower inot to inor with 0

2019-06-06 Thread Alyssa Rosenzweig
We were previously lowering to inand, but the second arg was not duplicated so inot would always return ~0. Oops. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers

[Mesa-dev] [PATCH] panfrost/midgard: Mark vertex attrib default tests fixed

2019-06-06 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/expected-failures.txt| 16 1 file changed, 16 deletions(-) diff --git a/src/gallium/drivers/panfrost/ci/expected-failures.txt b/src/gallium/drivers/panfrost/ci/expected-failures.txt index 6be9c83f4af..1f4e95f25ce

[Mesa-dev] [PATCH 2/2] panfrost/ci: Texture wrap tests are legitimately fixed

2019-06-06 Thread Alyssa Rosenzweig
These depended on the wallpaper reload. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/expected-failures.txt | 58 --- 1 file changed, 58 deletions(-) diff --git a/src/gallium/drivers/panfrost/ci/expected-failures.txt b/src/gallium/drivers/panfrost/ci/expected

Re: [Mesa-dev] [PATCH] panfrost: Report sRGB colorspace as not supported

2019-06-06 Thread Alyssa Rosenzweig
R-b: , but please use my c.c address from now on; I don't normally get email here on work hours. Thank you! ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] panfrost: Align linear renderable resources

2019-06-06 Thread Alyssa Rosenzweig
It's just -easier- to render to aligned framebuffers. For winsys targets, we already align, but even for an internal linear FBO we ought to align everything nicely. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_resource.c | 13 ++--- 1 file changed, 10 inser

Re: [Mesa-dev] [PATCH] panfrost: ci: Switch from direct Docker use to buildah

2019-06-07 Thread Alyssa Rosenzweig
A-b, I think. Nice :) signature.asc Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] panfrost: Enable helper invocations when texturing

2019-06-07 Thread Alyssa Rosenzweig
pieces (which led to discovering the helper invocations enable bit in the first place). Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/expected-failures.txt | 72 --- .../drivers/panfrost/include/panfrost-job.h | 14 +++- src/gallium/drivers/panfrost/pan_context.c

[Mesa-dev] [PATCH] panfrost: Fix stride check when mipmapping

2019-06-07 Thread Alyssa Rosenzweig
Now that we support custom strides on mipmapped lines textures (theoretically, at least), extend the stride check to support mipmaps. Fixes incorrect strides of linear windows in Weston. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 22

[Mesa-dev] [PATCH 1/2] panfrost: Linear depth/stencil should be aligned

2019-06-10 Thread Alyssa Rosenzweig
We might render to it. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_resource.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index bce3426fd67..0c45e258b96

[Mesa-dev] [PATCH 2/2] panfrost: Enable AFBC on depth/stencil

2019-06-10 Thread Alyssa Rosenzweig
This seems to be a performance win, but more rigorous testing is necessary to figure out the exact circumstances when this is good/bad. Incidentally, this fixes non-aligned ZS. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_afbc.c | 4 +++- src/gallium/drivers

[Mesa-dev] [PATCH 01/18] panfrost/midgard: Expand texture to 4-channel swizzle

2019-06-10 Thread Alyssa Rosenzweig
This eliminates some unknowns, clarifies 3D textures, and will maybe help with array/shadow textures? Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c | 7 ++- src/gallium/drivers/panfrost/midgard/midgard.h | 8 ++-- .../drivers/panfrost/midgard

[Mesa-dev] [PATCH 02/18] panfrost/midgard: Print texture offsets

2019-06-10 Thread Alyssa Rosenzweig
This patch identifies the two modes of offsets in a texture instruction (immediate and register, disambiguated by the bit-once-known-as "has_offset") and implements disassembly for both. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble

[Mesa-dev] [PATCH 06/18] panfrost/midgard/disasm: LOD immediate/register select

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 8 ++-- src/gallium/drivers/panfrost/midgard/midgard.h | 8 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium

[Mesa-dev] [PATCH 00/18] panfrost/midgard: Decode GLES3 texture op

2019-06-10 Thread Alyssa Rosenzweig
We decode most of the GLES3 texture ops here, prompted by the need to support textureLod on GLES2 and also because texture ops are massive but this tames them *considerably*. Except for the last patch, that's some weird end-of-day stuff. Alyssa Rosenzweig (18): panfrost/midgard: Expand te

[Mesa-dev] [PATCH 03/18] panfrost/midgard: Add perspective division opcode

2019-06-10 Thread Alyssa Rosenzweig
...on the load/store unit, not the ALUs. Looks goofy but hey. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard.h | 5 + src/gallium/drivers/panfrost/midgard/midgard_ops.c | 1 + 2 files changed, 6 insertions(+) diff --git a/src/gallium/drivers/panfrost

[Mesa-dev] [PATCH 09/18] panfrost/midgard: Add varying divide-by-z mode

2019-06-10 Thread Alyssa Rosenzweig
Turns out this modifier field is the same as Utgard-PP. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 6 -- src/gallium/drivers/panfrost/midgard/midgard.h | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/gallium

[Mesa-dev] [PATCH 11/18] panfrost/midgard/disasm: Correctly dump bias/LOD

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c| 32 +++ .../drivers/panfrost/midgard/midgard.h| 5 ++- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium

[Mesa-dev] [PATCH 16/18] panfrost/midgard: Eliminate redundant hexdump

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c index fc5b4ebfec6..3c59119e523

[Mesa-dev] [PATCH 04/18] panfrost/midgard/disasm: Varying perspective divides

2019-06-10 Thread Alyssa Rosenzweig
With an extra flag, we're able to do a perspective division "for free" while loading a varying. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c | 13 ++--- src/gallium/drivers/panfrost/midgard/midgard.h | 16 +++- 2 fi

[Mesa-dev] [PATCH 07/18] panfrost/midgard/disasm: Add missing space

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c index 10729ca122b..5f553ba27a0

[Mesa-dev] [PATCH 15/18] panfrost/midgard: Support negative immediate offsets

2019-06-10 Thread Alyssa Rosenzweig
It's not at all clear why this work for texelFetch but not texture. Maybe the top bits are dual-purpose on other texturing ops...? Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c| 20 +++ .../drivers/panfrost/midgard/midgard.h

[Mesa-dev] [PATCH 18/18] panfrost/midgard: Decode texture offset register swizzle

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c| 21 ++- .../drivers/panfrost/midgard/midgard.h| 13 ++-- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src

[Mesa-dev] [PATCH 08/18] panfrost/midgard: Add divide-by-z ld/st op

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard.h | 6 -- src/gallium/drivers/panfrost/midgard/midgard_ops.c | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard.h b/src/gallium/drivers

[Mesa-dev] [PATCH 05/18] panfrost/midgard/disasm: Use texture op name bare

2019-06-10 Thread Alyssa Rosenzweig
This allows us to show a call to textureLod in a reasonable way. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 11 --- src/gallium/drivers/panfrost/midgard/midgard.h | 5 +++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git

[Mesa-dev] [PATCH 10/18] panfrost/midgard/disasm: Cleanup texture op code

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c index 6be262f7ba0

[Mesa-dev] [PATCH 13/18] panfrost/midgard/disasm: Print LOD for texelFetch

2019-06-10 Thread Alyssa Rosenzweig
Its encoding differs slightly from the LOD used in normal texture calls. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 9 + 1 file changed, 9 insertions(+) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers

[Mesa-dev] [PATCH 12/18] panfrost/midgard: Identify the in_reg_full field

2019-06-10 Thread Alyssa Rosenzweig
This is clear for texelFetch, hence the confusion with Bifrost's filter field, but it's much more general in reality. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 5 + src/gallium/drivers/panfrost/midgard/midgard.h | 4

[Mesa-dev] [PATCH 14/18] panfrost/midgard: Fix redunant mask redundancy

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c index 4ef82140b7f..bada8974396 100644 --- a

[Mesa-dev] [PATCH 17/18] panfrost/midgard/disasm: include textureGather()

2019-06-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c| 19 +++ .../drivers/panfrost/midgard/midgard.h| 2 +- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium

[Mesa-dev] [PATCH] panfrost/midgard: Decode LOD/bias registers

2019-06-11 Thread Alyssa Rosenzweig
For constant LODs/biases, we can use an immediate embedded in the texture (already decoded); for non-constant, we have to use a register squeezed into the usual immediate field, which is decoded here. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/disassemble.c| 22

[Mesa-dev] [PATCH 1/6] panfrost/midgard: Implement txb op

2019-06-11 Thread Alyssa Rosenzweig
We refactor the main tex handling to fit a bias argument in as well. Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard/midgard_compile.c| 65 --- 1 file changed, 55 insertions(+), 10 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard

[Mesa-dev] [PATCH 3/6] panfrost/midgard: Lower texture projectors

2019-06-11 Thread Alyssa Rosenzweig
We do have native support for perspective division on the load/store unit, but this is for the future, something ideally we would select generally, not just for textures. Meanwhile, flipping on projector lowering works now. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost

[Mesa-dev] [PATCH 0/6] panfrost/midgard: More texturing functions

2019-06-11 Thread Alyssa Rosenzweig
ected tests. Alyssa Rosenzweig (6): panfrost/midgard: Implement txb op panfrost/midgard: Implement txl panfrost/midgard: Lower texture projectors panfrost/midgard: Set minimal swizzle on texture input panfrost/midgard: Assert on unknown texture source panfrost/midgard: Differentiate v

[Mesa-dev] [PATCH 5/6] panfrost/midgard: Assert on unknown texture source

2019-06-11 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index

[Mesa-dev] [PATCH 6/6] panfrost/midgard: Differentiate vertex/fragment texture tags

2019-06-11 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/helpers.h | 2 ++ src/gallium/drivers/panfrost/midgard/midgard_emit.c | 8 +--- src/gallium/drivers/panfrost/midgard/midgard_schedule.c | 9 - 3 files changed, 15 insertions(+), 4 deletions

[Mesa-dev] [PATCH 4/6] panfrost/midgard: Set minimal swizzle on texture input

2019-06-11 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index c328d2d69f9

[Mesa-dev] [PATCH 2/6] panfrost/midgard: Implement txl

2019-06-11 Thread Alyssa Rosenzweig
This follows the txb implementation, but requires an adjustment to how the cont/last flags are set. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 10 +- src/gallium/drivers/panfrost/midgard/midgard_emit.c| 9 ++--- 2 files changed

[Mesa-dev] [PATCH] panfrost: Replace pantrace with direct decoding

2019-06-11 Thread Alyssa Rosenzweig
onmental option "PANTRACE_BASE". Instead, for equivalent functionality set "PAN_MESA_DEBUG=trace" and redirect stdout to the file of your choosing. This should be debugging Panfrost much more pleasant. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/

Re: [Mesa-dev] [RFC] panfrost/midgard: Hack some bits to get things working on T720

2019-06-12 Thread Alyssa Rosenzweig
> Any ideas on why these two changes get kmscube working on T720? ...No, absolutely none. You're positive the known_unknown thing is needed? If that's so, I'm really concerned because I was under the impression those were magic structures we didn't need to deal with ourself. If that assumption is.

Re: [Mesa-dev] [RFC] panfrost/midgard: Hack some bits to get things working on T720

2019-06-12 Thread Alyssa Rosenzweig
> +uint32_t *known_unknown = ((void*)ctx->misc_0.cpu + 40960); > +*known_unknown = 0xa000; > + This is doubly scary, since misc_0 is marked INVISIBLE/GROWABLE. Rob has been coding under the assumption growable must never be accessed CPU-side. If this is strictly necessary (and

Re: [Mesa-dev] [PATCH 1/2] panfrost: ci: Update test expectations

2019-06-13 Thread Alyssa Rosenzweig
Both R-b, thank you! Wonder what's up with the RK3288 regressions ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] panfrost: Fix general purpose varying handling

2019-06-13 Thread Alyssa Rosenzweig
Reviewed-by: Alyssa Rosenzweig ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH 1/2] util: Add util_is_power_of_two_minus_one

2019-06-14 Thread Alyssa Rosenzweig
) (the latter function implemented similarly). Still, it's worth having a dedicated check for this; semantically, in the context of masks, this check is meaningful standalone, justifying an independent implementation from the existing util_is_power_of_two* utilites. Signed-off-by: Alyssa Rosen

[Mesa-dev] [PATCH 01/11] panfrost: Integrate kernel names for tiler FBD

2019-06-14 Thread Alyssa Rosenzweig
These names are from the replay workaround in kbase; they begin to shine some light on the meaning of these fields. In particular, we now understand why the "tiler_meta" field has the effect it does on performance in certain scenes (controlling tile granularity). Signed-off-by: Alyssa

[Mesa-dev] [PATCH 05/11] panfrost: Add pan_tiler.h header

2019-06-14 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_tiler.h | 44 1 file changed, 44 insertions(+) create mode 100644 src/gallium/drivers/panfrost/pan_tiler.h diff --git a/src/gallium/drivers/panfrost/pan_tiler.h b/src/gallium/drivers/panfrost

[Mesa-dev] [PATCH 04/11] panfrost: Document tile size heuristic

2019-06-14 Thread Alyssa Rosenzweig
I'm not sure how the blob does it, but this seems to be a dead simple test and roughly corresponds to what I've noticed from the blob, so maybe it's good enough. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_tiler.c | 65 1 f

[Mesa-dev] [PATCH 02/11] panfrost: Add notes about the tiler allocations

2019-06-14 Thread Alyssa Rosenzweig
This explains how the polygon list is allocated, updating the headers appropiately to sync the terminology. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_tiler.c | 86 1 file changed, 86 insertions(+) create mode 100644 src/gallium/drivers

<    4   5   6   7   8   9   10   >