<airlied>
mareko: is there no way to know at gallium context create time if it's for video?
<airlied>
imirkin: you might know also
<imirkin>
not really. i think some flags have been added in recent times to indicate e.g. a compute-only context
i-garrison has joined #dri-devel
<imirkin>
so could add more if you need it
<imirkin>
but keep in mind that a "for video" context is expected to support things like blit and whatnot to display things
<airlied>
so likely I have to make zmike unhappy and add a second batch buffer
<airlied>
which is what I was doing, and he was unhappy :-P
<imirkin>
airlied: yeah, i only see a PIPE_CONTEXT_COMPUTE_ONLY
<imirkin>
which basically restricts the allowed list of callbacks
<imirkin>
but i dunno whether you could live with a video-only context. maybe with a different state tracker
<imirkin>
although iirc the radeonsi guys were preparing for some AMD GPU which didn't have a 3d engine, but did have compute + video decode
<imirkin>
so st/va might actually have a bunch of compute-only support
mattrope has quit [Remote host closed the connection]
<airlied>
imirkin: trying to get vaapi on top of vulkan with zink, so want to reuse the vaapi st
<imirkin>
oh dear
<imirkin>
anyways, you could look into the compute-only support
<imirkin>
iirc it's there in st/va
<imirkin>
zink would have to consume that flag and do cool things
<airlied>
I think I'm just going to the hack and one off batch for now outside of what zink does :-P
<mareko>
airlied: vaapi & omx have a limited feature set with compute-only contexts such as no fancy postprocessing, we implemented only as much as was needed by MI100/MI200
mclasen has quit [Ping timeout: 480 seconds]
<mareko>
*by=for
Company has quit [Quit: Leaving]
Duke`` has joined #dri-devel
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
<airlied>
oh man this is going to be a maze of twisty planes/modifiers
camus1 has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
utf8 has quit []
itoral has joined #dri-devel
tarceri has quit [Read error: Connection reset by peer]
tarceri has joined #dri-devel
itoral_ has joined #dri-devel
kmn has joined #dri-devel
pnowack has joined #dri-devel
itoral has quit [Ping timeout: 480 seconds]
Duke`` has quit [Ping timeout: 480 seconds]
camus has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
thellstrom has joined #dri-devel
jagan_ has joined #dri-devel
sdutt has quit [Ping timeout: 480 seconds]
mlankhorst has joined #dri-devel
lemonzest has joined #dri-devel
jkrzyszt has joined #dri-devel
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
camus1 has joined #dri-devel
gawin has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
rasterman has joined #dri-devel
danvet has joined #dri-devel
linearcannon has joined #dri-devel
tursulin has joined #dri-devel
<dj-death>
danylo: I'm curious if you thought about reused command buffers generated before perfetto/utrace is enabled in vulkan
<dj-death>
danylo: right now I'm working about it by enable utrace all the time, so I know that my command buffers have been instrumented
thellstrom has quit [Ping timeout: 480 seconds]
<dj-death>
danylo: but it would be a lot better if the app didn't write any data but the perfetto stuff
thellstrom has joined #dri-devel
<danylo>
dj-death: I didn't know anything but demos to use reusable command buffers, so I just dropped that case.
<danylo>
We could add another env var
<danylo>
Also, "but it would be a lot better if the app didn't write any data but the perfetto stuff" - could you elaborate?
luc_ has joined #dri-devel
luc_ has quit [Remote host closed the connection]
<dj-death>
danylo: I'm just not interested in a text output if I'm capturing with perfetto
<dj-death>
danylo: I guess a new env variable is the way to go
<danylo>
yes, that's why I'm suggesting another envvar
<dj-death>
thanks
seanpaul has quit [Ping timeout: 480 seconds]
dianders_ has joined #dri-devel
cengiz_io_ has joined #dri-devel
cwabbott has quit [Ping timeout: 480 seconds]
tchar has quit [Ping timeout: 480 seconds]
jonmason_ has quit [Ping timeout: 480 seconds]
rburton has quit [Ping timeout: 480 seconds]
robher_ has joined #dri-devel
robclark_ has joined #dri-devel
narmstrong has quit [Ping timeout: 480 seconds]
lileo__ has quit [Ping timeout: 480 seconds]
arnd_ has quit [Ping timeout: 480 seconds]
cengiz_io has quit [Ping timeout: 480 seconds]
austriancoder has quit [Ping timeout: 480 seconds]
krh has quit [Ping timeout: 480 seconds]
MTCoster__ has quit [Ping timeout: 480 seconds]
jessica_24 has quit [Ping timeout: 480 seconds]
hwentlan_ has quit [Ping timeout: 480 seconds]
SanchayanMaity has quit [Ping timeout: 480 seconds]
jessica_24_ has joined #dri-devel
rib__ has joined #dri-devel
abhinav___ has quit [Ping timeout: 480 seconds]
hfink has quit [Ping timeout: 480 seconds]
ezequielg has quit [Ping timeout: 480 seconds]
rg3igalia has quit [Ping timeout: 480 seconds]
steev has quit [Ping timeout: 480 seconds]
robher has quit [Ping timeout: 480 seconds]
robclark has quit [Ping timeout: 480 seconds]
daniels has quit [Ping timeout: 480 seconds]
dschuermann has quit [Ping timeout: 480 seconds]
jjardon__ has quit [Ping timeout: 480 seconds]
ogabbay has quit [Ping timeout: 480 seconds]
jstultz has quit [Ping timeout: 480 seconds]
rib_ has quit [Ping timeout: 480 seconds]
dianders has quit [Ping timeout: 480 seconds]
pcercuei has joined #dri-devel
markyacoub has quit [Ping timeout: 480 seconds]
CosmicPenguin has quit [Ping timeout: 480 seconds]
eric_engestrom has quit [Ping timeout: 480 seconds]
ogabbay has joined #dri-devel
tfiga has quit [Ping timeout: 480 seconds]
angular_mike_____ has quit [Ping timeout: 480 seconds]
daniels has joined #dri-devel
jonmason_ has joined #dri-devel
tchar has joined #dri-devel
seanpaul has joined #dri-devel
cwabbott has joined #dri-devel
rburton has joined #dri-devel
thellstrom1 has joined #dri-devel
CosmicPenguin has joined #dri-devel
angular_mike_____ has joined #dri-devel
narmstrong has joined #dri-devel
eric_engestrom has joined #dri-devel
steev has joined #dri-devel
arnd_ has joined #dri-devel
jjardon__ has joined #dri-devel
jstultz has joined #dri-devel
austriancoder has joined #dri-devel
markyacoub has joined #dri-devel
tfiga has joined #dri-devel
ezequielg has joined #dri-devel
MTCoster__ has joined #dri-devel
rg3igalia has joined #dri-devel
krh has joined #dri-devel
lileo__ has joined #dri-devel
hfink has joined #dri-devel
thellstrom has quit [Ping timeout: 480 seconds]
dschuermann has joined #dri-devel
hwentlan_ has joined #dri-devel
abhinav___ has joined #dri-devel
SanchayanMaity has joined #dri-devel
camus has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
mlankhorst has quit [Read error: No route to host]
mlankhorst has joined #dri-devel
rasterman has quit [Quit: Gettin' stinky!]
gawin has quit [Ping timeout: 480 seconds]
kevintang has joined #dri-devel
cengiz_io_ has quit []
tarceri has quit [Read error: Connection reset by peer]
tarceri has joined #dri-devel
cengiz_io has joined #dri-devel
thellstrom1 has quit [Ping timeout: 480 seconds]
jagan_ has quit [Remote host closed the connection]
vivijim has joined #dri-devel
thellstrom has joined #dri-devel
thellstrom1 has joined #dri-devel
thellstrom has quit [Ping timeout: 480 seconds]
gawin has joined #dri-devel
itoral_ has quit [Remote host closed the connection]
itoral_ has joined #dri-devel
tarceri has quit [Remote host closed the connection]
tarceri has joined #dri-devel
rasterman has joined #dri-devel
yoslin has quit [Quit: WeeChat 3.3]
X-Scale has joined #dri-devel
X-Scale` has quit [Ping timeout: 480 seconds]
flacks has quit [Quit: Quitter]
tarceri has quit [Remote host closed the connection]
tarceri has joined #dri-devel
flacks has joined #dri-devel
yoslin has joined #dri-devel
nchery has joined #dri-devel
yoslin has quit [Quit: WeeChat 3.3]
gawin has quit [Quit: Konversation terminated!]
yoslin has joined #dri-devel
kevintang has quit [Ping timeout: 480 seconds]
tarceri_ has joined #dri-devel
tarceri has quit [Remote host closed the connection]
itoral_ has quit []
khfeng has quit [Remote host closed the connection]
V has quit [Remote host closed the connection]
V has joined #dri-devel
mclasen has joined #dri-devel
camus1 has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
<dj-death>
danylo: have you run into issues with the UI where different elements overlap?
<danylo>
dj-death: Our draw calls do not overlap, so the overlapping I had was a bug for us (there were issue with timestamps correlation).
<dj-death>
interesting
<danylo>
oh, sorry, I'm a bit wrong
<dj-death>
I thought most GPUs were able to have different draws ongoing at the same time
<danylo>
dj-death: yes, yes. We just don't trace individual draw calls since in tiling mode it is too taxing for GPU
mclasen has quit [Ping timeout: 480 seconds]
<dj-death>
right
<dj-death>
it's a bit boring for me to just look at renderpasses :)
<dj-death>
at least you get more interesting stuff going on tilers
<danylo>
It would be great to see individual draw call perf, but the cost is too great to do this for all calls in a renderpass
Haaninjo has joined #dri-devel
tarceri_ has quit [Read error: Connection reset by peer]
tarceri_ has joined #dri-devel
fxkamd has joined #dri-devel
leandrohrb1 is now known as leandrohrb
mclasen has joined #dri-devel
<dj-death>
danylo: that's the CPU cost you're talking about?
camus has joined #dri-devel
aravind has quit [Read error: Connection reset by peer]
<danylo>
dj-death: "GPU cost" Writing timestamps is taxing, it's fast enough without tiling, but if each tile for each draw writes timestamps - thing slow down, and beside timestamp writing we also have to add the to the accumulator buffer after each tile
aravind has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
<danylo>
* to add timestamps deltas to the accumulator buffer after each tile
<danylo>
bnieuwenhuizen: as far as we no dedicated block for measuring draw call duration, proprietary driver also doesn't show per-drawcall time
<dj-death>
we still have to insert commands to snapshot the timestamp register
<dj-death>
but we have a command to do end of pipe snapshot
<dj-death>
so apart from an additional command in the cmd_buffer, it shouldn't have much more impact
mattrope has joined #dri-devel
<mareko>
airlied: video steal needs compute for copies and compute dispatches
<mareko>
at minimum
sdutt has joined #dri-devel
Company has joined #dri-devel
robclark_ has quit []
robclark_ has joined #dri-devel
robclark_ has quit []
robclark has joined #dri-devel
yoslin has quit [Quit: WeeChat 3.3]
yoslin has joined #dri-devel
<danylo>
dj-death: I'll review the changes to u_trace tomorrow
yoslin has quit [Quit: WeeChat 3.3]
<dj-death>
danylo: sure, no hurry, thanks
yoslin has joined #dri-devel
aravind has quit [Ping timeout: 480 seconds]
Duke`` has joined #dri-devel
camus1 has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
jessica_24_ is now known as jessica_24
tarceri_ has quit [Remote host closed the connection]
tarceri_ has joined #dri-devel
LexSfX has quit []
adjtm is now known as Guest6532
adjtm has joined #dri-devel
Guest6532 has quit [Ping timeout: 480 seconds]
LexSfX has joined #dri-devel
ybogdano has joined #dri-devel
drawat has quit [Ping timeout: 480 seconds]
Duke`` has quit [Ping timeout: 480 seconds]
gouchi has joined #dri-devel
ybogdano has quit [Ping timeout: 480 seconds]
Duke`` has joined #dri-devel
camus has joined #dri-devel
ybogdano has joined #dri-devel
camus1 has quit [Read error: Connection reset by peer]
ngcortes has joined #dri-devel
<jekstrand>
anholt_: Have you experimented at all with uninlining nir_builder_opcodes.h?
<jekstrand>
anholt_: I doubt it'd make a difference for the ALU ops but it probably would for intrinsics.
<jekstrand>
anholt_: The only question is if intrinsics are enough to actually matter.
<jekstrand>
All the intrinsic stuff is "hand-rolled" which is to say there's no intrinsic version of nir_build_alu(). We generate all the destination/source init etc. for each one.
<anholt_>
jekstrand: haven't. I'm uninlining nir.h right now.
<jekstrand>
anholt_: Watch out there.
camus1 has joined #dri-devel
<jekstrand>
anholt_: There's something we recently inlined that made a significant perf change somewhere. Sadly, I'm having trouble finding it at the moment.
camus has quit [Read error: Connection reset by peer]
<jekstrand>
Which isn't to say that it all needs to be inline. I'm sure there's some stuff we can drop
The_Company has joined #dri-devel
<anholt_>
inline nir_foreach_src/dst?
<jekstrand>
Yeah, it's probably those
Company has quit [Ping timeout: 480 seconds]
<airlied>
anyone know the rules around nv12 and dma-buf and vulkan export and egl import?
<airlied>
egl import seems to want two planes of info, but does vulkan export give you info for two planes for one image?
tarceri_ has quit [Read error: Connection reset by peer]
<airlied>
putting zink on top of vulkan is make the headache worse of course :-P
tarceri has joined #dri-devel
<airlied>
maybe I gotta fake the planes in zink a bit esp around exporting the underlying dma-buf fd
* airlied
will give that a try today
<robclark>
not sure about the vk side of things.. but for nv12+ubwc we defn want two planes
<robclark>
also, not uncommon for hw dec/enc to want certain alignment for each plane.. so an API that didn't explicitly pass separate per-plane fd+offset+pitch isn't that great of an idea
<imirkin>
the consumer needs to be flexible about how it receives the nv12 of course
<imirkin>
since diff encoders will want diff things
<imirkin>
some encoders take separate offsets, some have it fixed
<airlied>
yeah the hw isn't the problem as much as the APIs
<airlied>
the eglCreateImageKHR API expects one thing, but it seems Vulkan exports another thing, and seems like zink should probably bridge the gap here
<imirkin>
memcpy. that'll solve everything :)
* airlied
is just going to create fake pipe_resources in zink
<emersion>
vulkan export gives you one plane per VkMemory
<emersion>
you can pass the same VkMemory as two planes with a different offset
<airlied>
emersion: yeah so I think I have to create 2 fds from the VkMemory
<emersion>
export once, then dup, then you have two planes :)
<airlied>
HdkR, alyssa : my main motivation for zink video is there are no demo encode apps, I've a much better chance of writing a vaapi encode over vulkan than I have of writing an encode app
<HdkR>
Sounds reasonable to me
<imirkin>
so how are people implementing these api's? just implement & pray?
<imirkin>
or is there internal stuff that you're not using?
sdutt has quit []
sdutt has joined #dri-devel
<alyssa>
airlied: nod
Duke`` has quit [Ping timeout: 480 seconds]
tarceri has quit [Remote host closed the connection]
tarceri has joined #dri-devel
X-Scale` has joined #dri-devel
<airlied>
imirkin: currently only nvidia has implemented anything from what I can see
<airlied>
and its a provisional api so implement and pray
<imirkin>
fair enough
<airlied>
which really not like vaapi has a rigorous test suite
<imirkin>
no, but there are a variety of applications that use it
* airlied
assumes companies have internal test apps
<airlied>
imirkin: but there wasn't went it was first written
<imirkin>
yes ... "mpv" :)
<airlied>
the nvidia decoder is completely standalone
<airlied>
just no encoder yet
<imirkin>
when va-api was first implemented, it was an intel-only api
<airlied>
the nvidia decoder also contains propiertary stuff
<airlied>
the CTS plans are in progress, but I'd rather not wait to at least have the basics working
X-Scale has quit [Ping timeout: 480 seconds]
<imirkin>
sure. was just curious
vivijim has quit [Ping timeout: 480 seconds]
vivijim has joined #dri-devel
gouchi has quit [Remote host closed the connection]
<emersion>
bnieuwenhuizen: do you know if nir_convert_ycbcr_to_rgb gives srgb or unorm values?
pcercuei has quit [Quit: dodo]
<emersion>
hm seems like it's sRGB
danvet has quit [Ping timeout: 480 seconds]
adavy has joined #dri-devel
cedric has joined #dri-devel
cedric is now known as bluebugs
vivijim has quit [Ping timeout: 480 seconds]
camus has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
gawin has joined #dri-devel
<imirkin>
what is the correct nir intrinsic to store things into an array? or are derefs the only way to do it?
<imirkin>
(and what would the "to io" lowering do with those?)
<imirkin>
(this would be a compact array of outputs)