ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
glennk has joined #dri-devel
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
JRepin has joined #dri-devel
JRepinc has quit [Read error: Connection reset by peer]
olivial has quit [Remote host closed the connection]
olivial has joined #dri-devel
u-amarsh04 has joined #dri-devel
u-amarsh04 has quit []
amarsh04 has joined #dri-devel
amarsh04 has quit []
amarsh04 has joined #dri-devel
YuGiOhJCJ has joined #dri-devel
the_sea_peoples has quit [Remote host closed the connection]
the_sea_peoples has joined #dri-devel
docmax_ has joined #dri-devel
docmax has quit [Ping timeout: 480 seconds]
fantom has quit [Ping timeout: 480 seconds]
nerdopolis has quit [Ping timeout: 480 seconds]
surajkandpal has joined #dri-devel
kts has joined #dri-devel
fantom has joined #dri-devel
kts has quit [Quit: Konversation terminated!]
glennk has quit [Ping timeout: 480 seconds]
TMM has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM has joined #dri-devel
surajkandpal has quit [Ping timeout: 480 seconds]
davispuh has quit [Ping timeout: 480 seconds]
clamor has joined #dri-devel
surajkandpal has joined #dri-devel
tvc has quit [Ping timeout: 480 seconds]
OftenTimeConsuming has quit [Remote host closed the connection]
OftenTimeConsuming has joined #dri-devel
i-garrison has quit []
the_sea_peoples has quit [Ping timeout: 480 seconds]
OftenTimeConsuming has quit [Remote host closed the connection]
OftenTimeConsuming has joined #dri-devel
kts has joined #dri-devel
fab has joined #dri-devel
fab is now known as Guest26545
i-garrison has joined #dri-devel
tvc has joined #dri-devel
kts has quit [Quit: Konversation terminated!]
kts has joined #dri-devel
alarumbe has quit []
blaztinn has quit [Ping timeout: 480 seconds]
kzd has quit [Ping timeout: 480 seconds]
kts has quit [Quit: Konversation terminated!]
blaztinn has joined #dri-devel
the_sea_peoples has joined #dri-devel
bolson has quit [Ping timeout: 480 seconds]
surajkandpal has quit [Remote host closed the connection]
kts has joined #dri-devel
kts has quit []
Guest26545 has quit []
dolphin has joined #dri-devel
sima has joined #dri-devel
fantom has quit [Ping timeout: 480 seconds]
rasterman has joined #dri-devel
JRepin has quit []
JRepin has joined #dri-devel
tzimmermann has joined #dri-devel
fantom has joined #dri-devel
tvc has quit [Ping timeout: 480 seconds]
tvc has joined #dri-devel
clamor has quit [Read error: Connection reset by peer]
fab has joined #dri-devel
MrCooper_ has joined #dri-devel
krei-se- has quit [Ping timeout: 480 seconds]
MrCooper has quit [Ping timeout: 480 seconds]
sghuge has quit [Remote host closed the connection]
glennk has joined #dri-devel
sghuge has joined #dri-devel
cascardo_ has joined #dri-devel
tvc has quit [Ping timeout: 480 seconds]
cascardo has quit [Ping timeout: 480 seconds]
Company has joined #dri-devel
<tzimmermann> sima, airlied, hi. could you please formward drm-next to -rc6?
the_sea_peoples has quit [Ping timeout: 480 seconds]
frieder has joined #dri-devel
<sima> tzimmermann, I guess backmerge and do you need something specific? or did you mean drm-fixes?
<tzimmermann> sima, yeah backmerge. i want to get drm-misc-next and -next-fixes to -rc6
pepp has joined #dri-devel
<sima> tzimmermann, will look into it later today, going to the gym this morning
frieder_ has joined #dri-devel
tvc has joined #dri-devel
MrCooper_ is now known as MrCooper
frieder has quit [Ping timeout: 480 seconds]
rasterman has quit [Quit: Gettin' stinky!]
<airlied> tzimmermann: doing a backmerge at the moment
<airlied> needed it for msm
<airlied> tzimmermann: pushed out now
rgallaispou has joined #dri-devel
mvlad has joined #dri-devel
<tzimmermann> airlied, thanks
bonzini has joined #dri-devel
clamor has joined #dri-devel
pjakobsson has quit [Remote host closed the connection]
pjakobsson has joined #dri-devel
jkrzyszt has joined #dri-devel
kts has joined #dri-devel
kts has quit []
bonzini_ has joined #dri-devel
bonzini has quit [Ping timeout: 480 seconds]
<jani> hwentlan__: stumbled on parse_edid_displayid_vrr() and parse_amd_vsdb() etc. in amdgpu_dm.c... why is this being added in the driver, it's all supposed to be in drm_edid.c...
<jani> and the idea kind of is that drivers don't modify connector->display_info
apinheiro has joined #dri-devel
jfalempe has quit [Quit: jfalempe]
archon has joined #dri-devel
<tzimmermann> PSA: With -rc6 tagged, drm-misc-next-fixes is now open. Features still go into drm-misc-next. Fixes for v6.17 or stable go into drm-misc-fixes. Fixes for v6.18 go into drm-misc-next-fixes. Patches in -fixes branches should be small and have a Fixes tag.
sguddati has joined #dri-devel
JRepin has quit []
JRepin has joined #dri-devel
clamor has quit [Ping timeout: 480 seconds]
clamor has joined #dri-devel
crabbedhaloablut has quit []
crabbedhaloablut has joined #dri-devel
helmhotz_ has quit [Ping timeout: 480 seconds]
sguddati has quit [Ping timeout: 480 seconds]
jsa1 has joined #dri-devel
helmhotz_ has joined #dri-devel
feaneron has joined #dri-devel
crabbedhaloablut has quit []
crabbedhaloablut has joined #dri-devel
bonzini_ has quit [Ping timeout: 480 seconds]
crabbedhaloablut has quit []
crabbedhaloablut has joined #dri-devel
CME has quit [Ping timeout: 480 seconds]
crabbedhaloablut has quit []
crabbedhaloablut has joined #dri-devel
rasterman has joined #dri-devel
CME has joined #dri-devel
nerdopolis has joined #dri-devel
guludo has joined #dri-devel
cascardo_ is now known as cascardo
phasta has joined #dri-devel
docmax_ has quit [Remote host closed the connection]
ahadi has joined #dri-devel
YuGiOhJCJ has quit []
crabbedhaloablut has quit []
crabbedhaloablut has joined #dri-devel
dsimic is now known as Guest26562
dsimic has joined #dri-devel
Guest26562 has quit [Ping timeout: 480 seconds]
crabbedhaloablut has quit []
crabbedhaloablut has joined #dri-devel
clamor has quit [Remote host closed the connection]
clamor has joined #dri-devel
ahadi has quit [Remote host closed the connection]
ahadi has joined #dri-devel
frieder_ has quit [Remote host closed the connection]
luc has joined #dri-devel
apinheiro has quit [Quit: Leaving]
bonzini has joined #dri-devel
epoch101 has joined #dri-devel
dolphin has quit [Quit: Leaving]
kts has joined #dri-devel
xantoz has quit [Read error: Connection reset by peer]
kts has quit [Quit: Konversation terminated!]
luc has quit [Remote host closed the connection]
fab has quit [Quit: fab]
kzd has joined #dri-devel
davispuh has joined #dri-devel
<sima> airlied, thx :-)
yshui has joined #dri-devel
yshui_ has quit [Ping timeout: 480 seconds]
smaeul_ has quit []
smaeul has joined #dri-devel
epoch101 has quit [Ping timeout: 480 seconds]
fab has joined #dri-devel
davispuhh has joined #dri-devel
davispuh has quit [Ping timeout: 480 seconds]
bonzini_ has joined #dri-devel
bonzini has quit [Ping timeout: 480 seconds]
kode545 has joined #dri-devel
kode54 has quit [Read error: Connection reset by peer]
bolson has joined #dri-devel
haaninjo has joined #dri-devel
rgallaispou1 has joined #dri-devel
rgallaispou has quit [Remote host closed the connection]
alarumbe has joined #dri-devel
Jeremy_Rand_Talos has quit [Remote host closed the connection]
Jeremy_Rand_Talos has joined #dri-devel
pzanoni has joined #dri-devel
alyssa has joined #dri-devel
<alyssa> how is b2b32 actually defined?
<alyssa> is (('ineg', ('b2i32', a)), ('b2b32', a)) legal?
bonzini_ has quit [Ping timeout: 480 seconds]
<pendingchaos> IIRC b2b1(b2b32(a@1)) == a
<karolherbst> my gut feeling says yes, but who knows
<alyssa> pendingchaos: right. that's not strong enough for the rule I'd like
<pendingchaos> (I could be wrong, I just remember the opcode being added so that the 32-bit value can be some faster but backend specific value)
<alyssa> right..
<alyssa> Intel would like an opcode that's actually explicit 0/~0
<alyssa> so then we can optmize ineg/b2i32 in NIR
<alyssa> Or maybe the crazier rule this shader could benefit from -- i2i32(unpack_32_4x8(ineg(b2i32(x)).<whatever>)) -> b2b32(x)
<karolherbst> I wonder if there is hardware that defines those bools differently?
<karolherbst> afaik nvidia defines them the same as intel
<alyssa> ac/llvm seems to do 0/1 but could maybe be fixed
<karolherbst> mhhh
<karolherbst> could add configurable opts
<jenatali> HLSL defines 32-bit bools as 0/1, not 0/~0
<pendingchaos> ACO has always implemented it as 0/1
<pendingchaos> problem with just "b2b1(b2b32(a@1)) == a" is that it can break if the backend doesn't match constant folding
<alyssa> jenatali: that's not really relevant. we can opt_algebraic chew thru whatever.
<alyssa> pendingchaos: yeah, exactly
<karolherbst> at least on nvidia: 0/-1 and 0.0/1.0
<alyssa> I don't care what encoding we pick but we should really have one canonical encoding
<alyssa> in NIR
<alyssa> because yeah not matching constant folding is.. bad
<alyssa> and "NIR ops that change behaviour by backend" are.. bad
rasterman has quit [Quit: Gettin' stinky!]
<karolherbst> could make it part of the nir options
<alyssa> no
<alyssa> r600/sfn i cant tell at a quick glance what it does
<alyssa> zink does 0/1
<alyssa> as does dxil
<alyssa> as does nak seemingly
<alyssa> well this a mess.
<karolherbst> nvidia might have gotten rid of a canonical format in hw
<alyssa> half the backends do one thing and half do another
<jenatali> What's constant folding do?
<alyssa> jenatali: 0/~0
<alyssa> i think
<jenatali> Ouch
<karolherbst> I'm actually curious why nak does 0/1 🙃
<karolherbst> though I think the hw used to accept anything
<karolherbst> as long as it's 0 and not 0
<alyssa> r600/sfn I think does 0/~0 if I'm reading the code right
<alyssa> it's zink/dxil, aco/ac-llvm, and nak vs everything else
<alyssa> zink/dxil & nak look trivial to change to 0/~0 with no/minimal perf impact
<alyssa> amd idk C++ scares me, which is why I work at compilers at Intel -- frick
kts has joined #dri-devel
<karolherbst> just port it over to C before touching it, ez
<alyssa> dont tempt me with a bad time
<karolherbst> what scares me is, that with you I'm not sure you wouldn't suddently do it
<alyssa> of note, AGX internally uses 0/1 booleans (it's better for the hw)
<alyssa> but I still implemented b2b32 as 0/~0 because I thought I had to :)
<alyssa> seems fine \shrug/
<karolherbst> so in case it matters, CLC actually defines them as 0/1
<alyssa> it really doesn't matter what frontends or backends want, it's easy to massage to whatever
<alyssa> we just need to pick something and be consistent
<alyssa> pendingchaos: do you have concenrs from an AMD perspective changing to 0/~0?
<alyssa> gfxstrand: ^ from a nvidia
idr has joined #dri-devel
<pendingchaos> b2b32 is faster for uniform booleans because it can use SCC directly
<pendingchaos> but because we always use b2b32 right before a shared memory store (unless that changed at some point), we would insert a copy to convert to VGPR anyway
<pendingchaos> for divergent booleans, 0/1 allows a trick with "a + b + b2b32(c)" to use only one instruction, but that's the shared store thing again
<pendingchaos> so 0/~0 for b2b32 is probably fine
<alyssa> the `a + b + b2b32(c)` trick being.. add-with-carry instruction?
Net147_ has quit [Read error: Connection reset by peer]
Net147 has joined #dri-devel
<pendingchaos> yes
<alyssa> right..
<pendingchaos> the carry-in is the same representation as divergent booleans
<alyssa> where is the b2b32 coming from in that case? why is it not a b2i32?
<alyssa> it's concerning given b2b32 is, currently underdefined it seems
rasterman has joined #dri-devel
Net147 has quit []
<pendingchaos> I'm not sure if that code actually appears, because IIRC b2b32 is only used for shared stores
<pendingchaos> the carry-in opt was probably made to optimize "a + b + (c ? 1 : 0)" instead, but both look the same to ACO at this point
Net147 has joined #dri-devel
<alyssa> right.. so that should be fixed to only look for b2i32 instead
Net147 has quit []
Net147 has joined #dri-devel
<alyssa> actually the aco opt is already fine
<alyssa> yeah so all of this to me sounds like "define b2b32 as 0/~0, leave b2i32 as 0/1, fix isel in a few backends, move on"
FireBurn has quit [Quit: Konversation terminated!]
kts has quit [Ping timeout: 480 seconds]
kts has joined #dri-devel
rgallaispou1 has quit [Read error: Connection reset by peer]
rgallaispou has joined #dri-devel
rasterman has quit [Quit: Gettin' stinky!]
apinheiro has joined #dri-devel
tzimmermann has quit [Quit: Leaving]
olivial has quit [Read error: Connection reset by peer]
jsa1 has quit [Ping timeout: 480 seconds]
olivial has joined #dri-devel
FireBurn has joined #dri-devel
anone has joined #dri-devel
FireBurn has quit [Quit: Konversation terminated!]
epoch101 has joined #dri-devel
Kayden has quit [Quit: -> jf]
FireBurn has joined #dri-devel
phasta has quit [Ping timeout: 480 seconds]
Kayden has joined #dri-devel
<alyssa> Or.. delete b2b32 altogether and just use bcsel(0, ~0) explicitly
<alyssa> (and make nir_b2b32 a helper that generates a bcsel)
<alyssa> similar to what idr did with i2b32 years ago
<alyssa> also probably delete b2b1 and make it a helper doing ine
<alyssa> this might require aco's bcsel & ine becoming more clever to avoid regressing codegen for scalar
bonzini has joined #dri-devel
<alyssa> ir3 does a trick with ABSNEG_S which would need replumbed
<alyssa> all of zink_nir_algebraic would get deleted which is nice
<alyssa> ok. Yeah I think this is worth doing
<idr> alyssa: Not to throw a wrench in things...
<alyssa> /o\
<idr> I have a branch that I've been poking at from time to time that tries to emit 16-bit Booleans to decrease register pressure.
<alyssa> Great!
<alyssa> ..So?
<idr> That ends up producing some b2b32 when a b16 and a b32 would be mixed.
<idr> I don't know of that would run afoul of what you're thinking of doing.
<idr> The branch hasn't shown a clear win yet, so... *shrug*.
<alyssa> idr: My current proposal is simply "remove b2b1 & b2b32 opcodes, systematically convert producers to ine/bcsel, make backend's ine/bcsel smarter to match codegen if needed"
<idr> Okay. That sounds reasonable.
<idr> I've been thinking we might want type conversion opcodes in brw, but that's a topic for another day.
<idr> (Short version: MOV is too flexible. It's a hassle to determine, "Is this just type conversion, or is it doing other regioning nonsense too?")
<alyssa> Sure. I don't think that has any bearing on the NIR clean up
bonzini has quit [Ping timeout: 480 seconds]
epoch101_ has joined #dri-devel
epoch101 has quit [Read error: Connection reset by peer]
epoch101 has joined #dri-devel
clamor has quit [Ping timeout: 480 seconds]
jkrzyszt has quit [Quit: Konversation terminated!]
epoch101_ has quit [Read error: Connection reset by peer]
Gatherer has joined #dri-devel
jolan has quit [Quit: leaving]
clamor has joined #dri-devel
jolan has joined #dri-devel
clamor has quit [Read error: Connection reset by peer]
kts has quit [Quit: Konversation terminated!]
epoch101_ has joined #dri-devel
epoch101 has quit [Ping timeout: 480 seconds]
feaneron has quit [Ping timeout: 480 seconds]
epoch101 has joined #dri-devel
fab has quit [Quit: fab]
epoch101_ has quit [Ping timeout: 480 seconds]
<alyssa> ..Ok, NIR trivia question..
<alyssa> Is ieq valid on 1-bit bools? What about ine?
<alyssa> (Can we done xnor in one op?)
<alyssa> 27 files changed, 36 insertions(+), 211 deletions(-)
<alyssa> Yeah...
feaneron has joined #dri-devel
<alyssa> Am I scared to CTS/shader-db this? Sure am.
<pendingchaos> I don't know if it's valid, but it should work with ACO anyway
Duke`` has joined #dri-devel
kode545 is now known as kode54
<glehmann> alyssa: iirc both 1bit ieq and ine are valid and used
YuGiOhJCJ has joined #dri-devel
<alyssa> Cool
<alyssa> because ir3 doesn't think so (:
<glehmann> we should probably document/validate which ops can be used with 1bit vals, but that's annoying work
<alyssa> yeah..
<alyssa> in the interet of fairnes we should also allow iadd
<alyssa> with equivalent behaviour to ine
<alyssa> ineg, with equivalent behaviour to mov
<alyssa> ...
<alyssa> :p
jsa1 has joined #dri-devel
sima has quit [Ping timeout: 480 seconds]
haaninjo has quit [Quit: Ex-Chat]
Gatherer has quit [Read error: Connection reset by peer]
The_Company has joined #dri-devel
sima has joined #dri-devel
Company has quit [Ping timeout: 480 seconds]
pcercuei has joined #dri-devel
<alyssa> Kayden: yeah but those stages suck :p
<alyssa> oops
<jenatali> Wouldn't ineg be not, instead of mov, if we're treating i1 as 0/~0 (i.e. -1 in 2s complement)?
<alyssa> jenatali: -x = (~x) + 1 = ~(~x) = x
mvlad has quit [Remote host closed the connection]
<alyssa> yes i am trolling
<jenatali> Ah yeah ok
<alyssa> jenatali: or if you prefer, the only bit is the sign bit
<jenatali> Right, -0 == 0, and -1 would be 1 but that wraps back around to -1
<alyssa> -(INT32_MIN) = INT32_MIN and all that jazz
<alyssa> likewise, -(INT1_MIN) = INT1_MIN
<alyssa> isn't modular arithmetic fun
<alyssa> `-1 = 1 mod 2`
<jenatali> Yep
<alyssa> or if you prefer, `2x = 0 mod 2` hence `x = -x mod 2`
<jenatali> I'm sorry I said anything :P
<alyssa> i am waiting for intel shader-db to compile, i've got lots of math trolling time free :p
<alyssa> (building AGX shaderdb on x86 is.. a lot faster than building for intel gpu,.)
<alyssa> compiling every fragment shader twice is great
<HdkR> More cores for more faster, just get like 48 :D
tlwoerner has joined #dri-devel
<alyssa> HdkR: I can tell when shaderdb is done based on when the fans stop (:
<HdkR> Oh hey, that's how I recognize that binaryninja is done
<alyssa> my macbook is fanless \o/
tlwoerner_ has quit [Ping timeout: 480 seconds]
sima has quit [Ping timeout: 480 seconds]
Duke`` has quit [Ping timeout: 480 seconds]
<HdkR> I think if I put enough radiator on this Threadripper I /could/ be fanless.
<alyssa> Lol
<dwfreed> anything can be fanless with a large enough radiator
<dwfreed> the problem is "large enough" is often substantially larger than one usually has space for
ahadi has quit [Remote host closed the connection]
<alyssa> Oh gahhhhh
<alyssa> I now see why these opcodes exist.
* alyssa twiddles her blue badge in frustration
<alyssa> awful. well, I tried
jsa1 has quit [Ping timeout: 480 seconds]
jsa1 has joined #dri-devel
epoch101 has quit [Ping timeout: 480 seconds]
glennk has quit [Ping timeout: 480 seconds]
<pac85> Maybe ai could make use of those 1 bit signed integers
<Kayden> maybe we can lower those 1 bit numbers to tomatoes and throw them at things
<alyssa> pac85: vec32!
<pac85> lol
<pac85> Mmm would dot product be bit_count(a&b) & 1
<karolherbst> pac85: ..... well cuda has support for it
<pac85> Ah
alyssa has quit [Quit: alyssa]
<karolherbst> I know for certain it's not a thing on hw 🙃
TMM has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM has joined #dri-devel
Mangix has quit [Ping timeout: 480 seconds]
<pac85> Messed up lol
helmhotz_ has quit []
helmhotz has joined #dri-devel
epoch101 has joined #dri-devel
epoch101 has quit [Read error: Connection reset by peer]
Mangix has joined #dri-devel
epoch101 has joined #dri-devel
Gatherer has joined #dri-devel
archon has quit [Remote host closed the connection]
jsa1 has quit [Ping timeout: 480 seconds]
Mis012[m] has joined #dri-devel
<Mis012[m]> AI likes 1.5bit, Nvidia should really get on that
apinheiro has quit [Quit: Leaving]
jfalempe has joined #dri-devel
epoch101 has quit [Ping timeout: 480 seconds]
luc has joined #dri-devel
luc has quit [Remote host closed the connection]
Gatherer has quit [Quit: Leaving]
<ngcortes> qq; is there a way to manually reset the gpu when a gpu hang occurs? also, if there are concurrent processes running that are using the gpu, is there a way to "pause" those processes when a gpu reset occurs (ie. after a gpu hang)?
<ngcortes> on i915/xe of course
karolherbst has quit [Ping timeout: 480 seconds]
Kayden has quit [Quit: -> home]
karolherbst has joined #dri-devel
ced117 has joined #dri-devel
ced117_ has quit [Ping timeout: 480 seconds]
pcercuei has quit [Quit: dodo]