<tomeu>
shadeslayer[m]: I think that's the idea, but besides moving code from panfrost_context.c to panfrost_job.c, I think we need to move state as well
<tomeu>
so ctx->draw_count as well
<tomeu>
panfrost_invalidate_frame(ctx) could be moved to the job as well
<tomeu>
alyssa: is that what you had in mind?
<tomeu>
shadeslayer[m]: but of course, better make this refactoring gradually :)
<shadeslayer[m]>
tomeu: oh, so we need to move any state associated with jobs into panfrost_job and call those from panfrost_context?
<tomeu>
shadeslayer[m]: and access fields within panfrost_job only through functions, ideally
<tomeu>
shadeslayer[m]: but do it bit by bit, or you will end up with something so entangled you won't be able to pull it off :)
<shadeslayer[m]>
<tomeu "shadeslayer: but do it bit by bi"> Yeah, just trying to understand the big picture first :)
belgin has joined #panfrost
<shadeslayer[m]>
"/* Generates a set value job. It's unclear what exactly this does, why it's
<shadeslayer[m]>
* necessary, and when to call it. */"
<shadeslayer[m]>
yup
<tomeu>
hehe
jolan has quit [Quit: leaving]
<cwabbott>
:q
belgin has quit [Quit: Leaving]
<shadeslayer[m]>
panfrost_emit_for_draw .... q.q
<alyssa>
cwabbott: Yeah, in my WIP stuff I switched to using that. It doesn't solve the issue of "reciprocating the interpolated 1/w" being wrong compared to "interpolating w". Hence VS changes
<alyssa>
tomeu: You know me, broken CI is an opportunity to cause mischief :grin:
<alyssa>
I'll fix the regressions if you give me a list to go through
<alyssa>
tomeu: Pretty much (re jobs)
<alyssa>
shadeslayer[m]: emit_for_draw shouldn't be in panfrost_job
<alyssa>
panfrost_job.c is for bookkeeping
<alyssa>
emit_for_draw is actually programming the hw state
<shadeslayer[m]>
alyssa: oh yeah, I'm just crying after looking at the line count for that function
raster has quit [Remote host closed the connection]
<Lyude>
shadeslayer[m]: add a ; after panfrost_job_clear()
<Lyude>
the dec in pan_job.h
<shadeslayer[m]>
facepalm
<shadeslayer[m]>
Lyude: thanks
<Lyude>
shadeslayer[m]:np, thank clang - it ended up giving a far more helpful error message than gcc, which just barfed out enough unrelated errors to fill up my terminal's scrollback
stikonas_ has joined #panfrost
<shadeslayer[m]>
time to switch
<shadeslayer[m]>
ush
<Lyude>
heh, up to you, I usually just use gcc myself but my vim config uses llvm for code diagnostics/autocompletion
<HdkR>
YouCompleteMe is pretty good, using clang stuff as well :D
<Lyude>
oh hey another ycmd user!
<Lyude>
yeah I even use it with the linux kernel nowadays (which recently added a super useful script to generate a compile_commands.json from kbuild)
<HdkR>
Nie
<HdkR>
nice
<HdkR>
My only complaint with it is that it ends up being a bit slow with large files
<Lyude>
it might be, but since switching to neovim I haven't really had to deal with performance issues for a while now :p
<Lyude>
I remember it being slow before I made the switch though
<HdkR>
hm. Maybe I should give that a look
<Lyude>
also if it helps, there's also a nice gtk client for it that's available on fedora's copr as well https://github.com/daa84/neovim-gtk
<HdkR>
Nicer than QT but that doesn't help when I'm using ssh :P
<HdkR>
Whoa
<HdkR>
That's hecka quicker
<HdkR>
and my vimrc copied over almost perfectly
<Lyude>
yeah! neovim is ♥
<HdkR>
Hm, colour scheme seems to prefer the bright system colours rather than "regular" Will need to change that
<shadeslayer[m]>
I'm poking about how to set it up in vscode :)
<shadeslayer[m]>
tomeu: alyssa should vertex_jobs and tiler_jobs move out of pan_context too?
<alyssa>
Ummm
<alyssa>
shadeslayer[m]: Those should not even exist, now that jobs are linked on-demand
<alyssa>
You should just have a pointer in pan_job for the first job and the last job and everything else is done implciitly since the actual hardware is a linked list of mali_jobs (see next_job_64 field)
stikonas_ has quit [Quit: Konversation terminated!]
stikonas has joined #panfrost
TheKit has quit [Ping timeout: 258 seconds]
TheKit has joined #panfrost
<alyssa>
Just fixed 400+ tests by deleting a few lines of code and nothing else. That's a good day.
<HdkR>
:D
stikonas has quit [Read error: Connection reset by peer]
<Lyude>
alyssa: oh neat! so it sounds like most of your focus is going to be on getting midgard to run gnome-shell if I'm understanding this correctly
<Lyude>
(also congrats!)
<alyssa>
Lyude: That's the medium term objective
<Lyude>
is there a short term one?
<alyssa>
The focus is on fixing dEQP tests and stuff, but from a mgmt perspective, the deliverable is (we hope) G-s running by the end of the summer
<Lyude>
Ahhhh
<alyssa>
Since... shiny
<alyssa>
Though tbh weston is pretty shiny
<Lyude>
yeah weston is nice
* alyssa
is using Weston+Panfrost+Rk3399 as her daily driver
<anarsoul>
why not sway?
<alyssa>
Eyecandy..
<bnieuwen2uizen>
so, are you actively mapping out the features needed for gnome shell?
<alyssa>
We will be a little longer down the line; the hope is that improving conformance will make that easier to work out
<HdkR>
<3 the mention
<bnieuwen2uizen>
my experience from bringing up a vulkan driver was that a typical app uses a bunch of things not properly tested by CTS.
<bnieuwen2uizen>
At some point fixing some CTS tests gives you an adrenaline kick but gets you no closer to running that app
<bnieuwen2uizen>
so mapping out features gives you direction in which parts of the CTS you really want to focus on, after which you end up doing some app debugging
<alyssa>
Good to note, thank you!
<bnieuwen2uizen>
(of course, feel free to ignore this. It is all anecdotal and I haven't had the time to bring up another driver and see to which extent this advice helps :P)
stikonas_ has joined #panfrost
stikonas has quit [Ping timeout: 246 seconds]
<bnieuwen2uizen>
btw is the kernel stuff in scope or are you still doing this on top of the proprietary kernel driver?
<bnieuwen2uizen>
(or did you switch already and I missed that?)
<alyssa>
bnieuwen2uizen: What proprietary kernel driver? :)
<alyssa>
bnieuwen2uizen: We were merged in 5.2
<bnieuwen2uizen>
\o/
<alyssa>
I don't do any kernel myself, butyeah
<bnieuwen2uizen>
congrats :)
<alyssa>
tomeu: and robher get the credit <3
<shadeslayer[m]>
<alyssa "shadeslayer: Those should not ev"> awesome, guess it's time to clean up some code :)
<alyssa>
shadeslayer[m]: Have a blast :)
<shadeslayer[m]>
hah
<shadeslayer[m]>
currently having a blast being lost in Paris, but guess it's as good as time a any to fix this code