ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
LexSfX has quit []
LexSfX has joined #dri-devel
pcercuei has quit [Quit: dodo]
ds` has quit [Quit: ...]
ds` has joined #dri-devel
adjtm is now known as Guest809
qyliss_ has joined #dri-devel
LaserEyess_ has joined #dri-devel
adjtm has joined #dri-devel
ppascher has quit [Ping timeout: 480 seconds]
haagch_ has joined #dri-devel
hakzsam_ has joined #dri-devel
V_ has joined #dri-devel
jcristau has quit [Read error: Connection reset by peer]
pH5_ has joined #dri-devel
mupuf_ has joined #dri-devel
jcristau has joined #dri-devel
haagch has quit [Read error: Connection reset by peer]
CounterPillow_ has joined #dri-devel
pH5 has quit [Read error: Connection reset by peer]
qyliss has quit [Ping timeout: 480 seconds]
LaserEyess has quit [Ping timeout: 480 seconds]
Guest809 has quit [Ping timeout: 480 seconds]
CounterPillow has quit [Ping timeout: 480 seconds]
hakzsam has quit [Ping timeout: 480 seconds]
mupuf has quit [Ping timeout: 480 seconds]
V has quit [Ping timeout: 480 seconds]
nirmoy has quit []
LaserEyess_ has quit []
LaserEyess has joined #dri-devel
co1umbarius has joined #dri-devel
columbarius has quit [Ping timeout: 480 seconds]
JohnnyonFlame has quit [Ping timeout: 480 seconds]
tursulin has quit [Remote host closed the connection]
opotin has quit []
BobBeck has quit [Quit: Ping timeout (120 seconds)]
pendingchaos has quit [Remote host closed the connection]
tomeu8 has quit []
opotin has joined #dri-devel
mriesch has quit [Remote host closed the connection]
tomeu8 has joined #dri-devel
BobBeck has joined #dri-devel
karolherbst has quit [Remote host closed the connection]
pendingchaos has joined #dri-devel
mriesch has joined #dri-devel
karolherbst has joined #dri-devel
tpalli has quit [Remote host closed the connection]
kts has quit [Quit: Konversation terminated!]
tpalli has joined #dri-devel
CME has quit []
CME has joined #dri-devel
dllud_ has quit []
dllud has joined #dri-devel
GyrosGeier has quit [Remote host closed the connection]
GyrosGeier has joined #dri-devel
danvet has quit [Ping timeout: 480 seconds]
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
Haaninjo has quit [Quit: Ex-Chat]
xyene_ has quit []
bbrezillon has quit [Read error: Connection reset by peer]
xyene has joined #dri-devel
BobBeck8 has joined #dri-devel
ds` has quit [Quit: ...]
mort_6 has joined #dri-devel
tomeu82 has joined #dri-devel
dos1 has joined #dri-devel
gpiccoli_ has joined #dri-devel
karolherbst_ has joined #dri-devel
Viciouss7 has joined #dri-devel
dottedmag_ has joined #dri-devel
alatiera8 has joined #dri-devel
alexeymin_ has joined #dri-devel
minecrell0 has joined #dri-devel
lplc has quit [Ping timeout: 480 seconds]
imre_ has joined #dri-devel
mriesch_ has joined #dri-devel
vals_ has joined #dri-devel
pjakobsson_ has joined #dri-devel
camus1 has joined #dri-devel
bbrezillon has joined #dri-devel
mstoeckl_ has joined #dri-devel
agx has joined #dri-devel
debian has joined #dri-devel
GyrosGei1r has joined #dri-devel
agx_ has quit [charon.oftc.net coulomb.oftc.net]
OftenTimeConsuming has quit [charon.oftc.net coulomb.oftc.net]
tpalli has quit [charon.oftc.net coulomb.oftc.net]
mriesch has quit [charon.oftc.net coulomb.oftc.net]
karolherbst has quit [charon.oftc.net coulomb.oftc.net]
BobBeck has quit [charon.oftc.net coulomb.oftc.net]
jcristau has quit [charon.oftc.net coulomb.oftc.net]
V_ has quit [charon.oftc.net coulomb.oftc.net]
tomeu8 has quit [charon.oftc.net coulomb.oftc.net]
mupuf_ has quit [charon.oftc.net coulomb.oftc.net]
Guest773 has quit [charon.oftc.net coulomb.oftc.net]
pjakobsson has quit [charon.oftc.net coulomb.oftc.net]
libv_ has quit [charon.oftc.net coulomb.oftc.net]
mripard has quit [charon.oftc.net coulomb.oftc.net]
CounterPillow_ has quit [charon.oftc.net coulomb.oftc.net]
CME has quit [charon.oftc.net coulomb.oftc.net]
GyrosGeier has quit [charon.oftc.net coulomb.oftc.net]
gpiccoli has quit [charon.oftc.net coulomb.oftc.net]
imre has quit [charon.oftc.net coulomb.oftc.net]
Viciouss has quit [charon.oftc.net coulomb.oftc.net]
alatiera has quit [charon.oftc.net coulomb.oftc.net]
minecrell has quit [charon.oftc.net coulomb.oftc.net]
tango_ has quit [charon.oftc.net coulomb.oftc.net]
Surkow|laptop has quit [charon.oftc.net coulomb.oftc.net]
marex has quit [charon.oftc.net coulomb.oftc.net]
dv_ has quit [charon.oftc.net coulomb.oftc.net]
kalli0815[m] has quit [charon.oftc.net coulomb.oftc.net]
alexeymin has quit [charon.oftc.net coulomb.oftc.net]
ced117 has quit [charon.oftc.net coulomb.oftc.net]
pepp has quit [charon.oftc.net coulomb.oftc.net]
pq has quit [charon.oftc.net coulomb.oftc.net]
Ristovski has quit [charon.oftc.net coulomb.oftc.net]
dos11 has quit [charon.oftc.net coulomb.oftc.net]
dafna2[m] has quit [charon.oftc.net coulomb.oftc.net]
yshui` has quit [charon.oftc.net coulomb.oftc.net]
Venemo has quit [charon.oftc.net coulomb.oftc.net]
undvasistas[m] has quit [charon.oftc.net coulomb.oftc.net]
jenatali has quit [charon.oftc.net coulomb.oftc.net]
Strit[m] has quit [charon.oftc.net coulomb.oftc.net]
tagr has quit [charon.oftc.net coulomb.oftc.net]
PiGLDN[m] has quit [charon.oftc.net coulomb.oftc.net]
ubitux has quit [charon.oftc.net coulomb.oftc.net]
pinchartl has quit [charon.oftc.net coulomb.oftc.net]
dottedmag has quit [charon.oftc.net coulomb.oftc.net]
iokill has quit [charon.oftc.net coulomb.oftc.net]
mstoeckl has quit [charon.oftc.net coulomb.oftc.net]
vup has quit [charon.oftc.net coulomb.oftc.net]
mauld has quit [charon.oftc.net coulomb.oftc.net]
zamundaaa has quit [charon.oftc.net coulomb.oftc.net]
Ziemas has quit [charon.oftc.net coulomb.oftc.net]
mort_ has quit [charon.oftc.net coulomb.oftc.net]
dottedmag_ is now known as dottedmag
pinchart1 has joined #dri-devel
ubitux has joined #dri-devel
debian is now known as Guest884
tagr has joined #dri-devel
camus has quit [Read error: Connection reset by peer]
vup has joined #dri-devel
marex has joined #dri-devel
pq has joined #dri-devel
ced117 has joined #dri-devel
tpalli has joined #dri-devel
xyene has quit [Quit: ZNC - https://znc.in]
xyene has joined #dri-devel
trn has joined #dri-devel
iokill has joined #dri-devel
mripard has joined #dri-devel
Ziemas has joined #dri-devel
dv_ has joined #dri-devel
mauld has joined #dri-devel
Ristovski has joined #dri-devel
zamundaaa has joined #dri-devel
jcristau has joined #dri-devel
mupuf_ has joined #dri-devel
CME has joined #dri-devel
ds- has joined #dri-devel
dreda has joined #dri-devel
undvasistas[m] has joined #dri-devel
Strit[m] has joined #dri-devel
yshui` has joined #dri-devel
dafna2[m] has joined #dri-devel
V_ has joined #dri-devel
PiGLDN[m] has joined #dri-devel
jenatali has joined #dri-devel
kalli0815[m] has joined #dri-devel
Venemo has joined #dri-devel
CounterPillow_ has joined #dri-devel
ds- is now known as ds`
Surkow|laptop has joined #dri-devel
dreda is now known as Guest890
<xyene> hi, I was looking at implementing `EGL_KHR_swap_buffers_with_damage` and `EGL_EXT_buffer_age` for llvmpipe, and have something "working" locally that's too hacky to upstream
<xyene> I'm hoping for some advice for how best to structure this... currently swrast handles `swapBuffers` through `dri2_dpy->core->swapBuffers` (e.g. https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/egl/drivers/dri2/platform_wayland.c#L2529) which goes through `drisw_swap_buffers` -> `drisw_copy_to_front` -> `drisw_present_texture` ->
<xyene> `drisw_put_image` -> `put_image` -> `dri2_wl_swrast_commit_backbuffer` (or the X11 version)
libv has joined #dri-devel
<xyene> is the right play here to actually plumb damage rects through all that, or would it be acceptable to stash them in the `struct dri2_egl_surface *`, or something else?
lplc has joined #dri-devel
<jekstrand> There shouldn't be anything LLVMpipe-specific about the extension.
OftenTimeConsuming has joined #dri-devel
<xyene> jekstrand: agreed, though we only have the damage rects at the time `dri2_wl_swrast_swap_buffers` is invoked from `eglSwapBuffersWithDamage`, which as (far as I can trace) delegates everything to llvmpipe (not sure if I'm using the right name here? this is all under `gallium/frontends/dri/`), which *eventually* calls back into our
<xyene> `dri2_wl_swrast_commit_backbuffer`, which is the place we have to communicate the damage to the compositor... so somehow the information somehow needs to make it through all the indirections
<xyene> in my hacked-up implementation I just stash the rects in global state in egl_dri2.c, but I'm sure this won't fly :)
<jekstrand> That's possible. LLVMpipe does have some of its own WSI magic.
<jekstrand> What platform are you on?
<jekstrand> x11? Wayland?
<xyene> jekstrand: Wayland at home, X11 at work, so ideally I'd get it working for both eventually
<xyene> would be starting with Wayland, though
<jenatali> Ugh... fix a bug, hang CI pipelines, that's fun...
camus has joined #dri-devel
boistordu_ex has joined #dri-devel
<jekstrand> xyene: Ok, so nothing strange like Windows.
camus1 has quit [Ping timeout: 480 seconds]
<jekstrand> xyene: It should eventually call dri2_wl_swap_buffers_with_damage somehow.
<jekstrand> Or dri2_wl_swap_buffers. The question is how to get it to call the later
boistordu has quit [Remote host closed the connection]
<jekstrand> *former
Company has quit [Quit: Leaving]
aravind has joined #dri-devel
<jekstrand> The only wl_surface_commit() I see in the code-base is in src/egl/drivers/dri2/platform_wayland.c and the Vulkan WSI code.
Peroverik has joined #dri-devel
<jekstrand> So it must end up in one of those two even for LLVMpipe
Peroverik has quit []
CounterPillow_ is now known as CounterPillow
Peroverik has joined #dri-devel
Peroverik has quit []
Peroverik has joined #dri-devel
Peroverik has quit []
agx has quit [Read error: Connection reset by peer]
agx has joined #dri-devel
Peroverik has joined #dri-devel
mclasen has quit [Ping timeout: 480 seconds]
Peroverik has quit []
ppascher has joined #dri-devel
<jekstrand> The phoronix forums are surprisingly on-point... I'm not sure if I'm happy about that or dissapointed.
Peroverik has joined #dri-devel
mclasen has joined #dri-devel
camus has quit [Remote host closed the connection]
camus1 has joined #dri-devel
Peroverik has quit []
Peroverik has joined #dri-devel
mclasen has quit [Ping timeout: 480 seconds]
Peroverik has quit []
Duke`` has joined #dri-devel
Hi-Angel has joined #dri-devel
camus has joined #dri-devel
camus1 has quit [Read error: Connection reset by peer]
mriesch_ has quit []
mriesch has joined #dri-devel
agx has quit [Remote host closed the connection]
agx has joined #dri-devel
cworth has joined #dri-devel
mupuf_ has quit []
mupuf has joined #dri-devel
itoral has joined #dri-devel
idr has quit [Ping timeout: 480 seconds]
Danct12 has quit [Remote host closed the connection]
Duke`` has quit [Ping timeout: 480 seconds]
Danct12 has joined #dri-devel
camus has quit [Read error: Connection reset by peer]
camus has joined #dri-devel
JohnnyonFlame has joined #dri-devel
ahajda has joined #dri-devel
Peroverik has joined #dri-devel
Peroverik has quit []
mvlad has joined #dri-devel
fxkamd has quit []
danvet has joined #dri-devel
MajorBiscuit has joined #dri-devel
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
mszyprow has joined #dri-devel
frieder has joined #dri-devel
frieder has quit []
frieder has joined #dri-devel
lemonzest has joined #dri-devel
rando25892 has joined #dri-devel
GyrosGei1r is now known as GyrosGeier
pnowack has joined #dri-devel
tursulin has joined #dri-devel
thellstrom has joined #dri-devel
heat has quit [Ping timeout: 480 seconds]
mszyprow has quit [Ping timeout: 480 seconds]
camus1 has joined #dri-devel
pcercuei has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
shankaru has quit [Remote host closed the connection]
guru_ has joined #dri-devel
oneforall2 has quit [Ping timeout: 480 seconds]
jernej has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
jernej has joined #dri-devel
pinchart1 has left #dri-devel [#dri-devel]
pinchartl has joined #dri-devel
rgallaispou has joined #dri-devel
rgallaispou has quit []
rgallaispou has joined #dri-devel
Guest884 has left #dri-devel [#dri-devel]
pepp has joined #dri-devel
<jani> anyone here that knows their way around drm writeback connectors? struct drm_writeback_connector embeds both 'struct drm_connector base' and 'struct drm_encoder encoder' and that kind of conflicts with the i915 model of extending drm_connector and drm_encoder by embedding them in intel_connector and intel_encoder, respectively
<jani> or is the drm_writeback_connector supposed to be an outlier anyway, and not part of the driver's usual handling of connectors and encoders?
<jani> pinchartl maybe? ^
<pinchartl> jani: I don't know much about i915, but on the writeback connector side, the encoder doesn't really control any hardware, it's a dummy drm_encoder that is only created because the KMS uAPI requires encoders (historical mistake, as far as I understand)
<pinchartl> on ARM systems we're actually slowly moving away from drm_encoder to drm_bridge. drm_encoder will need to be kept as it's exposed to userspace, but the kernel implementation in some drivers is already an empty shell
<pinchartl> anyway, back to writeback, I don't see a reason to wrap the connector and encoder in i915-specific structures
agx has quit [Read error: Connection reset by peer]
agx has joined #dri-devel
<jani> pinchartl: I think the danger is that basically *everywhere* in i915, if you get a struct drm_connector *, you can assume it's embedded in struct intel_connector
<pinchartl> sounds like something to fix in i195 :-)
<pinchartl> i915
<jani> well, kind of drm is built around the idea of being able to extend structures
<jani> indeed drm_writeback_connector does just that
mlankhorst has joined #dri-devel
<jani> it's just that now we're talking multiple inheritance :o
<jani> and given so few examples of drm_writeback_connector usage in kernel, I'm really not sure if it's drm_writeback_connector that's not a great model, or if it's i915 that should adapt to that
mvlad has quit [Remote host closed the connection]
rasterman has joined #dri-devel
tursulin has quit [Read error: Connection reset by peer]
tursulin has joined #dri-devel
hakzsam_ has quit []
hakzsam has joined #dri-devel
itoral has quit [Remote host closed the connection]
tursulin has quit [Quit: Konversation terminated!]
itoral has joined #dri-devel
mclasen has joined #dri-devel
tursulin has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
JohnnyonFlame has quit [Ping timeout: 480 seconds]
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
xlei_ has joined #dri-devel
xlei_ has quit []
xlei has quit [Ping timeout: 480 seconds]
camus has joined #dri-devel
xlei has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
Company has joined #dri-devel
jfalempe has joined #dri-devel
gpiccoli_ is now known as gpiccoli
BobBeck8 has quit []
BobBeck has joined #dri-devel
nchery has joined #dri-devel
adjtm has quit [Quit: Leaving]
sdutt has joined #dri-devel
tzimmermann has joined #dri-devel
camus1 has joined #dri-devel
iive has joined #dri-devel
libv_ has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
Viciouss7 has quit []
libv has quit [Ping timeout: 480 seconds]
Viciouss has joined #dri-devel
cworth has quit [Ping timeout: 480 seconds]
alatiera8 has quit []
alatiera has joined #dri-devel
cworth has joined #dri-devel
sneil_ has quit []
sneil has joined #dri-devel
<jfalempe> Hi tzimmermann, I've sent a small fix for mgag200 : https://lists.freedesktop.org/archives/dri-devel/2022-January/337271.html
<jfalempe> as you are the main contributor to this driver, what do you think ?
<tzimmermann> jfalempe, i remember, but didn't have time to reply.
<tzimmermann> does the change have sideeffects besides fixing the bug?
<jfalempe> Not on the hardware I tested. it will change the address for VGA interface from 0xA0000 to 0xB8000
<jfalempe> I'm not sure if on some hardware 0xA0000 is the right one.
<imirkin> jfalempe: a0000 is the address for graphics mode, b8000 is for text mode
<imirkin> (text mode = you feed ascii to the memory location, and it gets rasterized by internal logic to a hidden shadow fb)
<jfalempe> oh, that's really strange then.
<tzimmermann> imirkin, yes i was wondering if that has implications
<imirkin> most cards come up in text mode. this is how, e.g. DOS works
<tzimmermann> but i have to look at the patch again
<imirkin> (or pre-fancy-graphics BIOS)
<jfalempe> the problem is when you use kdump, the booted kernel will write to 0xb8000, which will hang the machine.
<imirkin> makes sense, since it assumes the board is in text mode i guess?
<jfalempe> Yes, it thinks it boots from bios.
fxkamd has joined #dri-devel
<imirkin> (and this is before any of the graphics stuff has been init'd)
<tzimmermann> jfalempe, from looking at the patch description, other devices should be affected
<tzimmermann> it's not an mgag200 thing
<imirkin> jfalempe: when you kdump, does it go through any of the unload motions on the "source" kernel?
<tzimmermann> could this rather be fixed by setting the vga range to 0xb8000 before writing 'decompressing linux'?
<tzimmermann> that would fix it for all devices
<jfalempe> the hangs occurs only on some particular mgag200 devices, other version are more permissive
<jfalempe> (only G200se rev42)
<tzimmermann> jfalempe, with kexec we loose the information about the graphics buffer
<jfalempe> also we use "echo c > /proc/sysrq-trigger" to trigger the kdump, so the kernel has no chance to unload drivers. (not 100% sure about that).
<tzimmermann> setting up the vga range for text mode if the device does graphics might introduce regressions elsewhere
nchery has quit [Ping timeout: 480 seconds]
<tzimmermann> but there's no other good solution
<tzimmermann> after kexec, does the kernel assume that vga runs in text mode?
<jfalempe> yes, it writes unconditionaly to 0xb8000
<jfalempe> also setting the address to 0xb8000 doesn't break the graphic, at least on this hardware.
<tzimmermann> jfalempe, well. i think we can merge the patch if it comes with a comment. it fixes a real bug and i don't have a good alternative. i'll add soem text when i merge it
<tzimmermann> does that work for you?
<jfalempe> yes, sure ;)
<jfalempe> if we want to be more prudent, we can do the change only for problematic hardware (G200_se with rev42)
<tzimmermann> jfalempe, no, i think its ok
<jfalempe> ok that's fine, thanks a lot.
<tzimmermann> mgag200 doesn't use the vga range. so it probably has no impact.
<jfalempe> ok
<tzimmermann> if i hear about regression, i'll get back to you
<tzimmermann> :)
<jfalempe> sure ;)
<javierm> tzimmermann, jfalempe: couldn't the is_kdump_kernel() check used instead maybe? https://elixir.bootlin.com/linux/latest/source/include/linux/crash_dump.h#L64
<javierm> because IIUC the problem is only with kdump, since kexec should shutdown cleanly ?
<jfalempe> I think the mgag200 doesn't change this register when unloaded.
<javierm> jfalempe: but then probably that something to fix (i.e: add a .shutdown callback that does this)
<javierm> I also wonder how the boot_params->screen_info is handled between kernels when kexec
<jfalempe> I think is_kdump_kernel() can be used to avoid writing to the VGA interface in kdump mode.
<javierm> because I wonder if the access isn't a consequence of screen_info.orig_video_mode == 7 not being true anymore when the second kernel is booted
<jfalempe> .orig_video_mode == 7 is for monochrome monitor
kts has joined #dri-devel
<tzimmermann> i'd prefer if linux would detect the vga configuration and not print anything if it's not text mode.
<javierm> jfalempe: ah, sorry I got it backwards. But my question remains, then adding a check for whatever video mode is text
<tzimmermann> what i mean is: 0xb8000 indicates text mode, but the rest of the hardware has been configured for graphics mode. that might be a problem
<jfalempe> is there a reliable way to know if the VGA interface is available ?
JohnnyonFlame has joined #dri-devel
<tzimmermann> jfalempe, by reading the vga registers
pendingchaos has quit [Read error: No route to host]
<javierm> tzimmermann: exactly. That's what I meant too, the real bug IMO is the kdump kernel trying to use text mode while in graphics mode
pendingchaos has joined #dri-devel
<jfalempe> javierm, the is_kdump_kernel() was my first try to fix this bug : https://gitlab.freedesktop.org/jocelyn/linux-stable/-/merge_requests/4/diffs
<jfalempe> I also consider adding a kernel parameter like this: https://gitlab.freedesktop.org/jocelyn/linux-stable/-/merge_requests/3/diffs
<tzimmermann> IMHO to really fix the problem, we'd have to modify screen_info when we set a new resolution, and keep the values over kexec/kdump
<tzimmermann> the new kernel would be able to read the last framebuffer setup and use it for output
<javierm> tzimmermann: yeah, that's why I asked how boot_params->screen_info was passed between kernels. But that's tricky because is a global var with no locking
<javierm> all the code assumes is read-only AFAIK
<tzimmermann> javierm, right. it's all read-only. and i don't know enough about kdump, but i know someone who might. i'll ask him
<tzimmermann> it's probably just another multi-year project ;)
<javierm> tzimmermann: yeah...
cworth has quit [Ping timeout: 480 seconds]
<jfalempe> and there is a field "__u8 orig_video_isVGA" which looks a perfect fit for that.
<javierm> tzimmermann: I also know someone who's familiar with kdump, he mantains it even :)
<javierm> jfalempe: that field is horribly misleading :(
<jfalempe> oh, :(
<tzimmermann> jfalempe, the screen_info structure store the video setup from the initial boot. it's used for early-boot graphics. after kdump/kexec it's probably outdated
<javierm> jfalempe, tzimmermann: we should ask dyoung about this probably. I'll Cc him in the thread
<tzimmermann> thanks
<tzimmermann> if we don't find a short-term solution, i'd still take the patch for now
nchery has joined #dri-devel
cworth has joined #dri-devel
ddevault has quit [Remote host closed the connection]
ifreund has quit [Remote host closed the connection]
ddevault has joined #dri-devel
ifreund has joined #dri-devel
minecrell0 has quit []
minecrell has joined #dri-devel
<javierm> tzimmermann: agreed. The worry is what side effect this could have since if I understand the patch correctly it changes the default mode set by the driver
guru_ has quit []
Namarrgon has quit [Quit: WeeChat 3.3]
oneforall2 has joined #dri-devel
<jfalempe> javierm, tzimmermann, I found t
<jfalempe> the thread where it has been discussed before https://lore.kernel.org/all/20190626081522.GX24419@MiWiFi-R3L-srv/T/#u
<javierm> jfalempe: ah, cool. I was typing an email with similar context, I'll delete then and read that thread
<tzimmermann> jfalempe, thanks
<jfalempe> the conclusion was to find a "driver fix" ;)
Namarrgon has joined #dri-devel
off^ has quit [Ping timeout: 480 seconds]
<javierm> jfalempe: so this is I would do 1) add a .shutdown callback to struct pci_driver mgag200_pci_driver that shutdowns the hardware cleanly
<javierm> 2) restrict your change only if (is_kdump_kernel())
<javierm> 3) I actually agree with Dave that it's not safe for the decompressor to assume anything about the video mode
<imirkin> javierm: kdump runs afoul of all these problems ... there's no real way to make it safe
<javierm> but fixing (3) as tzimmermann probably isn't trivial and may require a proper screen_info handoff between kernels
<jfalempe> also for some hardware, restoring VGA on .shutdown is very complex: https://lists.freedesktop.org/archives/dri-devel/2021-December/333990.html
<javierm> imirkin: fair, but still https://elixir.bootlin.com/linux/latest/source/arch/x86/boot/compressed/misc.c#L366 seems a fragile assumption to me
<imirkin> how so?
<imirkin> this is the definition of how the platform works
<imirkin> you're trying to run it on a non-properly-initialized platform
<imirkin> (platform = IBM PC, i guess, in this case)
Duke`` has joined #dri-devel
<javierm> imirkin: yeah, you are correct too. Probably for kexec/kdump only makes sense to use something like simple{fb,drm} and not a platform fbdev or drm driver
pcercuei has quit [Quit: brb]
off^ has joined #dri-devel
<imirkin> there are tons of "bugs" filed with more complex GPUs as well with kdump
<imirkin> there's just not a ton that can be done without a proper init
<javierm> does EGA and VBE also use a0000? I guess they do
<imirkin> VBE - yes. EGA, not 100% sure.
<imirkin> VGA definitely does
<imirkin> CGA/EGA is a bit before my time
<javierm> this seems to be nostalgia week :)
<imirkin> every week is nostalgia week for me ;)
<imirkin> i just got a text on my phone that 3G service is going to be discontinued...
pcercuei has joined #dri-devel
heat has joined #dri-devel
eukara has quit [Read error: Connection reset by peer]
aravind has quit [Ping timeout: 480 seconds]
pcercuei has quit [Quit: brb]
<tzimmermann> javierm, i think vbe is mapped
tzimmermann has quit [Quit: Leaving]
pcercuei has joined #dri-devel
ManMower has joined #dri-devel
eukara has joined #dri-devel
<zackr> javierm: i just noticed that since your d391c5827107 ("drivers/firmware: move x86 Generic System Framebuffers support") and the subsequent patches that enabled simplefb on arm64 vmwgfx stopped loading because it used to pci_request_region and *remove_conflicting_framebuffers while removing simplefb doesn't free sysfb resources. it seems that in general drm drivers do not call pci_request_region[s] do you happen to know if that's the
<zackr> wanted/expected behavior?
Peste_Bubonica has joined #dri-devel
MajorBiscuit has quit [Ping timeout: 480 seconds]
idr has joined #dri-devel
rgallaispou has quit [Read error: Connection reset by peer]
vals_ has quit []
tango_ has joined #dri-devel
rpigott has quit [Read error: Connection reset by peer]
rpigott has joined #dri-devel
frieder has quit [Remote host closed the connection]
gouchi has joined #dri-devel
<javierm> zackr: hi, sorry I was in a meeting. The resource that are requested but not freed is in drivers/firmware/sysfb*.c or drivers/video/fbdev/simplefb.c ?
ella-0_ has joined #dri-devel
Peste_Bubonica has quit [Ping timeout: 480 seconds]
<javierm> zackr: reading your patch https://www.spinics.net/lists/dri-devel/msg329387.html now
ella-0 has quit [Read error: Connection reset by peer]
camus has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
<daniels> anholt: another reason to rationalise pipelines - we had a LAVA blip earlier where every job was failing for a while. looking closer at it, we were sustaining 200Mbit/sec pull for 35min
<jenatali> daniels: I'm thinking we should split the Windows container job in 2: One that pulls non-test deps (like LLVM, VS, etc) and one that pulls piglit. I want to be able to pick up test fixes without having to wait 2 hours for an LLVM rebuild. Thoughts?
Peste_Bubonica has joined #dri-devel
<jenatali> Not looking forward to having to sit through that to be able to actually do the split in the first place though..
<daniels> jenatali: yeah strong agree - including with your follow-up …
ahajda has quit []
<jenatali> I'm honestly wondering if maybe we should split it even further: 1) VS install, 2) LLVM build/install, 3) everything else except piglit, 4) piglit
<jenatali> 1 and 2 will almost never happen, 3 we can deal with the little bit of extra pain for rebuilding all of these if we need to upgrade one, and piglit can be independent for test fixes
<jenatali> I dunno the implications of that though. Container storage? Network? Impact on the rest of the CI?
<daniels> the thing which surprises me the most is the sheer amount of time it takes to just resolve the running container back to an image - I have no idea if adding further layers would make that better or worse since Docker on Windows is somewhat of a mystery to me
<jenatali> Either way I'd want to wait 'til !14413 lands before even trying to start that kind of refactor
<jenatali> Yeah, I've seen that too, but only for the "build Mesa" job, it's always super fast for the original container building job and the test jobs
* jenatali only vaguely understands any of this
<daniels> yeah, it seems to be only the commit, where ... well I assume it just walks the entire fs and compares the lot?
<daniels> on Linux overlayfs2 helps you out quite a bit
lstrano has joined #dri-devel
ahajda has joined #dri-devel
ybogdano has joined #dri-devel
heat has quit [Read error: No route to host]
heat_ has joined #dri-devel
mvlad has joined #dri-devel
mlankhorst has quit [Ping timeout: 480 seconds]
camus1 has joined #dri-devel
<jenatali> Ugh I have a change that hangs piglit in CI but it runs to completion locally. I want to use piglit's --timeout feature to see which one it is, but it's broken on Windows (just drops the timed out test from the log). So I want to fix that, but then that requires this whole container song and dance
camus has quit [Ping timeout: 480 seconds]
<imirkin> jenatali: just make sure you still remember why you were originally doing all this by the time you get it all done...
<jenatali> Right?
<imirkin> instead of a stack, i have a circular buffer in my head, so it can drop off :)
flto_ has joined #dri-devel
camus has joined #dri-devel
ybogdano has quit [Remote host closed the connection]
camus1 has quit [Read error: Connection reset by peer]
ybogdano has joined #dri-devel
flto has quit [Ping timeout: 480 seconds]
flto_ has quit []
flto has joined #dri-devel
heat_ has quit [Ping timeout: 480 seconds]
<daniels> jenatali: hack the container locally, push to your own repo, fire jobs against that?
<jenatali> That requires learning how to use docker :P
imre_ has quit []
Guest635 has quit []
imre has joined #dri-devel
camus1 has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
jagan_ has joined #dri-devel
<daniels> create a personal access token through your GitLab user prefs with read_registry+write_registry; docker pull $foo; docker exec --name haxhaxhax -ti $foo powershell; [do whatever you need to inside the session]; docker commit haxhaxhax registry.freedesktop.org/jenatali/mesa/somecontainername:sometag; docker push registry.freedesktop.org/jenatali/mesa/somecontainername:sometag
<daniels> (where $foo is the current base container you want to mash)
<jenatali> Thanks, I might give that a shot
OftenTimeConsuming has quit [Ping timeout: 480 seconds]
lemonzest has quit [Quit: WeeChat 3.3]
OftenTimeConsuming has joined #dri-devel
gouchi has quit [Remote host closed the connection]
* karolherbst_ wished having more time to work on mesa :(
* imirkin wished having more time
<imirkin> or maybe everyone can take a 2 month vacation and i can catch up? :)
<karolherbst_> imirkin: sure 2 months are enough?
<imirkin> no, but it's a start
karolherbst_ is now known as karolherbst
<imirkin> i think it'd be unreasonable to ask for more :)
<daniels> in fairness the entire silicon industry did already take a 2-year holiday
<karolherbst> daniels: funny
<agd5f> daniels, more like packed 3 years of projects into 2
<daniels> agd5f: whatever it was, it let you land modifiers, so I'm not going to complain :)
<karolherbst> although I think I was successful in piling up random stuff on my todo list...
sadlerap3 has quit []
sadlerap has joined #dri-devel
<jenatali> Ugh wtf, why are these tests hanging and why can't I reproduce it...
Haaninjo has joined #dri-devel
<imirkin> if $user != jenatali: crash
jekstrand has quit [Quit: Re-arranging my desks]
<zf> is it documented anywhere how to use softpipe or llvmpipe as a driver for clover?
kts has quit [Quit: Konversation terminated!]
<zmike> GALLIUM_DRIVER=softpipe
<zmike> though probably only llvmpipe works
<zf> that alone doesn't seem to be enough, clinfo is only listing the hardware device
<FLHerne> Old phoronix article says it needs LP_DEBUG=cl
<FLHerne> but that might no longer be true
<FLHerne> ...or, indeed, have been completely wrong in the first place?
thellstrom has quit [Read error: Connection reset by peer]
thellstrom has joined #dri-devel
<zf> I saw that too, but it doesn't make a difference
mbrost has joined #dri-devel
ahajda has quit []
ybogdano has quit [Ping timeout: 480 seconds]
thellstrom1 has joined #dri-devel
thellstrom has quit [Ping timeout: 480 seconds]
jekstrand has joined #dri-devel
ngcortes has joined #dri-devel
gouchi has joined #dri-devel
curro has joined #dri-devel
<jenatali> Huh, it's out-of-memory...
mi6x3m has joined #dri-devel
mi6x3m has left #dri-devel [#dri-devel]
mi6x3m has joined #dri-devel
<mi6x3m> hey, need some help understand some basic stuff about mesa
<mi6x3m> I'm trying to compile a standalone GL.a containing GL, GLX and the respective driver I need (i915)
<imirkin> that's ... ambitious
<mi6x3m> am I correct that GLX usually loads the respective driver by driOpenDriver and then dlsym's a "driver_descriptor"
<anholt> tomeu82: heads up, iris-rebalancing looks like it may be triggering some max-varyings flakes.
<karolherbst> mi6x3m: not to question your goal here, but I think using vulkan probably achieves the same thing, just better
<anholt> or maybe you're just running new piglit jobs. regardless, seeing some new flakes there
<mi6x3m> karolherbst, not my choice here, it is to be used with wine =)
<karolherbst> (in case reducing CPU overhead ist your goal)
<karolherbst> mi6x3m: but... that aside, bundling a GL driver is probably not a good idea
<karolherbst> I am sure many users will hate you for doing it (and us as well, once we have users hitting bugs from inside bundled OpenGL implementations)
<karolherbst> so I think the bigger question here is: what's the end goal here
<karolherbst> and why would you even want to have a GL.a
<karolherbst> because it doesn't make a lot of sense
<ajax> mi6x3m: that's about right, yeah
<mi6x3m> well, you see, I have this crazy side project of compiling a self-contained 32 bit wine
<mi6x3m> which depends on nothing else but the .DLLs
<ajax> you'll definitely be patching mesa to do it, we very much assume we're dynamically linked
<anholt> that sounds like the kind of "causing myself problems on purpose" that we shouldn't really be debugging in this channel.
<mi6x3m> ajax, yeah, that's clear, so i'm probing to understand what will be involved
<karolherbst> anholt: yeah.. my thought exactly
<karolherbst> mi6x3m: we tell you to not do it :)
xlei has quit [Quit: ZNC 1.9.x-git-167-81df4dec - https://znc.in]
<karolherbst> I don't really see 32 bit going away soon anyway, given all the 32 bit games we have
<mi6x3m> i am not questioning MESA's architecture at all :) fan of the project for many years =) just probing around
<ajax> or, we'll tell you (i'll tell you) that it's pretty much just gluing iris_dri.so and libGL.so together at link time and undoing anything involving dlfcn.h
<mi6x3m> ajax, yeah, thats exactly what i'm after, however i have a hard time navigating how the _dri.so is loaded (yet)
<karolherbst> mi6x3m: I think my problem with that is mainly, that I don't see what problem it tries to solve. If it's just for the fun of it, then yeah, please go ahead and do it, but it shouldn't reach random users ever :D
mvlad has quit [Remote host closed the connection]
heat_ has joined #dri-devel
<ajax> mi6x3m: src/glx/dri_common.c iirc
<ajax> and/or src/loader/ if you're dri3? i think? sort of a mess.
<mi6x3m> karolherbst, i'd never cause such mental anguish on purpose
MajorBiscuit has joined #dri-devel
<karolherbst> mi6x3m: yeah.. that's totally fine then. I just always fear that sometimes some people have... weird reasons to do it.. like shipping software this way or something. so I mainly want to be sure that this won't be used for weird stuff
Peste_Bubonica has quit [Remote host closed the connection]
<mi6x3m> there is no business entity behind me, this is only me and I have to be retarded to ship an abomination to someone :]]
<mi6x3m> such as a 1GB .so file
<karolherbst> mi6x3m: I thought we have llvm.so for that :D
<mi6x3m> yeah, llvm is a huge reason for my goals
<mi6x3m> it's so sad that gallium 9 requires it
<imirkin> huh?
<mi6x3m> (that's what meson told me)
<imirkin> meson lies
<imirkin> what?
<imirkin> oh crap
<mi6x3m> ehhhh?
<imirkin> for the software rendering that d3d9 requires
<mi6x3m> are you kidding me
<imirkin> very sad
ybogdano has joined #dri-devel
<imirkin> technically llvmpipe is not needed
<imirkin> you just need swrast
<imirkin> (i would assume)
<anholt> softpipe to the "rescue"
<imirkin> if with_gallium_st_nine
<imirkin> if not with_gallium_softpipe
<imirkin> error('The nine state tracker requires gallium softpipe/llvmpipe.')
<imirkin> llmvpipe is not needed.
<imirkin> just need software rast of some sort
<mi6x3m> mhmm so i've been broadcasting fake news but why does d3d require software rendering_
<imirkin> that's a somewhat philosophical question
<mi6x3m> ajax, both DRI and Gallium drivers are loaded through driOpenDriver no?
<imirkin> mi6x3m: apparently ProcessVertices() needs it
<ajax> mi6x3m: at this point there's no distinction. "DRI driver" just means the driver interface and "gallium" means the core opengl logic and all remaining DRI drivers are gallium drivers
<imirkin> whatever thatis
<jenatali> mi6x3m: Software vertex processing. It requires the ability to run transform and lighting on the CPU
<imirkin> i guess technically it doesn't _have_ to be on the CPU
<mi6x3m> is swrast also loaded dynamically?
<zf> it doesn't really "require" software rendering, but it's documented as using it
<ajax> swrast is a driver like any other
<imirkin> but ... there's no real "other way" without a compute shader
<ajax> so, yes, loaded dynamically
<jenatali> Heh, I guess you could run the VS and then use stream out?
<imirkin> maybe nine should do that.
<zf> you can use transform feedback, yeah
<karolherbst> imirkin: compute shader would be a fun idea :D
<karolherbst> jenatali: I am sure there is some fun detail why that isn't possible
<jenatali> Probably
<jenatali> Windows D3D9 does it in software
<zf> we haven't implemented it yet, but as far as I'm aware it's possible
<mi6x3m> hmm, the docs say nothing about doing it in software
<mi6x3m> but that's beyond me, i'm just the static linkage guy
<karolherbst> mi6x3m: the problem was rather, that back at the time, hw probably couldn't
<imirkin> yeah, xfb is a DX10 feature
<imirkin> most importantly, XFB won't work
<imirkin> since XFB is pre-clip
<imirkin> but this wants clipping
Duke`` has quit [Ping timeout: 480 seconds]
<imirkin> this is the equivalent the select buffer in GL or something
<mi6x3m> karolherbst, yeah, sounds like something that wouldn't go very well with fixed/inaccessible pipeline
<imirkin> (hm, or not quite clipping? but something to do with clipping...)
<mi6x3m> quite likely 100% software
camus has joined #dri-devel
<mi6x3m> ajax, so if DRI is just the driver interface and gallium the common denominator, why is there a build time distinction (in meson for instance)
<imirkin> huh... in practice, it _is_ implemented with xfb
<imirkin> just with swrast?
camus1 has quit [Ping timeout: 480 seconds]
<imirkin> i'm sure there's _some_ reason beyond just some GPUs not having xfb
<ajax> mi6x3m: because we haven't cleaned that up yet, tbh
<ajax> dropping the non-gallium drivers was relatively recent and we're still working through simplifying the remainder to match
<mi6x3m> oh, good thing i finally showed up here than :) it was driving me insane
<mi6x3m> something just wasn't fitting, that clears it
<mi6x3m> so I "only" need to somehow glue to iris
MajorBiscuit has quit [Quit: WeeChat 3.3]
<mi6x3m> however there's another thing that i cannot wrap my head around and it's this: https://github.com/mesa3d/mesa/blob/main/src/glx/dri_common.c#L78
<mi6x3m> why is glx loading the GL.so if glx IS part of the GL.so?
<karolherbst> imirkin: probably some gallium thing only swrast implemented or something
<ajax> uggggh why are you making me remember this
cef is now known as Guest976
<jenatali> imirkin: Could be so that it uniformly supports drivers that have xfb and ones that don't?
<mi6x3m> sorry, I spent 2 days trying to piece it together :}}
cef has joined #dri-devel
<imirkin> jenatali: yeah, could be that it was necessary anyways, and since it has ~0 users, wasn't ever hooked up in hw
<ajax> mi6x3m: iirc the bug that's fixing is: some apps bind to libGL through a dlopen(RTLD_LOCAL), which is the only thing getting libglapi.so into the link map; and the driver needs libglapi symbols but doesn't itself link to glapi and expects the loader (libGL or libEGL) to provide it
<jenatali> There's more than 0 users, unfortunately :(
<imirkin> jenatali: well, more than 0, but less than 1? :)
<jenatali> I wish
<ajax> so even though libGL itself dlopens the driver, it can't dlopen it into the same "local" scope as the app loaded libGL into, because libdl isn't really that great
<jenatali> A few years back we deleted the hand-rolled assembly that was used to implement it and switched it to C code, which made it slower, and we heard about that perf difference. There's enough users of it that it made some noise
<ajax> hence libGL promotes itself to RTLD_GLOBAL
<imirkin> jenatali: sadness. i guess you have slightly wider reach than gallium-nine though?
<jenatali> Slightly :)
<ajax> mi6x3m: all of which ain't a problem for you! you can just #if 0 that away.
Guest976 has quit [Ping timeout: 480 seconds]
<anholt> jenatali: did you have hand-rolled 3dnow asm, though?
<imirkin> only 3dlater asm...
<jenatali> anholt: No, I think just x86
<mi6x3m> ajax, oh my goodness, I see the road of development was quite a rough one
<ajax> (this is all stupid and broken and i'm pretty sure we could fix it better by now)
danvet has quit [Ping timeout: 480 seconds]
gouchi has quit [Remote host closed the connection]
<mi6x3m> probably but i understand better no, thank you a lot :)
<ajax> 'git blame' on those lines would probably find a commit message with the real details
<mi6x3m> ah, good idea, I tried going through the commits yesterday to see how the file was put together
<mi6x3m> but git blame is a faster way
boistordu_ex has quit [Ping timeout: 480 seconds]
<mi6x3m> thanks everyone for being patient and friendly!
<ajax> np, good luck with your craziness
Haaninjo has quit [Quit: Ex-Chat]
gawin has joined #dri-devel
Anorelsan has joined #dri-devel
<mi6x3m> ajax, thanks, do you happen to know what GALLIUM_STATIC_TARGETS is doing?
<ajax> nope
boistordu has joined #dri-devel
<airlied> that puts all the gallium drivers into the same library
<airlied> there is also an option to dynamically load gallium "pipe" drivers, but GL doesn't use it
<airlied> zf: LP_CL=1
* airlied realiess I've been unregistered
<airlied> jenatali: so you going to be moving to fine tuning World of Warcraft now? zmike can probably do better rumours
<zf> that's still not enough :-/
<airlied> zf: yeah you need to make sure ti's built with all the right things
<zf> I'm guessing I need some equivalent of LIBGL_ALWAYS_SOFTWARE=1, but I don't know what that would be
<airlied> no you don't need that
<jenatali> airlied: Yep, obviously
<airlied> it's mostly about making sure spirv-llvm-translator and libclc are built correctly
<mi6x3m> airlied, in the same _dri library?
<jenatali> I mean I was the one who helped put it on Win7 in the first place :P
<jenatali> Er, with D3D12 support
<airlied> mi6x3m: the driver so contains multiple drivers
<airlied> so say iris_dri.so
<zf> airlied, I don't see why spirv would be relevant?
<jenatali> The CL compiler stack always goes through SPIR-V
<airlied> zf: just because you don't see it, doesn't change that it is :-)
<zf> oh, good to know
<airlied> but yes we always use spir-v internally
pcercuei has quit [Quit: dodo]
<zf> anyway, it is a distribution package, so maybe it's missing something
<zf> but pipe_swrast.so exists at least
<airlied> likely libclc is missing something
<zf> and the radeonsi opencl driver seems to work fine
<airlied> probably missing spirv-mesa3d-.spv
jewins has joined #dri-devel
<gawin> question to people with domain: do you (self) host mail server? creating new username for each web account seems nice, but process looks tiring
mi6x3m has quit [Quit: Leaving]
<jekstrand> gawin: Google apps for me
<Kayden> no, I stopped doing that years ago. these days I'm using rackspace's email...fastmail also seems solid. or gmail, obviously.
<jekstrand> It's $5/month and you get the GMail web UI if that's a thing you like.
<Kayden> at the time I switched, I was getting a ton of spam, and realized that techniques like spamassassin analyzing the contents of your email weren't being terribly effective these days. the larger providers anti-spam systems were based on simultaneous connections and delivery of similar looking emails to thousands of accounts on their mail server
<Kayden> and you unfortunately had to be a massive mail host like gmail / fastmail / whatever in order to do that kind of stuff. me with my own mail server wasn't going to be able to.
<emersion> graylisting helps
<dcbaker> I use fastmail, it does what I want
ybogdano has quit [Ping timeout: 480 seconds]
nchery has quit [Quit: Leaving]
Hi-Angel has quit [Ping timeout: 480 seconds]
mszyprow has joined #dri-devel
mszyprow has quit [Ping timeout: 480 seconds]
ybogdano has joined #dri-devel
Anorelsan has quit [Quit: Leaving]
heat_ has quit [Remote host closed the connection]
sdutt has quit [Read error: Connection reset by peer]
join_subline has quit [Remote host closed the connection]
mbrost has quit [Remote host closed the connection]
<cworth> gawin: I'm still putting up with the limitations of self-hosting implied above, (but only because I'm not willing to give up the feature of all my data residing inside my home).
alyssa has joined #dri-devel
LexSfX has quit []
LexSfX has joined #dri-devel
<airlied> mareko: since I know you don't always see MRs, https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437 might benefit from your input