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. 😂
<alyssa> jekstrand: guerrilla foss graphics activism
<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
pcercuei has quit [Quit: dodo]
<jekstrand> Ok, so the GLSL spec does require nose to be 0: https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.4.60.html#noise-functions
<ccr> nose-noise?
<jekstrand> 😝
<graphitemaster> No Pinocchio since 0 nose
<jekstrand> I could have sworn someone tried to put noise in SPIR-V....
<alyssa> jekstrand: Ooh I know what you're thinking of now, yes
<alyssa> *Midgard*'s conditional branch that takes up to 4 boolean inputs and a 16-bit immediate LUT deciding whether to take the branch
<graphitemaster> 14fps lol
<alyssa> jekstrand: I presented on the r/e of that at XDC2019
<alyssa> never implemented in Mesa, though
<jekstrand> 🙁
<graphitemaster> So midgard has LOP4
<alyssa> But only for branches
<alyssa> and also none of the inputs are actually inputs
<alyssa> they're side channels written to within the same VLIW ALU bundle
lemonzest has quit [Quit: WeeChat 3.4]
<jekstrand> 😩
columbarius has joined #dri-devel
co1umbarius has quit [Ping timeout: 480 seconds]
<bnieuwenhuizen> HdkR: 4k? What are you running that on?
<HdkR> bnieuwenhuizen: 4k, RX 5700. Emulated CPU
<graphitemaster> Is there anything like __syncwarp in GLSL
<bnieuwenhuizen> Yeah, was just surprised anything IGPU would do 14 fps at 4k
<bnieuwenhuizen> Then I remembered I don't know what this game does in the menu wrt fps
<HdkR> pressure-vessel needs changes before I can even think about testing it on Snapdragon :)
<HdkR> graphitemaster: Have you tried barrier?
<graphitemaster> HdkR, Not the same thing
<graphitemaster> barrier is more like __syncthreads
<HdkR> I don't think glsl has a same thing compared to that cuda concept
<graphitemaster> __syncwarp lets you specify the lanes (threads) as a mask
<graphitemaster> So it's basically a more granular __syncthreads
<graphitemaster> Really useful because on NV GPUs threads within a warp can be scheduled separately
<graphitemaster> GLSL still assumes threads are scheduled together *shrug*
lemonzest has joined #dri-devel
jewins has quit [Ping timeout: 480 seconds]
gpoo has joined #dri-devel
craftyguy_ has joined #dri-devel
craftyguy has quit [Ping timeout: 480 seconds]
<ishitatsuyuki> HdkR, graphitemaster: vulkan glsl has subgroupBarrier() which is a full warp barrier, but it doesn't support syncing with a mask
<HdkR> ah, cute
<graphitemaster> ishitatsuyuki, Ah and they did port it to GL https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_shader_subgroup.txt
boistordu has quit [Ping timeout: 480 seconds]
mclasen has joined #dri-devel
mclasen has quit []
mclasen has joined #dri-devel
mclasen has quit [Ping timeout: 480 seconds]
heat_ has quit [Ping timeout: 480 seconds]
maxzor_ is now known as maxzor
sdutt has quit [Ping timeout: 480 seconds]
sdutt has joined #dri-devel
craftyguy_ is now known as craftyguy
ppascher has quit [Ping timeout: 480 seconds]
<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]
mszyprow has joined #dri-devel
The_Company has joined #dri-devel
Company has quit [Ping timeout: 480 seconds]
<ishitatsuyuki> "As we learn about the data structures [through reverse-engineering], we document our findings in a formal XML hardware description."
<austriancoder> ishitatsuyuki: now I only want to see the source that goes from XML to pdf. I might want something like that too.
gouchi has quit [Remote host closed the connection]
mriesch has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
mriesch has joined #dri-devel
mszyprow has quit [Ping timeout: 480 seconds]
pcercuei has joined #dri-devel
Haaninjo has joined #dri-devel
Duke`` has quit []
heat_ has joined #dri-devel
heat_ has quit []
heat has joined #dri-devel
Duke`` has joined #dri-devel
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
<alyssa> it's nothing to write home about but it got the job done
<alyssa> "learn isaspec" has been on my todo list forever but meh
mszyprow has quit [Ping timeout: 480 seconds]
<austriancoder> alyssa: thanks for the link .. maybe I can generate something like this from isaspec xml
heat_ has quit [Ping timeout: 480 seconds]
maxzor has quit [Ping timeout: 480 seconds]
gawin has joined #dri-devel
i-garrison has quit []
Haaninjo has quit [Quit: Ex-Chat]
libv_ is now known as libv
The_Company has joined #dri-devel
Company has quit [Ping timeout: 480 seconds]
The_Company has quit [Ping timeout: 480 seconds]
Company has joined #dri-devel
gawin has quit [Ping timeout: 480 seconds]
<cheako> https://drive.google.com/drive/folders/1u5dTh1esfT-22M3q9-hL5glf_xf1eUac https://youtu.be/QMBp0B9BCFQ These links I've posted b4. The Google Drive has two renderdoc captures from low and good FPS, while the video demonstrates the problem while it's description documents it.
heat_ has joined #dri-devel
BobBeck has joined #dri-devel
italove31 has joined #dri-devel
italove3 has quit [Ping timeout: 480 seconds]
Danct12 has joined #dri-devel
heat_ has quit [Ping timeout: 480 seconds]
gawin has joined #dri-devel
Surkow|laptop has joined #dri-devel
heat has joined #dri-devel
heat has quit [Remote host closed the connection]
gouchi has joined #dri-devel
MajorBiscuit has joined #dri-devel
gawin has quit [Ping timeout: 480 seconds]
mlankhorst has quit [Ping timeout: 480 seconds]
maxzor has joined #dri-devel
mlankhorst has joined #dri-devel
MajorBiscuit has quit [Quit: WeeChat 3.3]
i-garrison has joined #dri-devel
Duke`` has quit [Ping timeout: 480 seconds]
Duke`` has joined #dri-devel
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
oneforall2 has joined #dri-devel
* zmike wonders if zombo.com jokes are too old
<imirkin> i must have missed that one
<cheako> https://gitlab.freedesktop.org/mesa/mesa/-/issues/5625 seems to have been fixed... or at least I'm unable to find the wiki button.
<imirkin> zmike: huh, totally missed that one. pretty sure i never saw that at the time.
<zmike> it's still active
<zmike> and you can still experience the magic of it
<zmike> you can do anything at zombo com.
Duke`` has quit [Ping timeout: 480 seconds]
danvet has quit [Ping timeout: 480 seconds]
<DrNick> they finally ported it from Flash to HTML5 fairly recently
<alyssa> zmike: are you still doing mesa
<zmike> no, I quit to do full-time meme ops
<alyssa> or did you finish zink, said bug reports are jekstrand's fault, and retired
<alyssa> k makes sense
<alyssa> thought i heard that just wanted to check
<zmike> and everyone knows that jekstrand only reads WSI bug reports
<zmike> he lives for them
<imirkin> and ARB_copy_image
<jekstrand> Don't forget CPU format conversion.
<imirkin> that's just bonus
<alyssa> Yeah, ARB_copy_image
mszyprow has quit [Ping timeout: 480 seconds]
mszyprow has joined #dri-devel
sdutt has quit [Ping timeout: 480 seconds]
mszyprow has quit [Ping timeout: 480 seconds]
mlankhorst has quit [Ping timeout: 480 seconds]
join_subline has quit [Remote host closed the connection]