Re: [Mesa-dev] [PATCH 1/2] pl111: Rename the pl111 driver to "kmsro".

2019-01-23 Thread Alyssa Rosenzweig
> I've started looking at the lima and panfrost drivers. The many > combinations of Mali GPUs and DC isn't going to scale. The lima and > panfrost trees can't even co-exist as both define a rockchip winsys > which load different GPU drivers. The same will be true for meson, > hisilicon, allwinner,

Re: [Mesa-dev] [PATCH 1/2] pl111: Rename the pl111 driver to "kmsro".

2019-01-24 Thread Alyssa Rosenzweig
> I don't think we have any cases of 2 different embedded GPUs in one > system (but SoC vendors have done crazier things) and the number of > GPUs is not a huge set. > > Also, if we require some config file to tell us what GPU, then we > still have to update that config file for each and every new

Re: [Mesa-dev] [PATCH 2/4] pipe-loader: Fallback to kmsro driver when no matching driver name found

2019-01-24 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 0/2] Initial Panfrost driver

2019-01-29 Thread Alyssa Rosenzweig
These patches **do not include the actual command stream driver**, accounting for several thousand lines of code, which as always can be found at https://gitlab.freedesktop.org/panfrost/mesa. As our kernel driver matures, this code will be submitted as well. Alyssa Rosenzweig (2): panfrost: In

Re: [Mesa-dev] [PATCH 0/2] Initial Panfrost driver

2019-01-31 Thread Alyssa Rosenzweig
> As you pointed out, the CS of the driver is not included, so I wonder > if we cannot add link to instructions in panfrost_create_screen() > Reading the current fprintf is fairly discouraging. We could probably add a link to downstream there, yes. Ideally, we could just get the cmdstream code mer

Re: [Mesa-dev] [PATCH 1/2] panfrost: Initial stub for Panfrost driver

2019-01-31 Thread Alyssa Rosenzweig
> There's u_pipe_screen_get_param_defaults() that you really want to be > using to avoid regressions when people add new pipe caps. You can get > rid of a lot of your switch statement that way, too. Oh, good to know. Is that newer? I'm pretty sure that whole block was copied from vc4 at some poin

Re: [Mesa-dev] [PATCH 1/2] panfrost: Initial stub for Panfrost driver

2019-01-31 Thread Alyssa Rosenzweig
> Doing merge commits for new drivers is not unheard of and preserves > history (if the history is something you want to preserve). The history downstream is a total mess (read: probably not bisectable), and a lot of it was committed sloppily knowing it would get squished. So thank you for offerin

Re: [Mesa-dev] [PATCH 1/2] panfrost: Initial stub for Panfrost driver

2019-02-03 Thread Alyssa Rosenzweig
> Small comment, you should plan on single build for all supported > generations.. I'm not entirely sure if this same header is eventually > planned to be #include'd from different C code w/ different defines > for gpu gen (afaict you just currently hard-code it at the top of this > header).. But

Re: [Mesa-dev] [PATCH 2/2] panfrost: Implement Midgard shader toolchain

2019-02-03 Thread Alyssa Rosenzweig
> Looks like you leak the constants? You could pass ctx->ssa_constants > instead of NULL and the allocation would be automatically freed. Hm, alright. Is there documentation anywhere on how memctx works in general? > Instead of hardcoding 4096, use impl->ssa_index? Good catch, thank you. > Loo

Re: [Mesa-dev] [PATCH 1/2] panfrost: Initial stub for Panfrost driver

2019-02-03 Thread Alyssa Rosenzweig
> You should just land it and start doing in-tree development! I don't have push access, you know :P ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH 2/2] panfrost: Implement Midgard shader toolchain

2019-02-04 Thread Alyssa Rosenzweig
> Top of src/util/ralloc.h? Ah-ha, thank you! Suddenly mesa makes so much more sense :) > Counting uniforms/attributes is all a confusing mess. I can confirm > that what I do in v3d works, I just can't explain how without going and > re-studying it. Alright, I'll look there, thank you :) > Bas

Re: [Mesa-dev] [PATCH 1/2] panfrost: Initial stub for Panfrost driver

2019-02-04 Thread Alyssa Rosenzweig
> Actually, I just gave you (Alyssa) push access... Also, as you'll (as > far as I understand) basically be owning the panfrost bits in mesa, > you should be able to commit to them. Oh, thank you! :) > 1. Don't break the build Acked-by: Alyssa Rosenzweig > 2. No

Re: [Mesa-dev] [PATCH 1/2] panfrost: Initial stub for Panfrost driver

2019-02-04 Thread Alyssa Rosenzweig
Thanks :) ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] meson: Remove panfrost from default driver list

2019-02-04 Thread Alyssa Rosenzweig
Until the kernel side matures and the full driver is upstreamed, to avoid end-user surprises, Panfrost should only be built for the adventurous. Signed-off-by: Alyssa Rosenzweig --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index

[Mesa-dev] [PATCH] panfrost: Use u_pipe_screen_get_param_defaults

2019-02-04 Thread Alyssa Rosenzweig
Switching to the defaults function cleans up pan_screen.h markedly and futureproofs for when new PIPE_CAPs are added. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_screen.c | 157 +- 1 file changed, 6 insertions(+), 151 deletions(-) diff --git a/src

Re: [Mesa-dev] [PATCH] meson: Remove panfrost from default driver list

2019-02-04 Thread Alyssa Rosenzweig
> You could also add an environment variable that, when not set, will > cause it to abort on screen setup. Aborting on screen setup sounds like a surprise to me ;) ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mai

[Mesa-dev] [PATCH] kmsro: Move DRM entrypoints to shared block

2019-02-04 Thread Alyssa Rosenzweig
ction since this list may snowball in the future). Signed-off-by: Alyssa Rosenzweig --- src/gallium/targets/dri/target.c | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c index 17484c

[Mesa-dev] [PATCH 2/2] panfrost: Include glue for out-of-tree legacy code

2019-02-04 Thread Alyssa Rosenzweig
Panfrost to work on real hardware, today. Ideally, this patch will be reverted when the Panfrost kernel module is mature and we drop legacy support. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/.gitignore| 1 + src/gallium/drivers/panfrost/meson.build | 21

[Mesa-dev] [PATCH 0/2] panfrost: Command stream driver

2019-02-04 Thread Alyssa Rosenzweig
, Panfrost is functional on upstream Mesa. Alyssa Rosenzweig (2): panfrost: Check in sources for command stream panfrost: Include glue for out-of-tree legacy code src/gallium/drivers/panfrost/.gitignore |1 + src/gallium/drivers/panfrost/meson.build | 32 +- src/gallium/drivers

Re: [Mesa-dev] [PATCH 0/2] Initial Panfrost driver

2019-02-04 Thread Alyssa Rosenzweig
Hi Emil, > As you pointed out, the CS of the driver is not included, so I wonder > if we cannot add link to instructions in panfrost_create_screen() > Reading the current fprintf is fairly discouraging. The command stream portion is now included in a follow-up patch, although for downstream kerne

Re: [Mesa-dev] [PATCH] panfrost: Use u_pipe_screen_get_param_defaults

2019-02-05 Thread Alyssa Rosenzweig
> This hunk looks out of place in what is otherwise a refactor. Originally, that routine was copied from softpipe; I rather doubt it applies here, so this was part of the refactor/cleanup. It now should work the same as v3d. As an aside, I wonder if we might want that snippet to *become* the defa

[Mesa-dev] [PATCH v2] kmsro: Move DRM entrypoints to shared block

2019-02-05 Thread Alyssa Rosenzweig
ction since this list may snowball in the future). v2: Alphabetize driver list. Signed-off-by: Alyssa Rosenzweig --- src/gallium/targets/dri/target.c | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/gallium/targets/dri/target.c b/src/gallium/target

Re: [Mesa-dev] [PATCH 2/2] panfrost: Include glue for out-of-tree legacy code

2019-02-05 Thread Alyssa Rosenzweig
> > @@ -39,7 +39,7 @@ files_panfrost = files( > >'pan_blending.c', > >'pan_blend_shaders.c', > >'pan_wallpaper.c', > > - 'pan_pretty_print.c' > > + 'pan_pretty_print.c', > > ) > > > > inc_panfrost = [ > > This hunk seems unrelated... ..Oops, although looking at other drivers' me

[Mesa-dev] [PATCH] kmsro: Silence warning if missing

2019-02-06 Thread Alyssa Rosenzweig
stub function in this case, but it's not "an error" to not have kmsro in the build; the driver missing warning should not printed kmsro. Signed-off-by: Alyssa Rosenzweig Reported-by: Karol Herbst --- src/gallium/auxiliary/target-helpers/drm_helper.h | 1 - 1 file changed, 1 delet

[Mesa-dev] [PATCH] panfrost: Clean-up one-argument passing quirk

2019-02-06 Thread Alyssa Rosenzweig
one-argument-one-zero style. We then introduce a quirk for the flipped style, which applies to fmov/imov. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/helpers.h| 53 +++--- .../panfrost/midgard/midgard_compile.c| 173 -- 2 files changed, 112

[Mesa-dev] [PATCH] panfrost: Don't hardcode number of nir_ssa_defs

2019-02-06 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard/midgard_compile.c| 28 +-- 1 file changed, 14 insertions(+), 14 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] panfrost: Add kernel-agnostic resource management

2019-02-06 Thread Alyssa Rosenzweig
downstream. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_resource.c | 183 ++-- src/gallium/drivers/panfrost/pan_screen.h | 4 - 2 files changed, 172 insertions(+), 15 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium

[Mesa-dev] [PATCH 2/5] panfrost: Specify supported draw modes per-context

2019-02-08 Thread Alyssa Rosenzweig
Midgard has native support for QUADS and POLYGONS; Bifrost seemingly does not. Thus, Midgard generally skips prim_convert whereas Bifrost needs the pass; this patch allows the setting of allowed primitives to occur on a per-context basis (for runtime hardware selection). Signed-off-by: Alyssa

[Mesa-dev] [PATCH 1/5] panfrost: Remove if 0'd dead code

2019-02-08 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/cmdline.c| 11 -- src/gallium/drivers/panfrost/pan_assemble.c | 14 --- .../drivers/panfrost/pan_blend_shaders.c | 16 src/gallium/drivers/panfrost/pan_context.c| 5 --- src/gallium/drivers

[Mesa-dev] [PATCH 0/5] Cleanup dead code

2019-02-08 Thread Alyssa Rosenzweig
to do so. After these patches, all "#if 0" code is removed except for the wallpapering routine which will be another series in and of itself ;) Alyssa Rosenzweig (5): panfrost: Remove if 0'd dead code panfrost: Specify supported draw modes per-context panfrost: Overhaul viewpo

[Mesa-dev] [PATCH 4/5] panfrost: Remove speculative if 0'd format bit code

2019-02-08 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index 31c0029ac1a..2daa2a56b82 100644 --- a/src/gallium/drivers

[Mesa-dev] [PATCH 3/5] panfrost: Overhaul viewport code; fix scissor test

2019-02-08 Thread Alyssa Rosenzweig
The previous code for handling viewport changes and scissors was ad hoc and subject to edge cases. This patch unifies and streamlines these routines, improving code quality and partially fixing the scissor test. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c

[Mesa-dev] [PATCH 5/5] panfrost: Elucidate texture op scheduling comment

2019-02-08 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 9 + 1 file changed, 1 insertion(+), 8 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] panfrost: Resolve alignment issue on 32-bit

2019-02-10 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_blending.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_blending.c b/src/gallium/drivers/panfrost/pan_blending.c index 058fb6bda84..a19d048123b 100644 --- a/src

Re: [Mesa-dev] [PATCH 2/5] panfrost: Specify supported draw modes per-context

2019-02-10 Thread Alyssa Rosenzweig
> Might I recommend saying (PIPE_PRIM_POLYGON + 1) instead of > PIPE_PRIM_LINES_ADJACENCY? Otherwise it's a bit unclear why you're > talking about LINES_ADJ. Thanks, just pushed with this change. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org h

[Mesa-dev] [PATCH] panfrost: Backport driver to Mali T600/T700

2019-02-13 Thread Alyssa Rosenzweig
ems are 32-bit whereas our target T860 systems are 64-bit. More work is needed in this area. This patch fixes support in these areas for supporting older Midgard hardware. It is tested on Mali T760 and Mali T860. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/include/panfrost-job.h |

[Mesa-dev] [PATCH 2/2] panfrost: Implement PIPE_QUERY_OCCLUSION_COUNTER

2019-02-13 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index 73e7d4aaa8f..e51ca8f3982 100644 --- a/src

[Mesa-dev] [PATCH 1/2] panfrost: Identify MALI_OCCLUSION_PRECISE bit

2019-02-13 Thread Alyssa Rosenzweig
Setting this is required for desktop-style occlusion queries. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/include/panfrost-job.h | 10 ++ src/gallium/drivers/panfrost/pan_context.c | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src

Re: [Mesa-dev] [PATCH] panfrost: Resolve alignment issue on 32-bit

2019-02-13 Thread Alyssa Rosenzweig
> You've got a float *out that's unaligned? I would recommend a void > pointer if you're breaking the alignment rules. Fixed in the (much more comprehensive) "backport to T760" patchset, thank you :) -A ___ mesa-dev mailing list mesa-dev@lists.freedesk

[Mesa-dev] [PATCH] panfrost: Improve logging and patch memory leaks

2019-02-13 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 21 +- src/gallium/drivers/panfrost/pan_resource.c | 76 - 2 files changed, 48 insertions(+), 49 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers

[Mesa-dev] [PATCH 2/3] panfrost: Free imported BOs

2019-02-15 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_resource.c | 4 src/gallium/drivers/panfrost/pan_resource.h | 6 ++ src/gallium/drivers/panfrost/pan_screen.h | 2 ++ 3 files changed, 12 insertions(+) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b

[Mesa-dev] [PATCH 3/3] panfrost: Swap order of tiled texture (de)alloc

2019-02-15 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_resource.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index b13461013f5..4be371ba32e 100644 --- a

[Mesa-dev] [PATCH 1/3] panfrost: Fix various leaks unmapping resources

2019-02-15 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_resource.c | 22 - src/gallium/drivers/panfrost/pan_screen.h | 4 +++- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers

[Mesa-dev] [PATCH] panfrost: Fix build; depend on libdrm

2019-02-15 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/panfrost/meson.build b/src/gallium/drivers/panfrost/meson.build index 17fdb5e1e0d..8ea0b8d2025 100644 --- a/src/gallium/drivers/panfrost

[Mesa-dev] [PATCH 2/2] panfrost: Preserve w sign in perspective division

2019-02-15 Thread Alyssa Rosenzweig
This fixes issues where polygons that should be culled (due to negative w, for instance) may not be. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost

[Mesa-dev] [PATCH 0/2] panfrost: Fix (depth) clipping bugs

2019-02-15 Thread Alyssa Rosenzweig
This pair of patches cleans up and resolves bugs related to coordinate clipping, manifesting as severe environmental rendering glitches in various games. Alyssa Rosenzweig (2): panfrost: Cleanup mali_viewport (clipping) code panfrost: Preserve w sign in perspective division .../drivers

Re: [Mesa-dev] [PATCH 2/3] panfrost: Free imported BOs

2019-02-15 Thread Alyssa Rosenzweig
> Seems like a file is missing - git add pan_screen.c perhaps? Neither > the function pointer nor the imported/imported_size are set anywhere. This is defined in the out-of-tree overlay with working with the vendor kernel. When the DRM driver gains support for these features (Rob and Tomeu are mak

Re: [Mesa-dev] [PATCH] panfrost: Fix build; depend on libdrm

2019-02-15 Thread Alyssa Rosenzweig
> Feel free to reuse: > meson: panfrost: add missing libdrm dependency Hmm? ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] panfrost: Backport driver to Mali T600/T700

2019-02-15 Thread Alyssa Rosenzweig
> - about 1/5 of the patch seems to be white space changes ...Oops. Any tips for avoiding this type of diff churn in the future? I suppose it's not inherently harmful, but maybe it could make merging more difficult than strictly necessary. > - doesn't seem like BIFROST is defined anywhere Indeed

Re: [Mesa-dev] [PATCH 1/3] panfrost: Fix various leaks unmapping resources

2019-02-15 Thread Alyssa Rosenzweig
> Nit: staying consistent with "foo != NULL" vs "foo" checks helps a > lot. Which form is preferred? > free(NULL); is perfectly valid. Huh, TIL, thank you. > The function pointer seems to be NULL. Did you forget to git add the > file which sets it? See my comment in the other mail about the ov

Re: [Mesa-dev] [PATCH 3/3] panfrost: Swap order of tiled texture (de)alloc

2019-02-15 Thread Alyssa Rosenzweig
> Am I reading this correctly, that now we free a slab [for a tiled > texture] before allocating new one? The commit message seems rather > cryptic. Yeah, it's a super minor fix. Rather than allocating a new slab for the texture and then freeing the old slab, we free then allocate. Practically, it

[Mesa-dev] [PATCH] panfrost: Fix various leaks unmapping resources

2019-02-15 Thread Alyssa Rosenzweig
v2: Don't check for NULL before free() Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_resource.c | 19 +++ src/gallium/drivers/panfrost/pan_screen.h | 4 +++- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/pan

[Mesa-dev] [PATCH] panfrost: Fix clipping region

2019-02-15 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 15 +++ 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index 97df92258da..a4d0719fdc5 100644

[Mesa-dev] [PATCH 1/2] panfrost: Cleanup mali_viewport (clipping) code

2019-02-16 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/include/panfrost-job.h | 13 +++ src/gallium/drivers/panfrost/pan_context.c| 23 --- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/gallium/drivers/panfrost/include/panfrost-job.h b/src

[Mesa-dev] [PATCH 1/7] panfrost/midgard: Refactor tag lookahead code

2019-02-17 Thread Alyssa Rosenzweig
e parts of the compiler (one time with a slight bug relating to empty blocks); this patch refactors to unite the two routines and solve the bug when branching to empty blocks. Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard/midgard_compile.c| 58 ++- 1 file c

[Mesa-dev] [PATCH 0/7] panfrost: Improve branching in Midgard compiler

2019-02-17 Thread Alyssa Rosenzweig
nontrivial shader in a target app. Performance is wanting at the moment, but Midgard is believed to use small warp sizes, so this should be fixable in the future. Alyssa Rosenzweig (7): panfrost/midgard: Refactor tag lookahead code panfrost/midgard: Fix nested/chained if-else panfrost

[Mesa-dev] [PATCH 2/7] panfrost/midgard: Fix nested/chained if-else

2019-02-17 Thread Alyssa Rosenzweig
conditional branch, valid for a single if-else statement but nothing fancier. This patch correctly computes the unconditional branch target, fixing more complex if-else chains. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 6 +++--- 1 file changed, 3

[Mesa-dev] [PATCH 5/7] panfrost/midgard: Emit extended branches

2019-02-17 Thread Alyssa Rosenzweig
degen. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/helpers.h| 7 ++ .../panfrost/midgard/midgard_compile.c| 94 +++ 2 files changed, 84 insertions(+), 17 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/helpers.h b/src/ga

[Mesa-dev] [PATCH 7/7] panfrost: Verify and print brx condition in disasm

2019-02-17 Thread Alyssa Rosenzweig
ed as believed to be necessary (providing some assurance for compiler quality and an assert trip in case we encounter a shader in the wild that breaks the convention). Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/disassemble.c | 11 ++- 1 file changed,

[Mesa-dev] [PATCH 6/7] panfrost: Dynamically set discard branch targets

2019-02-17 Thread Alyssa Rosenzweig
le shaders but was incorrect for anything remotely interesting. This patch instead emits logical branches in the IR, which are flattened to real discard ops the same way other branches are, allowing targets to be computed correctly. Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard/midgard

[Mesa-dev] [PATCH 3/7] panfrost: Rectify doubleplusungood extended branch

2019-02-17 Thread Alyssa Rosenzweig
Midgard features "compact branches" and "extended branches", i.e. corresponds to short jumps and far jumps. The form of the extended branch was previously incorrect in the ISA headers; this patch corrects it. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfro

[Mesa-dev] [PATCH 4/7] panfrost: Update extended branch disassembly

2019-02-17 Thread Alyssa Rosenzweig
Partial support was previously included in the disassembler, but based on a buggy form of the ISA. This corrects the disassembly. Additionally, we now prefix extended branches with "brx", to visually differentiate from compact branches prefixed with "br". Signed-off-b

[Mesa-dev] [PATCH] panfrost: Stub out separate stencil functions

2019-02-17 Thread Alyssa Rosenzweig
This is not yet functional, but it resolves a crash in various apps and provides a framework for further work. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_resource.c | 27 ++--- src/gallium/drivers/panfrost/pan_resource.h | 2 ++ 2 files changed, 25

[Mesa-dev] [PATCH] panfrost: Add pandecode (command stream debugger)

2019-02-18 Thread Alyssa Rosenzweig
ed drivers. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/meson.build | 22 + .../drivers/panfrost/pan_pretty_print.c |4 +- .../drivers/panfrost/pan_pretty_print.h |2 +- .../drivers/panfrost/pandecode/cmdline.c | 189 ++ .../drivers/panfrost

[Mesa-dev] [PATCH] panfrost: Implement pantrace (command stream dump)

2019-02-19 Thread Alyssa Rosenzweig
the kernel layer in use. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/meson.build | 1 + src/gallium/drivers/panfrost/pan_screen.c | 7 ++ src/gallium/drivers/panfrost/pan_screen.h | 1 + src/gallium/drivers/panfrost/pan_trace.c | 146 ++ src

[Mesa-dev] [PATCH] panfrost: Use tiler fast path (performance boost)

2019-02-20 Thread Alyssa Rosenzweig
S 2.0 samples not involving FBOs, it appears performance is converging with (and sometimes surpassing) the blob. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 42 +++--- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/src/ga

Re: [Mesa-dev] [PATCH] panfrost: Use tiler fast path (performance boost)

2019-02-21 Thread Alyssa Rosenzweig
> *somewhere* the result of VS (or binning shader if VS is split in two) > needs to be saved for use during the per-tile rendering. Presumably > you have to give the hw a buffer of appropriate/matching size > somewhere, or with enough geometry (and too small a buffer) things > will overflow and go

Re: [Mesa-dev] [PATCH] panfrost: Use tiler fast path (performance boost)

2019-02-21 Thread Alyssa Rosenzweig
> Yes, there is a buffer for holding the results of the tiler. The way it > works is that the userspace driver allocates a very large buffer with a > "grow on page fault" bit, so the kernel will allocate more memory as the > tiler asks for it. To be clear, right now I have this magic misc_0 buffer

Re: [Mesa-dev] [PATCH] panfrost: Use tiler fast path (performance boost)

2019-02-21 Thread Alyssa Rosenzweig
> I don't know about Midgard, but on Bifrost it definitely uses GROW_ON_GPF, > telling the kernel to preallocate some small-ish initial set, presumably as > an optimization. I don't think you can accurately predict how much memory > you're going to need ahead of time, since it depends on how the tr

[Mesa-dev] [PATCH 2/4] panfrost/nondrm: Flag CPU-invisible regions

2019-02-22 Thread Alyssa Rosenzweig
Potentially, the kernel could optimize these allocations, or perhaps we can save on mapping costs. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 6 +++--- src/gallium/drivers/panfrost/pan_screen.h | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff

[Mesa-dev] [PATCH 0/4] panfrost: Improve non-DRM integration

2019-02-22 Thread Alyssa Rosenzweig
This contains a potpourrie of patches to improve the non-DRM glue layer. Ideally, we'll be able to remove this glue entirely in the near future, but for now, this at least removes some of the magic and should fix cross-compilation with the glue. Alyssa Rosenzweig (4): panfrost/meson: R

[Mesa-dev] [PATCH 1/4] panfrost/meson: Remove subdir for nondrm

2019-02-22 Thread Alyssa Rosenzweig
This change fixes cross builds with the (temporary) non-DRM overlay. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/meson.build | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/meson.build b/src/gallium/drivers/panfrost/meson.build index

[Mesa-dev] [PATCH 4/4] panfrost/nondrm: Split out dump_counters

2019-02-22 Thread Alyssa Rosenzweig
Previously, this function was implied a part of the job submit. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 2 ++ src/gallium/drivers/panfrost/pan_screen.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/gallium/drivers/panfrost/pan_context.c b

[Mesa-dev] [PATCH 3/4] panfrost/nondrm: Make COHERENT_LOCAL explicit

2019-02-22 Thread Alyssa Rosenzweig
This flag corresponds to what was MEM_COHERENT_LOCAL in the vendor driver, which seems to influence the cache policy, necessary for the varying temporary storage but nothing else. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 2 +- src/gallium/drivers

[Mesa-dev] [PATCH] panfrost/midgard: Add fround(_even), ftrunc, ffma

2019-02-23 Thread Alyssa Rosenzweig
only allows for 2 arguments); this quirk will be addressed in the future, but for now FMA is still lowered. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/helpers.h | 4 src/gallium/drivers/panfrost/midgard/midgard.h | 8 src/gallium/drivers

[Mesa-dev] [PATCH 1/3] panfrost: Add RGB555, RGB5A1 texture formats

2019-02-23 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/include/panfrost-job.h | 2 ++ src/gallium/drivers/panfrost/pan_pretty_print.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/panfrost/include/panfrost-job.h b/src/gallium/drivers/panfrost/include

[Mesa-dev] [PATCH 3/3] panfrost: Identify 4-bit channel texture formats

2019-02-23 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/include/panfrost-job.h | 3 +++ src/gallium/drivers/panfrost/pan_format.c | 2 ++ src/gallium/drivers/panfrost/pan_pretty_print.c | 1 + 3 files changed, 6 insertions(+) diff --git a/src/gallium/drivers/panfrost

[Mesa-dev] [PATCH 2/3] panfrost: Decore render target swizzle/channels

2019-02-23 Thread Alyssa Rosenzweig
decoding support for the AFBC and MSAA enable bits, which were already known but otherwise ignored in pandecode. Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/include/panfrost-job.h | 23 ++-- src/gallium/drivers/panfrost/pan_context.c| 26 +++-- .../drivers/panfrost/pandecode

[Mesa-dev] [PATCH 0/3] panfrost: Decode new formats

2019-02-23 Thread Alyssa Rosenzweig
From banging at ES3 FBOs, about 1/4 of the render target bits have now been identified; the headers/driver/pandecode have been updated accordingly. Some assorted new texture formats have been added in tandem, products of the render target work. Alyssa Rosenzweig (3): panfrost: Add RGB555

Re: [Mesa-dev] [PATCH 1/3] panfrost: Add RGB555, RGB5A1 texture formats

2019-02-24 Thread Alyssa Rosenzweig
> Just a thought -- RGB565, which is a fairly popular 16-bit color > variant, would fit nicely into the space here, and is probably also > one of the "special" formats. Oh, dear, this is embarassing -- I misread my notes. The format code in question is for RGB565, not RGB555. Thank you for pointi

[Mesa-dev] [PATCH 1/3] panfrost: Add RGB565, RGB5A1 texture formats

2019-02-24 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/include/panfrost-job.h | 2 ++ src/gallium/drivers/panfrost/pan_pretty_print.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/panfrost/include/panfrost-job.h b/src/gallium/drivers/panfrost/include

[Mesa-dev] [PATCH] panfrost: Expose perf counters in environment

2019-02-24 Thread Alyssa Rosenzweig
Previously, we were guarded by an #ifdef, which is generally a bad form. This patch instead guards them behind an environmental variable. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 9 +++-- src/gallium/drivers/panfrost/pan_screen.c | 13

[Mesa-dev] [PATCH] panfrost/midgard: Allow flt to run on most units

2019-02-24 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/helpers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/midgard/helpers.h b/src/gallium/drivers/panfrost/midgard/helpers.h index 12235f8f9ff..b597e516f20 100644 --- a/src

[Mesa-dev] [PATCH] panfrost: Remove some scanout special cases

2019-02-24 Thread Alyssa Rosenzweig
The scanout checks are fundamentally hacks; let's remove as many as we can. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/dr

[Mesa-dev] [PATCH 0/3] panfrost: Begin panfrost_job abstraction

2019-02-26 Thread Alyssa Rosenzweig
-depth refactors to follow. Alyssa Rosenzweig (3): panfrost: Import job data structures from v3d panfrost: Decouple Gallium clear from FBD clear panfrost: Cleanup cruft related to clears src/gallium/drivers/panfrost/meson.build | 1 + src/gallium/drivers/panfrost/pan_context.c | 169

[Mesa-dev] [PATCH 3/3] panfrost: Cleanup cruft related to clears

2019-02-26 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 25 +++--- src/gallium/drivers/panfrost/pan_context.h | 10 - 2 files changed, 3 insertions(+), 32 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium

[Mesa-dev] [PATCH 1/3] panfrost: Import job data structures from v3d

2019-02-26 Thread Alyssa Rosenzweig
At the moment, Panfrost state is ad hoc, which creates issues for FBOs. This commit imports the skeleton of the v3d_job structure as panfrost_job, in preparation for refactors to organize this state. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/meson.build | 1 + src

[Mesa-dev] [PATCH 2/3] panfrost: Decouple Gallium clear from FBD clear

2019-02-26 Thread Alyssa Rosenzweig
The operations of gallium->clear() and the hardware callbacks are fundamentally independent. This routine decouples them by routing shared information via panfrost_job, allowing the hardware half to be deferred to the fragment job generation. Signed-off-by: Alyssa Rosenzweig --- src/gall

[Mesa-dev] [PATCH] panfrost/midgard: Don't force constant on VLUT

2019-02-26 Thread Alyssa Rosenzweig
Previously, we forced a #0 inline constant tacked on for the lut instructions to mirror the blob's behaviour, which caused some suboptimal codegen due to our constant inlining implementation. Instead, just don't force a constant at all. Signed-off-by: Alyssa Rosenzweig --- src/galli

[Mesa-dev] [PATCH] panfrost: Flush with offscreen rendering

2019-02-26 Thread Alyssa Rosenzweig
This special-case was needlessly added and breaks purely offscreen rendering (when there is no scanout involved). Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost

Re: [Mesa-dev] [PATCH] panfrost: Remove some scanout special cases

2019-02-26 Thread Alyssa Rosenzweig
v2: panfrost: Remove some scanout special cases ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] panfrost: List primitive restart enable bit

2019-02-26 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/include/panfrost-job.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/drivers/panfrost/include/panfrost-job.h b/src/gallium/drivers/panfrost/include/panfrost-job.h index 1d738486617..d719325d07b 100644 --- a

[Mesa-dev] [PATCH 0/2] panfrost/midgard: Scheduler improvements

2019-02-26 Thread Alyssa Rosenzweig
We tweak the scheduler for slightly better instruction bundling. Alyssa Rosenzweig (2): panfrost/midgard: Promote smul to vmul panfrost/midgard: Preview for data hazards .../panfrost/midgard/midgard_compile.c| 27 --- 1 file changed, 17 insertions(+), 10 deletions

[Mesa-dev] [PATCH 1/2] panfrost/midgard: Promote smul to vmul

2019-02-26 Thread Alyssa Rosenzweig
smul comes first in the pipeline, before vmul. Until we have a full instruction scheduler, it's better to have vmul prioritized to maximize bundle size. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 2 +- 1 file changed, 1 insertion(+), 1 del

[Mesa-dev] [PATCH 2/2] panfrost/midgard: Preview for data hazards

2019-02-26 Thread Alyssa Rosenzweig
If a selected unit causes a data hazard, the whole block gets cut short. So, we preview for data hazards _while_ selecting units. Signed-off-by: Alyssa Rosenzweig --- .../panfrost/midgard/midgard_compile.c| 25 --- 1 file changed, 16 insertions(+), 9 deletions(-) diff

Re: [Mesa-dev] [PATCH] panfrost: List primitive restart enable bit

2019-02-27 Thread Alyssa Rosenzweig
> super nitpicking: What is the purpose of this change? Should this > define be added when it really gets used? I mean, we don't have explicit documentation on the cmdstream; if I don't add the define / enum / struct / whatever in, it will be forgotten to time.

Re: [Mesa-dev] [PATCH 1/8] panfrost: Add gem_handle to panfrost_memory and panfrost_bo

2019-03-04 Thread Alyssa Rosenzweig
Reviewed-by: Alyssa Rosenzweig signature.asc Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH 2/8] panfrost: Detect GPU version at runtime

2019-03-04 Thread Alyssa Rosenzweig
> /* If set, we'll require the use of single render-target framebuffer > * descriptors (SFBD), for older hardware -- specifically, +ctx->is_t6xx = pscreen->driver->query_gpu_version(pscreen) == 0x0750; Where did this magic number come from? Is that for T760 or actually T600 or somethin

Re: [Mesa-dev] [PATCH 3/8] panfrost: remove use of duplicate function panfrost_screen

2019-03-04 Thread Alyssa Rosenzweig
Reviewed-by: Alyssa Rosenzweig signature.asc Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH 5/8] panfrost: Store GEM handle of AFBC BOs

2019-03-04 Thread Alyssa Rosenzweig
Reveiewed-by: Alyssa Rosenzweig signature.asc Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

  1   2   3   4   5   6   7   8   9   10   >