16:16 nckncknck: Hello! I was curious if there is any info to read on power management besides the paper linked on the wiki page?
17:48 KungFuJesus: karolherbst: Made a little bit of progress - found an immediate issue that prevented me from compiling with -O1 and _might_ have been causing that goofy "glxfbconfig" bug in SDL2. I'll have a patch for that one - strangely either something in scope or something within GCC's optimizations was allowing that to compile
17:50 KungFuJesus: Weird that it was hiding in glx for so long, though. I found it because clang refused to let me build with it. I'll have an MR shortly
17:56 KungFuJesus: karolherbst: here's the MR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20830
18:27 KungFuJesus: Also, O1 doesn't have the issue. Might painstakingly find which optimization causes the uninitialized memory to be used. My bet is probably -fstrict-aliasing, but I dunno. The unitiailized memory in question is in the fragement shader programs, with some variables in the "instruction" argument: https://pastebin.com/3kb7wWgt
18:40 KungFuJesus: hmm, turning on just strict aliasing doesn't do it, but of course that doesn't mean that that optimization isn't the issue, it could just be made more apparent with other optimizations enabled
19:17 KungFuJesus: store-merging + strict-aliasing induces it, going to see if I can produce it with just store-merging. That at least tells me the class of bug for this
19:32 KungFuJesus: wow, yeah it looks like store-merging is the optimization that breaks it. Now I can play whack-a-mole and see if any one given function is the culprit by injecting the optimization attribute with that off
19:33 KungFuJesus: "reverse optimized debugging"
20:49 KungFuJesus: now to do a quasi-binary search with carefully placed #pragma GCC optimize('store-merging') with push and pop_options...