> 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,
> 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
Reviewed-by: Alyssa Rosenzweig
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
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
> 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
> 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
> 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
> 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
> 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
> 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
> 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
> 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
Thanks :)
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
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
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
> 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
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
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
, 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
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
> 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
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
> > @@ -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
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
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
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
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
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
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
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
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
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
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
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
> 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
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 |
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
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
> 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
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
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
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
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
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
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
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
> 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
> 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
> - 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
> 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
> 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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
> *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
> 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
> 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
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
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
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
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
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
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
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
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
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
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
> 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
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
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
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
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
-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
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
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
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
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
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
v2: panfrost: Remove some scanout special cases
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
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
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
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
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
> 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.
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
> /* 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
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
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 - 100 of 991 matches
Mail list logo