<jenatali>
Guess it makes sense, I don't know what you'd run, just seems weird
<alyssa>
anholt_: also, the intel drivers support a lot of different gens conditionally compiled, I'm curious if specializing the build for just the gens shipping in crbooks helps meaningfully?
<alyssa>
I know for panfrost doing per-gen compiles bloated the binary nontrivially, but the cost was outweighed by the safety guarantees of per-gen builds so we ate the cost
<alyssa>
(e.g. different generations support different values in a given enum, different properties in a given struct, etc. Making it a compile-time error to emit out-of-spec values gives me a lot of confidence for easing bring-up of the very new and avoiding breaking the very old.)
<alyssa>
admittedly I'm still annoyed by how many preprocessor litter the code base, but that's better than the runtime checks we had before
<alyssa>
whether or not it's better than duplicating entire generations, freedreno style, is a matter of taste I think
<imirkin>
alyssa: the amount of per-gen code is trivial compared to the "general" bits
rcf has quit [Ping timeout: 480 seconds]
gawin has quit [Ping timeout: 480 seconds]
Walter has joined #dri-devel
Walter is now known as Guest6324
illwieckz has quit [Remote host closed the connection]
aravind has quit [Ping timeout: 480 seconds]
<alyssa>
imirkin: alright
<alyssa>
that's... less true for panfrost but the per-gen'ification was recent and a bit rushed and probably can be optimized
illwieckz has joined #dri-devel
<HdkR>
Horrifying phrase of the day. reentrant safe allocator. That is all.
tursulin has quit [Read error: Connection reset by peer]
camus1 has quit [Remote host closed the connection]
camus has joined #dri-devel
<anholt_>
alyssa: that's also on the to-do list, but it's some downstream twiddliness and it's a smaller win I think than fixing the compiler
rcf has joined #dri-devel
<imirkin>
anholt_: does CI run piglits with X? or gbm?
<imirkin>
(i think X, but i'm not 100% sure)
<jenatali>
Huh. On a whim ran piglit quick_gl through with compat profile claiming support for 3.3 without making any changes beyond 3.1... -60 fails and -80 skips with only 1 new fail...
<imirkin>
-60 fails is slightly surprising that indicates either bugs in mesa or in the piglits.
<imirkin>
i'd be curious to see the "no longer fail" list
<imirkin>
oh. but it's passing now. i need to find where it fails.
<imirkin>
i guess any build should do?
<imirkin>
_other_ than that one :)
<jenatali>
Yup
<jenatali>
I think it only uploads logs on fails though
<imirkin>
yes
<imirkin>
oh
<imirkin>
you mean _at all_
<jenatali>
Yeah
<imirkin>
i'll just repro locally
<imirkin>
let's seeee....
<jenatali>
I mean I could do it too, you don't have to, I was just surprised
<imirkin>
ya, but i'm curious now :)
<imirkin>
hrmph. passes for me here.
<imirkin>
there must be slightly more to it.
<imirkin>
(and my test build is from Jan 2021)
<jenatali>
Interesting. I'll get to the bottom of it eventually. I think I might finally have time to start pushing new GL versions and cleaning up our piglit fail backlog
<imirkin>
would need to see how it fails, i don't see anything completely obvious.
<jenatali>
But probably not until December :P
<imirkin>
i guess i could do my own build wiht that test removed from piglit-fails
<imirkin>
but i'm not _that_ curious :)
<imirkin>
i _really_ don't see what could be different ... if it's getting a core context, the compat profile settings literally mean nothing
<jenatali>
¯\(ツ)/¯
<imirkin>
also looks like we relaxed things and _did_ start exposing ARB_dsa in compat for GL 3.1+
<imirkin>
so double-confused.
<jenatali>
I'll let you know when I figure it out
<imirkin>
sounds good =]
mattrope has quit [Ping timeout: 480 seconds]
<jenatali>
Hm. I don't repro locally but I've got a newer piglit
agx has quit [Ping timeout: 480 seconds]
lplc has quit [Remote host closed the connection]
agx has joined #dri-devel
lemonzest has joined #dri-devel
<anholt_>
imirkin: with x generally. I think etna is gbm
<anholt_>
there's a HWCI_START_XORG variable
<imirkin>
X crashed eventually. much sad.
<anholt_>
jenatali: I did fix some bugs in the dsa tests where it wasn't checking for extensions. is your piglit recent?
<imirkin>
and now i've messed up my glibc. so that's all on hold.
* anholt_
bed
<jenatali>
anholt_: Locally, yes-ish. In CI, no
<jenatali>
I kicked off a new container build, but since it includes an LLVM build it takes hours
camus1 has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
Duke`` has joined #dri-devel
sdutt has quit [Read error: Connection reset by peer]
YuGiOhJCJ has joined #dri-devel
camus has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
rando25892 has quit [Ping timeout: 480 seconds]
camus1 has joined #dri-devel
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
camus has quit [Ping timeout: 480 seconds]
Company has quit [Quit: Leaving]
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
camus has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
<pq>
vsyrjala, robclark, danvet, emersion, what about making the boost fd be an epoll fd instead of input fds directly? Maybe then it could not be used for spying actual input when passed from one process to another?
danvet has joined #dri-devel
JohnnyonFlame has quit [Ping timeout: 480 seconds]
<emersion>
ideally the boost FD would be arbitrary
guru_ has joined #dri-devel
oneforall2 has quit [Ping timeout: 480 seconds]
rando25892 has joined #dri-devel
gouchi has joined #dri-devel
pcercuei has joined #dri-devel
rasterman has joined #dri-devel
camus1 has joined #dri-devel
camus has quit [Remote host closed the connection]
glennk has quit [Remote host closed the connection]
glennk has joined #dri-devel
ubitux has quit [Quit: bbl]
camus has joined #dri-devel
guru_ has quit []
oneforall2 has joined #dri-devel
oneforall2 has quit []
oneforall2 has joined #dri-devel
camus1 has quit [Ping timeout: 480 seconds]
ubitux has joined #dri-devel
ubitux has quit []
ubitux has joined #dri-devel
camus has quit []
rando25892 has quit [Quit: changing servers]
Luc has quit [Remote host closed the connection]
ppascher has quit [Quit: Gateway shutdown]
ppascher has joined #dri-devel
Daanct12 has joined #dri-devel
Danct12 has quit [Ping timeout: 480 seconds]
mattrope has joined #dri-devel
* alyssa
wonders what tricks she can do with drm-shim
<alyssa>
getting "libEGL warning: MESA-LOADER: failed to open swrast" whenever I try to run anything more interesting than shader-db
* alyssa
trying a surfaceless build of deqp
<alyssa>
1987 artefacts to build, oh no that might take a whole 2 minutes on my m1 what ever shall I do
<alyssa>
okay, deqp + surfaceless fails
<alyssa>
Test case 'dEQP-GLES2.info.vendor'.. Fail (glGetString() failed: glGetError() returned GL_INVALID_FRAMEBUFFER_OPERATION at tes2InfoTests.cpp:59)
<alyssa>
assuming I'm doing something silly
<alyssa>
also libEGL warning: bad surface attribute 0x3057
<alyssa>
oh, needed to specify surface width/height, d'oh
gouchi has quit [Remote host closed the connection]
gouchi has joined #dri-devel
gawin has joined #dri-devel
JohnnyonFlame has joined #dri-devel
angerctl has joined #dri-devel
Namarrgon has quit [Ping timeout: 480 seconds]
Daanct12 has joined #dri-devel
Danct12 has quit [Ping timeout: 480 seconds]
Daaanct12 has joined #dri-devel
Daanct12 has quit [Ping timeout: 480 seconds]
sdutt has quit [Ping timeout: 480 seconds]
Daaanct12 is now known as Danct12
sdutt has joined #dri-devel
sdutt has quit []
sdutt has joined #dri-devel
gawin has quit [Ping timeout: 480 seconds]
<alyssa>
jenatali: Ooh, I'm the fool working on a weekend
<alyssa>
jenatali: I think you need to squash the change to results.txt to earlier commits
<alyssa>
the lazy way is to squash all down to a commit
<alyssa>
except for the result.txt upload change I guess, which can move to the end?
<alyssa>
git surgery aside, ack
vivijim has joined #dri-devel
<jenatali>
alyssa: Can do
<jenatali>
alyssa: Better?
<alyssa>
jenatali: looks good 👍
<alyssa>
(It is clear that the new series bisects correctly. It is not clear the old series did.)
<alyssa>
Not that it matters a /ton/, but
<jenatali>
Yeah, dunno how important bisecting is for running through the CI pipeline
* jenatali
shrugs
<jenatali>
Adding ack and merging, thanks
gawin has joined #dri-devel
<alyssa>
meant to say - alyssa@collabora.com ack but it's fine
<alyssa>
I admit doing both work and non-work Mesa contributions, and not having any consistent schedule for either, makes it hard to predict :-p
<gawin>
alyssa: can you add me to irc "friends"? wanna ask something
<FLHerne>
IRC doesn't natively have a 'friends' concept?
<jenatali>
alyssa: Oh oops. I just grabbed a name to copy/paste out of the most recent instance in history lol
<jenatali>
I can update it after Marge fails out the first time
<alyssa>
gawin: what's up?
<alyssa>
jenatali: lol, fair enough
<alyssa>
(lol at marge)
<gawin>
FLHerne: it's about +g flag (cannot send private messages)
<gawin>
iirc you need to be accepted first if it's on
<alyssa>
what's up?
<gawin>
I wanted to ask some questions about collabora
sarnex_ has joined #dri-devel
sarnex has quit [Read error: Connection reset by peer]
Daanct12 has joined #dri-devel
Danct12 has quit [Read error: Connection reset by peer]
Daaanct12 has joined #dri-devel
JohnnyonFlame has quit [Ping timeout: 480 seconds]
Daanct12 has quit [Ping timeout: 480 seconds]
gouchi has quit [Remote host closed the connection]
gouchi has joined #dri-devel
X-Scale` has joined #dri-devel
X-Scale has quit [Ping timeout: 480 seconds]
<imirkin>
jenatali: oh! you have an unrelated problem ... you're claiming ARB_texture_multisample support but you don't actually expose it correctly (i.e. you claim support for things you don't support)
<imirkin>
i think a piglit change made one class of fails into skips, but you're still not doing it quite right
Daaanct12 is now known as Danct12
<jenatali>
imirkin: I think somehow this test is getting a compat context. I don't repro it locally...
<imirkin>
jenatali: or perhaps you're getting different caps reported
<imirkin>
in your local env vs test env, based on the renderer
<jenatali>
I'm running the same software driver
<imirkin>
hm ok
<imirkin>
well it was a nice theory ;)
<jenatali>
Looking at the error output in the log from when it fails in CI, that error is only output if you don't have geometry shaders (i.e. <3.2)
<jenatali>
Which would explain why it goes away when I bump compat to 3.3, and why I don't repro locally (I'm getting core contexts locally)
<imirkin>
jenatali: layered copies are affected by GS
<jenatali>
I know, but it should be 3.3 because the test should be running in core
<jenatali>
I see 3.3 locally
<imirkin>
this is the real problem: glNamedFramebufferTexture
khfeng has joined #dri-devel
<imirkin>
something is deciding that this function is inaccessible for you
<jenatali>
Yeah, it's inaccessible in <3.2
<jenatali>
But I should be 3.3, not 3.1
<imirkin>
right. but it's a core context ... in theory
<imirkin>
i wonder if it's because it's requesting a 3.1 context
<jenatali>
Yeah. Something's funky
<imirkin>
should the test be requesting 3.2 if it's using that function?
<imirkin>
and/or should it be conditional?
<jenatali>
Hm... but then why do I see 3.3 locally?
<imirkin>
unclear.
<imirkin>
GL 3.1 core isn't a thing actually
<jenatali>
Debugging...
<imirkin>
GL 3.1 you get what you get, which may be core or compat
<imirkin>
starting with GL 3.2 you can request one or the other
<alyssa>
desktop gl is such a mess :(
<milek7>
not that gles is better
<milek7>
with almost nothing in core spec and dozens of necessary extensions
<alyssa>
gles2 ain't so bad
<alyssa>
even gles3.1 isn't /that/ bad
<alyssa>
it's only es3.2 (and specifically the android extension pack) that just adds everything under the sun
<imirkin>
AEP was for ES 3.1
<jenatali>
Seems I'm getting different behavior of the return value for ARB_compatibility. Locally when I request 3.1 I get that extension, so piglit tries again for 3.2+. I'm guessing that extension isn't set in CI somehow
<imirkin>
ES 3.2 = ES 3.1 + AEP (pretty much)
<imirkin>
jenatali: ARB_compatibility indicates you got a compat context
<jenatali>
I know
<imirkin>
the test requests a core context
<jenatali>
Right. Which is why locally, piglit tries again for 3.2+ so it can get a core context
<imirkin>
are you sure that you get GL 3.3 core in the CI env?
<jenatali>
But if CI doesn't report that extension, then piglit just goes ahead with a 3.1 "core" context (which the test can't actually run with)
<jenatali>
No, I don't, that's what I'm saying. I should, but I don't
<imirkin>
jenatali: i mean ... in other tests
<jenatali>
Oh
<jenatali>
Probably? :)
<imirkin>
i'm not loving those odds
<alyssa>
imirkin: I might be biased by Mali emulating GS/TS in software and then people expecting panfrost to do the same
<imirkin>
alyssa: so don't support AEP
<HdkR>
But ES 3.2 is the min-spec now :P
JohnnyonFlame has joined #dri-devel
<milek7>
well I'm writing from perspective of the user, so I was annoyed that gles 3.0 have too few features and required using various extensions, sometimes with different function names
<milek7>
(gles2 is ancient, I didn't even try to use it)
<imirkin>
and GLES1 is an entirely separate api from GLES2
<imirkin>
all long-lived APIs suck, pretty much
<milek7>
why even the split for desktop/gles? some NIH from mobile vendors, or what?
<HdkR>
You have to understand what the ecosystem was like at that time
<FLHerne>
well, with GLES 2.0 the hardware just can't do desktop GL
<FLHerne>
in most cases
<jenatali>
Hm... CI is actually trying to run the test on a 3.1 compat context...
<HdkR>
Even GLES 1.0 was a heck of a step-up from what was available on those devices before :P
<jenatali>
Oh. I built piglit with waffle, which doesn't run core tests on a (3.1) compat context. The glut backend will happily run core tests on a compat context
<imirkin>
ah yeah, they're slightly differently picky about these things
<imirkin>
anyways, feel free to bump the test to require GL 3.2
<milek7>
desktop gl is too fragmented, I would want to remove state handling from my code, but DSA is only in 4.5 and lots of users are still missing it
<imirkin>
milek7: EXT_dsa / ARB_dsa are supported everywhere
<milek7>
apple too? :P
<milek7>
and whole EXT/ARB thing is weird too...
<milek7>
and gles doesn't have DSA at all
<milek7>
and I don't get why gles have all these little differences, like old glTexImage2D exists, but glTexImage2DMultisample does not (but on core desktop context, both exist) or srgb handled differently (no GL_FRAMEBUFFER_SRGB flag), glPolygonMode is missing, glReadPixels allows to read anything on desktop, but only GL_RGBA on gles, naming things like glDrawElementsBaseVertexOES with OES suffix (but desktop doesn't have suffix neither in core and equivalent
<milek7>
extension), etc.
<alyssa>
welcome to hell!
<imirkin>
milek7: nothing works on apple
<imirkin>
so not worth worrying about :)
<imirkin>
and yeah, the fact that ES doesn't support setting polygon mode for back-facing triangles to lines, and using edge flags to control it ... very sad.
danvet has quit [Ping timeout: 480 seconds]
<milek7>
apple does only 3.2, but surprisingly it works
<milek7>
at beginning I got reports that my app is crashing macos
<imirkin>
(actually i was mistaken ... polygon mode can't apply to just front- or back-facing -- must be verything)
<imirkin>
milek7: so ... "working as intended" then? :)
<milek7>
it turned out to be caused by bug in my code, which was somehow hidden on amd/nvidia/intel/mesa :D