00:05dcbaker: If it's a lot of patches yeah. If it's just one or two send me the shas
00:08dcbaker: You can open an mr too, that's always fine
00:15imirkin: dcbaker: probably in the 2-5 range
01:04dcbaker: imirkin: either way. It'll be tomorrow before I get to them at this point
07:00danvet: robclark, Reboot crash at msm_atomic_commit_tail <- looks like msm regression
09:05tzimmermann: danvet, airlied, mlankhorst, FYI i have pushed the pdev fix to -misc-next
09:18tpalli: I'd like to bump piglit commit, for other ci builds this works when I update MESA_IMAGE_TAG .. however I cannot figure out how to make it work for d3d12 ci build, I tried updating WINDOWS_TAG but that did not work
09:19tpalli: so this is for the mesa gitlab-ci
09:21mlankhorst: tzimmermann: is the drm_device->pdev fallout fixed now?
09:21tzimmermann: mlankhorst, yes
09:21mlankhorst: Ok, thanks!
09:24MrCooper: tpalli: ah, you need to bump the piglit commit in .gitlab-ci/windows/mesa_deps.ps1 as well
09:25tpalli: MrCooper ok, do I need to touch WINDOWS_TAG at all?
09:26MrCooper: sure, otherwise the image doesn't get rebuilt
09:26tpalli: ok thanks MrCooper
09:27MrCooper: np, though per my comment on your MR, it's kind of a bad time to update to newer piglit... I've been trying to get https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7988 for weeks
09:28tpalli: ok I see, I can wait with this
09:30mlankhorst: drivers/gpu/drm/amd/amdgpu/amdgpu_display.c: In function ‘amdgpu_display_user_framebuffer_create’:
09:30mlankhorst: drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:929:24: warning: unused variable ‘adev’ [-Wunused-variable]
09:30mlankhorst: oh well
09:31mlankhorst: tzimmermann: seems to have been added in 8f66090b7bb7f2a2183f46e72e367922d836e0dd, r-b if I remove it before making the merge request?
09:35tzimmermann: mlankhorst, i thought there was a recent patch to clean-up the errors. but ok, r-b if you want to fix it
09:35mlankhorst: ok let me check...
09:35mlankhorst: I will apply that then
09:42mlankhorst: oh doesn't seem to have that, if you mean the W=1 series
09:46tzimmermann: mlankhorst, i did. but it didn't seem to fix the issue
09:46tzimmermann: maybe the issue is too recent
09:46tzimmermann: so r-b
10:19mlankhorst: dim really likes to complain if a link tag is missing
10:43danvet: Lyude, since you're looking at nouveau modeset, what about enabling atomic by default?
10:44danvet: not doing that is kinda awkward, and I don't think there's realistically any more testing to be done
10:44danvet: emersion, ^^ maybe you can supply some t-b: for this with wlroots?
10:45emersion: sure thing
10:45imirkin: make sure to flip it on though :)
10:45imirkin: by default atomic ioctl's aren't exposed for nouveau
10:45imirkin: nouveau.atomic=1 or something along those lines
10:45emersion: yeah, i've noticed. drm_info allows to easily check that everything's in order
10:46imirkin: i dunno if gnome/kde things make use of atomic, but if they do, they'd be required testing targets too
10:46imirkin: since i suspect that's what the majority of users will land on
10:46emersion: i don't think GNOME does, yet
10:46emersion: jadahl: ^ ?
10:47emersion: i'll ask KDE
10:47imirkin: (by virtue of e.g. ubuntu shipping it)
10:52jadahl: i've tested nouveu + atomic on gnome and it worked
10:52jadahl: both as a dGPU and single GPU system
10:52jadahl: where should I add t-b?
10:53imirkin: the future patch which sets atomic to enabled by default.
10:53imirkin: jadahl: to confirm, you ran this with nouveau.atomic=1 ?
10:54jadahl: I ran nouveau.atomic=1 on a hybrid GPU system, and on the same system with the intel GPU turned off, and didn't run into any issues during my (rather short lived) test run
10:58emersion: jadahl: so GNOME now uses atomic?
10:58jadahl: there is a finished merge request that has some minor issues left
10:58emersion: ah, ok, not yet merged but pretty close?
10:59jadahl: it'll be used in GNOME 40 which will come in a couple of months or what it now is
11:00emersion: do you still have modifiers disabled?
11:00jadahl: need to implement the "brute force" code first
11:00jadahl: to handle multi head
11:00jadahl: before I can enable it
11:00jadahl: hopefully GNOME 41
11:00emersion: single-head fallbacks aren't enough
11:00jadahl: yea. it can be force-enabled for testing purposes
11:01jadahl: and it's enabled on some tegra system
11:01jadahl: because it can't run without
11:01jadahl: we have a udev rule/tag for that
11:01emersion: i think it could be enabled on anything but i915, if you wanted to
11:02jadahl: does amdgpu have modifier support yet?
11:03emersion: amdgpu has it with latest kernel/mesa, for GFX9+ (so only pretty recent cards)
11:51Fr0stBit: Hi guys
11:51Fr0stBit: How can I trace this?
11:51Fr0stBit: GL_INVALID_OPERATION in unsupported function called (unsupported extension or deprecated function?)
11:58MrCooper: Fr0stBit: run in a debugger and set a breakpoint at _mesa_error
12:02Fr0stBit: I tried doing that it does not hit.. I built mesa with debug symbols (by passing buildtype=debug in maison)
12:05pq: maybe it comes from glvnd instead?
12:06Fr0stBit: I for sure have mesa
12:06Fr0stBit: I only have a single radeon card
12:07pq: sure, Mesa can be used through glvnd
12:07Fr0stBit: The code is using EGL if it helps
12:18Fr0stBit: Just checked out and I have libglvnd in my system (Arch Linux)
12:18Fr0stBit: So I suppose I have to build a debug version of it too
12:18Fr0stBit: Is there something similar for break _mesa_error in libglvnd?
12:19pq: sorry, I don't know
12:20pq: Fr0stBit, did you check MESA_DEBUG yet? https://docs.mesa3d.org/envvars.html
12:20HdkR: Fr0stBit: Write up support for KHR_debug, enable sync message mode, and breakpoint in your local helper
12:21Fr0stBit: pq: Yes, prints out the same stuff
12:23karolherbst: break on printf :p
12:24Fr0stBit: HdkR: I'm trying to debug something deep after layers of translations and stuff between them so this is not easy
12:24Fr0stBit: karolherbst: lol this could somehow work, I'm gonna try it
12:24karolherbst: bonus points for breaking on printf with a strcmp check
12:25karolherbst: or maybe fprintf?
12:25karolherbst: dunno what function is used :)
12:26pq: strace might tell you which syscall writes the message out, then break on the syscall with a string match? :-o
12:27karolherbst: ahhh, good idea
12:27karolherbst: or ltrace
12:33nroberts:discovers $_streq . neat!
12:43Fr0stBit: Is it possible for glCopyBufferSubData to produce this on an EGL 4.3 context?
12:49HdkR: Claims it can throw invalid operation yes
13:25danvet: zackr, ack that you pull in all the vmwgfx patches from lee jones?
13:36danvet: tzimmermann, I have another patch for -fixes that I plan to push tomorrow
13:36danvet: just fyi
13:49Lyude: danvet: we're getting there
13:49Lyude: that's the eventual plan once we have more testing in place
14:32zmike: mareko: out of curiosity, how much improvement did you see from moving to c++ templates for draw?
14:34pepp: zmike: see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807 ("... decrease overhead by 13%")
14:34zmike: pepp: perfect, thanks 👍
14:49Fr0stBit: Ok guys so I rebuild (correctly) this time mesa with debug symbols and I got it break on _mesa_error!!
14:50Fr0stBit: Seems that this:
14:50Fr0stBit: Mesa: User error: GL_INVALID_OPERATION in unsupported function called (unsupported extension or deprecated function?)
14:50Fr0stBit: Is generated by a call to glShaderStorageBlockBinding
14:50Fr0stBit: The question is why?
14:53tpalli: maybe unsupported? you need at least ES 3.1 context (if using GLES)
14:54imirkin: i don't think it's in ES 3.1 at all
14:55tpalli: oh .. then it's 3.2
14:55imirkin: ssbo is there, but i don't think that the configurable binding is
14:56imirkin: i.e. i don't see it in ES at all
14:57tpalli: yeah, the function's not in 3.2 spec either
14:57imirkin: maybe with some ext, duno
15:00Fr0stBit: Can I somehow force Mesa to use functions that do not exist on GLES?
15:03imirkin: sure - you can change mesa to think they're available in ES
15:03imirkin: should work fine
15:03pq: Fr0stBit, but are you using GL ES? If you are using GL instead, then ignore comments about GL ES. :-)
15:04imirkin: if you *are* using gles, just change this: https://cgit.freedesktop.org/mesa/mesa/tree/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml
15:04imirkin: would need to gain a es2="3.1" on the function iirc
15:04Fr0stBit: pq: Yes I use a GLES 3.2 context
15:04imirkin: but this would be for your local purposes only -- not upstreamable
15:05pq: Fr0stBit, oh, you talked something about 4.3 earlier which is not a GL ES version (nor EGL) but GL
15:05imirkin: pq: EGL, GL, GLES ... is there really a difference? :)
15:06Fr0stBit: Underneath I suppose not :)
15:06pq: imirkin, if you care about anything working :-p
15:07imirkin: Fr0stBit: if this is for something more serious, you could propose an ext to make this functionality available in ES contexts
15:08pq: It looks like glShaderStorageBlockBinding would be available in GL starting from 4.3. Other people were talking about GL ES, which follows different version numbers and feature sets. And EGL is just irrelevant for this issue.
15:08Fr0stBit: Nah I was just tracing a bug in gfx/gfx-rs
15:08tpalli: maybe better rewrite to not use that func rather than driver hack, setup binding indexes in shader
15:09imirkin: pq: i was just trolling, hopefully obv
15:09imirkin: pq: also that function would be available with ARB_ssbo, not necessarily GL 4.3
15:09imirkin: although ARB_ssbo was made core in GL 4.3
15:09pq: imirkin, I'm still not sure which GL context Fr0stBit actually has :-)
15:10Fr0stBit: pq: GLES 3.2
15:10pq: imirkin, if ARB_ssbo, then it would not be called glShaderStorageBlockBinding but glShaderStorageBlockBindingARB or something? And fetched via eglGetProcAddress()?
15:10Fr0stBit: I thought at some point that I was running on GL mode not on GLES
15:10imirkin: pq: not all of those exts had suffixed functions
15:10pq: Fr0stBit, alright :-)
15:10imirkin: according to the mesa xml file, looks like ARB_ssbo did not: https://cgit.freedesktop.org/mesa/mesa/tree/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml
15:11pq: This just shows that all assumptions are likely to fail, better go by the book and double-check what you got - and use eglGetProcAddress() when it comes from an extension.
15:12imirkin: for the exts where they knew it was going to be made core, they didn't add the ARB suffixes i think
15:12imirkin: to avoid the annoyance between using ext vs "core" functions
18:18anholt: hikiko: I'm seeing tests/spec/ext_external_objects/vk_bands.vert.spv and friends getting changed in my source tree after a piglit build. seems like something's broken.
18:56zackr: danvet: yes, i'm in process of getting Lee's patches in
18:57danvet: zackr, thx
18:57zackr: danvet: does dim have any code to append the 'Link' tags automatically? it's not terribly fun to go over 40 patches to insert the links
19:08zackr: nm, missed the apply-branch
19:20vsyrjala: there's also add-link for the times when you need to sort out a conflict manually
19:29danvet: zackr, generally recommended to pick up all patches with apply-branch
19:29danvet: even your own
19:30danvet: it's the joys of the kernel process :-)
19:42zackr: danvet: got it. thanks! also, thanks for the dim cite and dim fixes notes. do i need to resend to the list with the log fixed?
19:42danvet: you can fix up when applying imo
19:42danvet: it's just changelog stuff
20:33anholt: Plagman: any chance we could get Valve to offer up some traces of Valve games to https://gitlab.freedesktop.org/gfx-ci/tracie/traces-db/ ?
20:50jenatali: dcbaker: Am I remembering right that if I want a fix to be backported to a release, all I need is a Fixes tag? Or do I also need a Cc tag or something else?
20:58bnieuwenhuizen: jenatali: Fixes tag should work assuming the patch referred to was in the release
20:59jenatali: Thanks, I thought I'd seen that discussed here, just wanted to double-check
21:17dcbaker: jenatali: fixes is preferred because we've got scripts to automate that
21:17dcbaker: CC is useful when something doesn't fix a particular commit and just needs to go into a release
21:18jenatali: Ah, cool
21:44zackr: anholt: do you use tracie for validation? it doesn't allow fuzzy comparisons with image diffs over a set of reference images for traces, does it?
21:45anholt: zackr: yes, we use it. it's pixel exact, because we've never seen a fuzzy comparison that's useful for graphics rendering. when you change the rendering, the test fails and a human looks at the images and says "yep, still looks good, time to expect this sha1 from rendering now"
21:51Plagman: anholt: yeah, but i don't know how they would fare for the 500mb limit
21:52zackr: anholt: ah, thought so. we do it internally because have to expect that our rendering on top of intel will be different from running on top of nvidia or amd. it's basically thresholds on top of RMS (both full image and block based). it requires initial adjustment of thresholds for new hardware/tests and putting those in some file for CI to check against but once you have it works surprisingly well
21:52Plagman: you'd also need gfxreconstruct for the vulkan ones
21:52Plagman: but feel free to throw them on there
21:52anholt: Plagman: is this "go for it with whatever valve-authored games you have?"
21:53anholt: I suspect we might be willing to stretch the limit a bit for some notable titles in Linux games :)
21:53Plagman: yeah - i think we've said ours were fine for this purpose
21:53Plagman: we have talked to other publishers about the same thing and they're not as supportive, to say the least
21:53anholt: ok, just making sure. I think I had an ack from someone else years ago that I never ran with.
21:54Plagman: if you had something to replace most images with generated noise, you could cut down on trace size and liability there
21:55Plagman: you'd have to know which ones matter and which ones don't, but could be doable
21:55anholt: I suspect that model data is also high on people's list of stuff they care about, and that feels much harder to automatically replace with teapots or whatever.
21:56Plagman: would be fun though
21:56ccr: teapot fortress 2?
21:57anholt: doteapot 2
21:57anholt: have to make a new model of half-teapot 2. (or is that just a whole teapot?)
22:00ccr: the right teapot in the wrong place can make ALL the difference in the world.
22:01imirkin:remembers thinking the glutTeapot thing was quite cool
22:01imirkin: (or was it in glu?)
22:01Plagman: vkTeapot when
23:08imirkin: are there some good external image tests somewhere? the piglit ones seem a bit lacking
23:33anholt: Plagman: with a bit of a trim on the traces we've got, looks like we aren't going to stretch the limits much.
23:41anholt: also, wow, brotli repack is sloooow.