ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
elongbug has quit [Remote host closed the connection]
Haaninjo has quit [Quit: Ex-Chat]
freemint has quit [Remote host closed the connection]
freemint has joined #dri-devel
pcercuei has quit [Quit: dodo]
<airlied> Lynne: I expect I'm not feeding the sps/pps to the hw correctly
<airlied> the vaapi driver doesn't send all the fields or tell me where to put them
<airlied> Lynne: fixed some pps fields up
freemint has quit [Remote host closed the connection]
freemint has joined #dri-devel
<Lynne> yup, they're getting set fine in the sps field
<airlied> Lynne: I think the sps differencs might be around profile or level stuff? if that makes any sense
* airlied might need to dig out the spec
<airlied> main vs high?
<Lynne> the profile in the encoder's sps matches my own
<Lynne> (use the trace_headers line I posted, first sps is the one ffmpeg writes)
<airlied> Lynne: just wondering why the motion vectors over pic boundaries goes missing
<airlied> ah if bitstream_restriction_flag controls that
freemint has quit [Ping timeout: 480 seconds]
<Lynne> hmm, no, I'm not buying the offset being a random alien hardware offset
<Lynne> maybe, I don't know
<airlied> Lynne: okay fixed up the sps
OftenTimeConsuming has quit [Remote host closed the connection]
<airlied> now it dies for me in slice header
<airlied> Lynne: as I said d3d12 has no offset returned, so not sure where it came from
* airlied can spelunk in the video encode archive at khronos but not now :-P
freemint has joined #dri-devel
OftenTimeConsuming has joined #dri-devel
camus1 has joined #dri-devel
<airlied> Lynne: got something!
camus has quit [Ping timeout: 480 seconds]
<Lynne> it's working!
<airlied> I can see a frame with data in it, not sure it's correct, but looks close to what it should
<airlied> and no complaints from the parser
<Lynne> slice_qp_delta is wayy off, 26
<Lynne> is this the encoder's doing?
columbarius has joined #dri-devel
<airlied> that field I think the encoder does
<airlied> but not sure what directs it
<Lynne> ah, you probably haven't plumbed qp from VkVideoEncodeH264RateControlLayerInfoEXT
<airlied> no I haven't I hardcoded some values I found lying around vaapi
co1umbarius has quit [Ping timeout: 480 seconds]
<airlied> Lynne: will fixup the vcl frame info thing now
<Lynne> I belive radv_enc_rc_per_pic is where you set the qp
<airlied> Lynne: do you include the EmitPictureParameters yet?
<Lynne> nope, and I don't intend to either, we can write our own headers
<Lynne> changing the min qp does indeed improve the quality
<Lynne> so it's definitely working
* airlied assumes the ability to write headers would be for streaming the output from VRAM
<airlied> rather than having the CPU write it to VRAM
<Lynne> meh, we write first without even flushing and then let the encoder encode
<Lynne> it's 317 bytes uploaded asynchronously
<Lynne> *256, it's the alignment value
* airlied will fix the rate control first then
<Lynne> yeah, rate control, freeze when exiting and finding out how to ask the encoder nicely to not write SPS and PPS
<Lynne> the thing is that you can't directly output from vram right now
<Lynne> because of the offset -_-
<Lynne> the spec should definitely either get rid of the offset or make it equal to the buffer offset
<airlied> Lynne: oh I can just not output sps/pps that's easy
<airlied> the driver pretty much fills them out
<Lynne> good, I almost had a scare and thought the offset was designed to allow for users to delete sps/pps fields made by overeager encoders
Leopold_ has joined #dri-devel
jewins has quit [Ping timeout: 480 seconds]
<airlied> Lynne: okay rate control parsing is hacked in
<airlied> one annoying thing is I need the level idc earlier than I have the sps
<airlied> I wonder could we change the api to add level idc to the profile or would that be bad
<Lynne> in VkVideoEncodeH264ProfileInfoEXT?
<Lynne> structs can't be bumped because it would break the ABI, right?
<Lynne> there's a pNext field, a VkVideoEncodeH264LevelInfoEXT could be added
<Lynne> oh, it's encode, so it's still unstable
<Lynne> yeah, it can be changed
<Lynne> ...just as long as the profile requirement is dropped for frame creation
<Lynne> I'm not creating hundreds of profiles+levels+codec combinations just to allocate an image because I don't know what it's going to be consumed by
<Lynne> btw, I think you can just set the level to 6.2
<Lynne> we set all the cap flags in the pps ourselves, which are based on level
<Lynne> 6.2 is the maximum level and leaves the user to make sure the level isn't exceeded (bitrate and #refs, mainly)
<airlied> Lynne: uggh thought I could avoid sps/pps, but it appears to still emit them :(
<airlied> might be some other bit controlling that I don't know about
<Lynne> 2 choices, either we have to emit SPSs and PPSs with a different ID and hope the encoder respects the SPS/PPS ids we're giving, and let the encoder-inserted sps/pps fields be noops
<Lynne> or use the offset to trim them out
<airlied> well I can ask the AMD hw team eventually if I can avoid it
<Lynne> "You want to do WHAT?"
<Lynne> I think having detailed docs would go a long way in hooking all the hardware's got
<airlied> yeah I doubt they exist :-P
<Lynne> they must, in some locale-encoded .doc file with proprietary/confidential watermarks
<airlied> Lynne: I've added a workaround to my branch with a define to control it
<airlied> removing SPS_PPS_WORKAROUND goes to the default behaviour which seems to emit badly formed things
<Lynne> that just pipes the user-given IDs for the picture, right?
<Lynne> the encoder still emits the fields
<airlied> Lynne: it programs all the encoder fields manually
<airlied> rather than letting the encoder do it which is what seems to happen in the normal case
<airlied> I thought not manually programming them would make nothing happen, I was wron
<airlied> wrong
<Lynne> btw do you know why the freeze happens at the end of encoding?
<airlied> not sure what is happening there
<airlied> some fence not getting emitted or something?
<airlied> wierd seem like we emit a syncobj 7 and wait on it but it doesn't signal
OftenTimeConsuming has quit [Remote host closed the connection]
OftenTimeConsuming has joined #dri-devel
<airlied> Lynne: I suspect the hang will involve kernel debugging
<Lynne> ah, difficult
<Lynne> but hey, I know the linux kernel drm maintainer
<Lynne> are you going to be around tomorrow or do you go offline? I should be about done with my rewrite
<airlied> I'll be around but with kids to look after, so not as engaged
<airlied> Lynne: where do we go next? more frame types?
<Lynne> I thought about clean-ups and hooking more stuff up, but sure, why not, since we're encoding, we can make an easy scenario with only in-order P-frames and 1 ref
<Lynne> I'll copy the vaapi code to build RefPicList0
<Lynne> RefPicList1 is for B-frames, you can skip that
bmodem has joined #dri-devel
rmckeever has joined #dri-devel
cphealy has joined #dri-devel
cphealy_ has quit [Read error: No route to host]
ybogdano has quit [Ping timeout: 480 seconds]
anholt has joined #dri-devel
<airlied> Lynne: not sure it's useful, but I wired up the tuning mode
<airlied> and some basic encoder caps
bmodem1 has joined #dri-devel
lemonzest has joined #dri-devel
bmodem has quit [Ping timeout: 480 seconds]
* Lynne still typing
<airlied> oops something I did broke :-P
<airlied> Lynne: oh you don't wire up VkVideoEncodeH264RateControlInfoEXT?
<airlied> ah luckily it was some local changes mostly
<Lynne> nope, not intending to wire it up either, going to wire up my own RC system instead
Leopold__ has joined #dri-devel
* Lynne regrets doing all that automatic ref/object managment her vulkan utils code
<airlied> it's just how I find out how many temporal layers you want
<airlied> granted that info is also meant to match VkVideoEncodeRateControlInfoKHR->layerCount but the spec does seem to mention it
Leopold_ has quit [Ping timeout: 480 seconds]
kts has joined #dri-devel
<Lynne> just a single one, rate control temporal layers are meant for multi-stream encoding of different bitrates
<airlied> Lynne: it appears you reset the syncobj that we subsequently wait on
<airlied> so something submits it for signalling, then it gets reset later, then we wait on it
<Lynne> we wait and reset the fence in ff_vk_wait_on_exec_ctx() called just before querying the results
<airlied> so you do that, then you wait on that fence again
<airlied> but you've reset it in between
<airlied> gets me to a memory corruption crash :-P\
<Lynne> same
<Lynne> in vk_common_DestroyCommandPool for some reason
* airlied winds up valgrind
<airlied> https://paste.centos.org/view/fb710a9b valgrind agrees
<Lynne> it's a double free
kimbro has joined #dri-devel
Company has quit [Read error: Connection reset by peer]
<Lynne> fixed those, but still segfaults in DestroyCommandPool
<airlied> yeah still have the valgrind trace the same
<airlied> double free on an ffmpeg buffer
<Lynne> I got it
<airlied> nice
<Lynne> happily chugging along at 350fps for a 720p video :)
<Lynne> *480p
<Lynne> pushed
<Lynne> wow, even a decode->encode chain without downloading/uploading works
kimbro has quit []
<Lynne> the quality isn't half-bad for intra-only h264
xypron_ has joined #dri-devel
xypron has quit [Ping timeout: 480 seconds]
YuGiOhJCJ has joined #dri-devel
* airlied has some wierd artifcating on my silver surfer trailer
<airlied> and colors seem off
<Lynne> seems fine here
<airlied> Lynne: https://people.freedesktop.org/~airlied/scratch/TEST.nut.gz is the file I've been testing as a source
Akari has quit [Quit: segmentation fault (core dumped)]
freemint has quit [Ping timeout: 480 seconds]
<airlied> probably some width/height issue
<Lynne> got a timeout on the server, plus, at 600kbps, it'll take me a day to download 2 gigs
<airlied> Lynne: indeed, it should only be 6.5 megs though
<airlied> but I'm sure you've got enough test videos to see something similiar anyways
<Lynne> I tried 4k, 720p and 480p, nothing looked out of order
<Lynne> compared them side-by-side too
* airlied should get a better test video :-P
<Lynne> I've burned every frame of park_joy and tractor in my mind
<airlied> I think I'm pretty much done for today, I'll have some time tomorrow hopefully, but I think we've done pretty well!
paulk has quit [Ping timeout: 480 seconds]
<Lynne> it's only 8am, too early for me to give up
paulk has joined #dri-devel
<Lynne> I'll persevere for an hour to finish my threadsafe rewrite
<airlied> Lynne: you should throw it at nvidia again :-P
<airlied> I do wonder if they requires the pictureinfo struct or the rate control one
<Lynne> I've tried and tried again last night, didn't work
<Lynne> went as far as memory poisoning
<Lynne> segfaults at 0x0, unless I put the slice header struct in pNext, not its dedicated field
<Lynne> then it segfaults at 0x2
srslypascal is now known as Guest692
srslypascal has joined #dri-devel
<airlied> ouch, I hate closed source
<Lynne> my thoughts are: implement P-frames to one-up them, then they'll have to pay attention
<airlied> we shall see what tomorrow brings!
<Lynne> that, or an awkward talk with their boss "so how long did you spend working on your toy example and how long did it take for someone to beat it?"
<airlied> I just threw out a blogpost to see!
<Lynne> yup, it's decent
Guest692 has quit [Ping timeout: 480 seconds]
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
junaid has joined #dri-devel
heat has quit [Ping timeout: 480 seconds]
ngcortes has quit [Read error: Connection reset by peer]
JohnnyonF has joined #dri-devel
Johnny has joined #dri-devel
bgs has joined #dri-devel
Johnny_ has joined #dri-devel
Johnny_ has quit []
lplc has quit [Ping timeout: 480 seconds]
JohnnyonFlame has quit [Ping timeout: 480 seconds]
JohnnyonF has quit [Ping timeout: 480 seconds]
Johnny has quit [Ping timeout: 480 seconds]
<Lynne> exec system rewrite finished, just need to convert the decoder and encoder
lplc has joined #dri-devel
<kode54> anyone else have any luck getting intel-clc and RT working? games with RT just tend to hang on a black screen here
Duke`` has joined #dri-devel
kts has quit [Quit: Leaving]
freemint has joined #dri-devel
Duke`` has quit []
Duke`` has joined #dri-devel
rasterman has joined #dri-devel
ahajda has joined #dri-devel
jkrzyszt has joined #dri-devel
mvlad has joined #dri-devel
elongbug has joined #dri-devel
tobiasjakobi has joined #dri-devel
tobiasjakobi has quit []
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
freemint has quit [Ping timeout: 480 seconds]
gouchi has joined #dri-devel
freemint has joined #dri-devel
srslypascal has quit [Remote host closed the connection]
srslypascal has joined #dri-devel
<elongbug> airlied: do you have any plan for merging Linux 6.2 rc1 to drm-next this week?
<elongbug> There are patches that will be merged into drm-intel-gt-next, and they are dependent on Linux 6.2 rc1.
<elongbug> (I heard that in order to merge Linux 6.2 rc1 into drm-intel-gt-next, it must be merged into drm-next first.)
<elongbug> This is the patch series: https://patchwork.freedesktop.org/series/112279/
rmckeever has quit [Quit: Leaving]
pcercuei has joined #dri-devel
junaid has quit [Remote host closed the connection]
Akari has joined #dri-devel
freemin has joined #dri-devel
freemint has quit [Read error: Connection reset by peer]
freemin has quit []
freemin has joined #dri-devel
freemin has quit [Remote host closed the connection]
freemint has joined #dri-devel
junaid has joined #dri-devel
kts has joined #dri-devel
pendingchaos has quit [Read error: No route to host]
pendingchaos has joined #dri-devel
bmodem1 has quit [Ping timeout: 480 seconds]
bmodem has joined #dri-devel
gouchi has quit [Remote host closed the connection]
OftenTimeConsuming is now known as Guest706
OftenTimeConsuming has joined #dri-devel
Guest706 has quit [Remote host closed the connection]
bmodem has quit [Ping timeout: 480 seconds]
dliviu has quit [Quit: Going away]
Surkow|laptop has quit [Remote host closed the connection]
mvlad has quit [Remote host closed the connection]
kts has quit [Quit: Leaving]
mvlad has joined #dri-devel
Surkow|laptop has joined #dri-devel
heat has joined #dri-devel
junaid has quit [Ping timeout: 480 seconds]
jkrzyszt has quit [Remote host closed the connection]
jkrzyszt has joined #dri-devel
bmodem has joined #dri-devel
jewins has joined #dri-devel
gouchi has joined #dri-devel
gouchi has quit []
cheako has quit [Quit: Connection closed for inactivity]
bmodem1 has joined #dri-devel
bmodem has quit [Ping timeout: 480 seconds]
vyivel has quit [Remote host closed the connection]
vyivel has joined #dri-devel
junaid has joined #dri-devel
bmodem1 has quit [Ping timeout: 480 seconds]
sarnex has quit [Quit: Quit]
cheako has joined #dri-devel
Company has joined #dri-devel
sarnex has joined #dri-devel
lplc has quit [Ping timeout: 480 seconds]
kts has joined #dri-devel
ybogdano has joined #dri-devel
lplc has joined #dri-devel
bmodem has joined #dri-devel
bmodem has quit []
dliviu has joined #dri-devel
dliviu has quit []
mbrost has joined #dri-devel
dliviu has joined #dri-devel
jkrzyszt has quit [Remote host closed the connection]
pa has quit [Ping timeout: 480 seconds]
pa- has joined #dri-devel
fab has joined #dri-devel
jkrzyszt has joined #dri-devel
elongbug_ has joined #dri-devel
elongbug has quit [Read error: Connection reset by peer]
<DemiMarie> airlied: how long will it be before nobody uses nvidia proprietary drivers for non-CUDA?
<Lynne> got a watch?
<psykose> 20 years
<Lynne> yup, a watch won't be useful
<tleydxdy> not before nv go out of business
jkrzyszt has quit [Remote host closed the connection]
freemint has quit [Ping timeout: 480 seconds]
adavy has joined #dri-devel
kts has quit [Quit: Leaving]
junaid has quit [Remote host closed the connection]
jkrzyszt has joined #dri-devel
fab has quit [Ping timeout: 480 seconds]
fab has joined #dri-devel
fab has quit [Ping timeout: 480 seconds]
bgs has quit [Remote host closed the connection]
jkrzyszt has quit [Remote host closed the connection]
fab has joined #dri-devel
<airlied> elongbug_: next is rc1 now
Akari has quit [Quit: segmentation fault (core dumped)]
pa has joined #dri-devel
pa- has quit [Ping timeout: 480 seconds]
gouchi has joined #dri-devel
rmckeever has joined #dri-devel
dviola has joined #dri-devel
kimbro has joined #dri-devel
<Lynne> airlied: rewrite finished, tested, pushed
<Lynne> qp isn't properly forwarded to the GPU, I'm getting 0 (lossless) in the encoder sps
kimbro has quit []
JohnnyonFlame has joined #dri-devel
<airlied> Lynne: doesn't mean the gpu isn't getting it, just that I'm not writing it out in the header properly
<airlied> where in sps is that?
<Lynne> I believe it's slice_qp_delta in the slice header
cphealy has quit []
<jenatali> Could I convince anyone to review a Windows-specific piglit change? Or at least ack it? https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/753
<jenatali> I'd like to switch Mesa's CI to Waffle, but it requires this fix or else any tests that run with out -fbo will just hang
<airlied> Lynne: so that is hw supplied, so not sure what affects it
<airlied> any idea if we have to state CBR/VBR for that stuff to be used?
<airlied> Lynne: "These values are ignored when VkVideoEncodeRateControlInfoKHR::rateControlMode is VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR."
<airlied> so it seems likely you need to set rateControlMode to something
<Lynne> it's set to none, which requires that minqp+maxqp are both enabled and used
<Lynne> initialRcQp is the ignored value
<airlied> oh and are both the same value
<airlied> hmm we should be programming that into the hw then
ngcortes has joined #dri-devel
Haaninjo has joined #dri-devel
Lucretia has quit [Remote host closed the connection]
ngcortes has quit [Ping timeout: 480 seconds]
Lucretia has joined #dri-devel
mvlad has quit [Remote host closed the connection]
apinheiro has joined #dri-devel
<airlied> Lynne: pushed a fix to make qp values more like vaapi produces, let me know if it looks better
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
<Lynne> yup, that works
ngcortes has joined #dri-devel
mbrost has quit [Ping timeout: 480 seconds]
gouchi has quit [Remote host closed the connection]
apinheiro has quit [Quit: Leaving]
Duke`` has quit [Ping timeout: 480 seconds]
ngcortes has quit [Ping timeout: 480 seconds]
TMM has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM has joined #dri-devel
<Lynne> made some cleanups to my code
<Lynne> now what? p-frames+reflists?
<Lynne> airlied: nope, that didn't fix it
rasterman has quit [Quit: Gettin' stinky!]
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
fab has quit [Ping timeout: 480 seconds]
<airlied> Lynne: yeah p/refs
<Lynne> sounds like you want some code to write drivers for
jewins has quit [Ping timeout: 480 seconds]
jewins has joined #dri-devel
JohnnyonF has joined #dri-devel
mattst88 has joined #dri-devel
JohnnyonFlame has quit [Ping timeout: 480 seconds]
Haaninjo has quit [Quit: Ex-Chat]
<Lynne> phew, no need for modification lists with simple gops