01:18 zmike: tarceri: awesome thanks
01:46 tarceri: zmike: did the mr you made hide the issue in the trace?
01:46 zmike: tarceri: I think it still happens, just less immediately
01:47 zmike: so if you revert that MR it should happen right away
01:49 tarceri: ok thanks
07:35 dolphin: sima, airlied: no fixes picked up by dim, so no drm-intel-fixes PR this week
07:52 sima: aye
10:10 mlankhorst: tzimmermann: it seems you might have created a regression on ptl https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14874 ?
10:22 imre: mlankhorst, tzimmermann: maybe https://dpaste.com/6D3BH8RRG ?
10:24 imre: or rather https://dpaste.com/D2UGE2F3S
10:26 tzimmermann: mlankhorst, imre, i know. could you review https://lore.kernel.org/dri-devel/20250826145044.954396-1-tzimmermann@suse.de/ it's the patch resolving the problem
10:26 tzimmermann: ?
10:28 imre: tzimmermann: don't you want to keep the atomic change, using the old crtc/plane state seems to be the correct thing to me..
10:29 imre: haven't tested it, but I suppose the new plane state's CRTC is NULL, but the old plane state should have a non-NULL crtc
10:29 tzimmermann: imre. no. there's no crtc_state when disabling. the old format mightbe nonsense. but the format in sysfb is always correct
10:36 tzimmermann: i apparently didn't think of this case when i wrote the patch. (and i swear i also tested it.) the format in sysfb is the format in hardware. so it's always the correct one. the format in crtc might be 'adapted in a compatible way' to implement palette features.
10:42 mlankhorst: Reviewed-by: Maarten Lankhorst <maarten.lankhorst@intel.linux.com> -- can you add a fixes line too?
10:43 mlankhorst: erm bugzilla line to the issue
11:27 tzimmermann: mlankhorst, will do. thanks for the r-b
11:33 karolherbst: zmike: mhhh.. could we turn fence_server into actual gpu waits inside zink?
11:33 zmike: no
11:33 karolherbst: oof
11:34 karolherbst: that's.... kinda annoying tbh
11:34 karolherbst: what's the biggest problem there so it can't be done?
11:35 karolherbst: ehh wait.. it does a gpu wait bug on the queue submission thread.. nah, that's fine
11:35 zmike: well
11:35 zmike: let's go back
11:35 karolherbst: what's annoying is the CPU wait there
11:35 karolherbst: I have a nasty dead-lock
11:35 zmike: what cpu wait?
11:35 zmike: fence_server is not an api
11:35 karolherbst: `util_queue_fence_wait(&bs->flush_completed);` inside `zink_fence_server_signal`
11:36 zmike: ah
11:36 zmike: yes
11:36 zmike: that cannot change
11:36 karolherbst: yeah.. it's causing a dead-lock
11:36 karolherbst: but why would you have to wait for completion there?
11:36 zmike: I guess you could add a wait bool and set it to true from GL
11:36 zmike: the GL external objects spec requires that this call submits to the gpu before returning
11:36 zmike: I'd be surprised if the CL one isn't equivalent
11:36 karolherbst: sure
11:36 karolherbst: but that doesn't meaan you have to wait
11:37 zmike: it does though
11:37 zmike: because otherwise it isn't submitted to the gpu
11:37 karolherbst: mhhh
11:37 karolherbst: not sure if that's an issue
11:37 zmike: ...?
11:37 karolherbst: like you do submit, that's fine
11:37 karolherbst: but why do you need to wait until the flush completes?
11:38 zmike: I don't understand what you're asking
11:38 zmike: flush does not mean submit
11:38 karolherbst: just dropping the `util_queue_fence_wait` basically
11:38 zmike: yes
11:38 zmike: that I understand
11:38 zmike: and am telling you it is impossible
11:39 karolherbst: mhhh
11:39 zmike: you are conflating gallium pipe_context::flush with vkQueueSubmit
11:39 karolherbst: maybe I should explain the dead-lock and maybe you come up with a better solution
11:39 zmike: they are not the same
11:41 karolherbst: I see
12:01 karolherbst: ohh mhh.. maybe I can fix this issue on my side
12:05 karolherbst: yeah.. maybe I should try harder to make sure the fence_server_signal actually reaches the hardware/vulkan driver before I submit the fence_server_wait. I think the dead-lock is caused by a race between thoes two operations (on two different pipe_contexts) and things go south sometimes
12:05 zmike: signal is REQUIRED to reach hardware before it returns
12:05 zmike: if it doesn't then that's a driver bug
12:16 karolherbst: yeah.. but this happens on two different pipe_contexts and I currently I assume that they are independent enough
12:16 karolherbst: but I should probably make sure the queue submitting the signal actually finish it before I submit the wait
12:17 zmike: like I said, so long as the server_signal call returns, it has finished submitting
12:17 zmike: ...unless it's a driver bug
12:18 karolherbst: I think that depends on what we want gallium to expect from drivers
12:18 zmike: that is what gallium expects
12:18 karolherbst: I meant it differently
12:18 karolherbst: like context 1 does fence_signal, context 2 does fence_wait. frontend flushes 2 before 1, but flushes both
12:18 karolherbst: is that expected to work?
12:19 zmike: fence_signal does not need a flush
12:20 karolherbst: okay, but would it be valid to call fence_wait on context 2 before fence_signal on context 1?
12:20 zmike: no
12:20 karolherbst: so I need to ensure strict ordering here
12:20 zmike: yes
12:20 karolherbst: probably want to document it
12:21 karolherbst: there is documentation on having to flush, but should probably also require ordering there
12:21 karolherbst: anyway, that helps, guess I'll just do that then
12:22 zmike: maybe I forgot to document when doing external object updates
12:22 zmike: idk
12:23 karolherbst: it's not here at least: https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/gallium/context.rst
12:23 zmike: feel free to add a note
12:24 karolherbst: yeah will do
12:24 karolherbst: I should also document semaphore_create there
13:40 jani: airlied: sima: there's a small refactoring series to iopoll.h from vsyrjala https://lore.kernel.org/all/20250826121859.15497-1-ville.syrjala@linux.intel.com/
13:41 jani: airlied: sima: it's been sent before about a month ago, but iopoll.h is not in MAINTAINERS, and there were no replies from the usual suspects
13:41 jani: airlied: sima: are you cool with me just merging this via drm-intel-next? this appears to have been the SOP for previous changes to the file
13:43 mlankhorst: mripard: ping?
13:47 mripard: mlankhorst: pong
13:49 sima: jani, I guess there's more patches that will land through d-i-n?
13:49 sima: and yeah looks reasonable, a-b: me
13:53 jani: sima: yes. I wrote https://lore.kernel.org/r/cover.1751023767.git.jani.nikula@intel.com but vsyrjala disliked how the read_poll_timeout() looks, and he's not wrong. with the iopoll changes I can rebase that on the new stuff, and make it all around nicer. and reduce our dependency on custom wait hacks
13:54 jani: sima: and thanks for the ack
14:22 sima: jani, yay for your patchset :-)
16:56 Swung0x48: Hello everyone
16:58 Swung0x48: I’m attempting to integrate Kopper on Android, so that it (with Zink) will appear as an EGL+desktop GL userland driver for Android
16:59 Swung0x48: I guess I should hook up Mesa’s egl front end to Android Vulkan WSI?
17:02 zmike: Swung0x48: I had started this a bit with https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30766
17:03 zmike: you can probably start there
17:03 zmike: though I'd guess by now it needs some rebasing
19:51 karolherbst: zmike: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007/diffs?commit_id=e4c08135e02e697fdc8d136fef636d8b1b095218