ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
Company has quit [Quit: Leaving]
pendingchaos has quit [Remote host closed the connection]
mlankhorst has quit [Ping timeout: 480 seconds]
eukara has quit []
pendingchaos has joined #dri-devel
oneforall2 has quit [Quit: Leaving]
<jekstrand>
Brought to you by the creators of the pentium 4...
<imirkin>
deeper pipeline will solve everything.
<graphitemaster>
Okay but that barrel shifter was pretty neat tho
<graphitemaster>
There was a time when video games didn't use graphics accelerators and the pentium 3 chewed through bitwise math quicker than frankly anyone deserved
<graphitemaster>
s/3/4
<graphitemaster>
Now a days I do a bitwise math on a GPU and I have a very bad time.
<jekstrand>
Yeah... GPUs aren't exactly optimized for integers. Usually they slow them down to the same rate as float add/mul.
<graphitemaster>
We poured all our soul and energy into making multiplication fast
<bnieuwenhuizen>
jekstrand: I thought GPUs were pretty good at float add/mul, is that really slowing them down?
<graphitemaster>
No one understands what makes GPUs slow anymore. There was once a time I had to sample a cubemap to compute square roots because that was faster than actually doing square roots.
<graphitemaster>
Now a days you sample a texture and you have a very bad time.
<graphitemaster>
Those pesky GPU designers, they can't keep anything consistent
<bnieuwenhuizen>
memory interactions are expensive in HW these days
<bnieuwenhuizen>
no matter GPU or CPU or NN accelerator
<HdkR>
now these days the hardware makers just embed a lookup table directly in hardware for square roots :P
<graphitemaster>
They should embed lookup tables of actually useful things in hardware like noise functions
<graphitemaster>
Do you know how much of my rendering is wasted evaluating procedural noise
<jekstrand>
They're good to be sure but you can always do integer and/or/not faster. They just don't care about those operations enough to bother with variable cycle count instructions or, of they do, they lump them in with integer add which is way slower.
maxzor_ has joined #dri-devel
<HdkR>
Gotta love the random "noise" function. What type of noise? Dunno, it's noise.
<HdkR>
Here, have zero. It'll be noisy enough
<jekstrand>
Also, you tend to have quite a bit of dispatch and register load/store overhead.
maxzor_ has quit [Remote host closed the connection]
maxzor_ has joined #dri-devel
<graphitemaster>
HdkR, The generation of random numbers is too important to be left to chance
<jekstrand>
HdkR: SPIR-V formally defines it to be zero. I really don't know why they added the opcode at all. 🤦
<HdkR>
lol wtf, I wasn't aware of that
<graphitemaster>
No fuckin' way. Like constant 0 always?
<HdkR>
It's already zero on every implementation. It's just a formalization at that point.
<graphitemaster>
That's like xkcd chosen by fair die roll levels of sad
maxzor_ has quit [Remote host closed the connection]
maxzor_ has joined #dri-devel
<jekstrand>
Actually, I'm wrong. I think it was in early versions of the spec but it got deleted before we shipped, thankfully.
<HdkR>
whew, thank goodness
<jekstrand>
So I guess we dodged that bullet.
<bnieuwenhuizen>
jekstrand: they end up just putting more bitwise operations in a single instruction
<jekstrand>
But I'm pretty sure it was in there at one point.
<bnieuwenhuizen>
we have stuff like or3, and_or, xor3 and stuff (still trying to find the crypto accel set)
maxzor has quit [Ping timeout: 480 seconds]
<jekstrand>
I think someone (Mali, maybe?) has one that's three sources and a 8-bit immediate LUT.
<jekstrand>
alyssa would know
<alyssa>
Ye have summoned me from my slumber.
* jekstrand
puts his spellbook away
<alyssa>
Ah yes
<alyssa>
Bifrost and Valhall have a family of ops computing
<alyssa>
~(~a | (b << c))
<alyssa>
(or maybe the ~ is on the b, doesn't matter)
<graphitemaster>
So if noise functions always return 0, does that weird Python script mentioned in jekstrand's recent blog post on NIR just replace calls to it with constant zero and if so can I start initializing all my variables with it instead of zero just to level the driver playing field?
<alyssa>
each not is optional, the | can also be & or ^, the << can be >>
<alyssa>
all combinationals work, not all useful.
<graphitemaster>
That sounds a lot like LOP3 on NV
<jekstrand>
graphitemaster: yes. No, I wouldn't recommend initializing your variables with it. NVIDIA probably had noise hardware. 😂
<graphitemaster>
NV has a PTX instruction (LOP3.B32) which can do arbitrary logical boolean operations on three variables, and you encode the lookup table in the immediate as part of the instruction, it's really cool. I spent a whole weekend just hand writing LOP3 for fun
<anholt>
alyssa: you mentioned sanity-checking drivers using drm-shim. any thoughts on that? Did you find there's an interesting subset that can actually pass/fail tests with a noop shim, or should I aim for "check driver info using shim, then just run the whole thing and only check for Crash results"?
<anholt>
(looks like I've got an r300 shim now, because I was sick of trying to sanity-check shader-db by swapping r300 and r600 cards around)
eukara has joined #dri-devel
Duke`` has joined #dri-devel
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
Surkow|laptop has quit [Quit: 418 I'm a teapot - NOP NOP NOP]
mlankhorst has joined #dri-devel
sdutt has quit [Ping timeout: 480 seconds]
gouchi has joined #dri-devel
Company has joined #dri-devel
mszyprow has joined #dri-devel
<austriancoder>
alyssa: is that Valhall Instruction Set Reference pdf generated from XML? If so where can I find that pice of magic?
mszyprow has quit [Read error: Connection reset by peer]
The_Company has quit [Read error: Connection reset by peer]
Company has joined #dri-devel
heat_ has joined #dri-devel
heat has quit [Read error: Connection reset by peer]
flacks has quit [Quit: Quitter]
flacks has joined #dri-devel
danvet has joined #dri-devel
gpoo has quit [Quit: Leaving]
Danct12 has quit [Remote host closed the connection]
mszyprow has joined #dri-devel
<alyssa>
anholt: no useful tests that would pass, but focusing on a single test and dumping gpu data structures + shaders (think intel aub) and manually sanity checking the dump proved useful
<alyssa>
Admittedly that's only practical since I have a depressingly good mental model for mali
<alyssa>
Also running useful subsets (e.g. shaders.foo.*) and checking for crashes, yes.
<alyssa>
(that spotted some unimplemented instructions. Doesn't tell me after if the implementation is /correct/, but that's compiler unit tests are helpful for.)
<alyssa>
austriancoder: mostly from XML yeah
<alyssa>
with the beginnings and ends handwritten markdown
gouchi has quit [Remote host closed the connection]
gouchi has joined #dri-devel
<airlied>
anholt: seen "ERROR - Failure getting run results: parsing results: unknown dEQP status 'Info' (See "/mnt/devel/ctsrun/master-output/c19.r1.log")"
<airlied>
latest VK cts and deqp-runner
Haaninjo has joined #dri-devel
bcarvalho has joined #dri-devel
bcarvalho has quit []
sdutt has joined #dri-devel
gouchi has quit [Remote host closed the connection]
mszyprow has joined #dri-devel
<cheako>
Is there anything else I can collect regarding the video I've been trying to work on?
mszyprow has quit [Ping timeout: 480 seconds]
<daniels>
cheako: the best thing you could do is to collate it into a bug report rather than IRC
<cheako>
Yes, I can open a bug... However, it would be dumb of me to consider someone finger pointing and closing it rather quickly.
<cheako>
...Just saying, it would be better if the bug report was expected by someone who was going to work on it.
<Sachiel>
that's not how bug reports work
<imirkin>
cheako: it would be better. but you're not paying for support here. so it doesn't work like that :)
<imirkin>
file your bug, hope someone takes a look
<imirkin>
the bug gives you an opportunity to present the information clearly so that someone can look at it quickly
<imirkin>
the harder it is to look at the issue, the less likely it is to get resolved
<alyssa>
please file Asahi driver bugs to /dev/null
<imirkin>
alyssa: can /dev/null take the volume? :)
mszyprow has joined #dri-devel
<alyssa>
yes
<alyssa>
web scale
<alyssa>
powered by mongodb
<imirkin>
:)
<imirkin>
yeah, cockroachdb wouldn't work well here
<imirkin>
(is that still a thing people talk about? or was it the end of the line of horrible ideas?)
<DrNick>
use io_uring IORING_OP_SPLICE for maximum performance
<bnieuwenhuizen>
wait, was cockroachdb horrible?
<imirkin>
i mean ... all in the eye of the beholder i suppose
<bnieuwenhuizen>
I dunno, I just heard it was kinda like open-source variant of Spanner and I think Spanner is quite nifty. :shrug:
<imirkin>
they have the comcast logo on their page, so i feel like that puts an upper bound on the how good the idea can be :)
<imirkin>
not familiar with spanner ... that was after my time
<imirkin>
anyways, i never worked with it directly. my experience with some of the "trendy" things was that they were extremely poorly thought out. like mongodb, at least when i used it, had no concept of "delete"
<zmike>
personally I power my databases with zomboDB