ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
jkrzyszt has quit [Ping timeout: 480 seconds]
ngcortes has quit [Remote host closed the connection]
<alyssa>
jekstrand: mesa builds on m1 are scary fast even with clean ccache
<alyssa>
heck i built vk-gl-cts on the m1 in like 2 minutes..
idr has joined #dri-devel
<idr>
I'm assuming that v3d being stuck is known?
<alyssa>
Stuck to what? :putty:
<idr>
Stuck not running CI jobs.
<idr>
"This job is stuck because you don't have any active runners online or available with any of these tags assigned to them:"
nchery has quit [Quit: Leaving]
<idr>
alyssa: Some Deus Ex shaders had that dp4a pattern. It looks like I forgot to add the shader-db info in the commit that enables the instruction.
<alyssa>
idr: Wild, ok
<idr>
That was what actually got me on the dp4a thing in the first place. :)
<alyssa>
It's clever, it just seems like such an odd pattern for GL :)
<idr>
Yeah.
<idr>
The bummer is that it doesn't help very much.
<alyssa>
nod
imirkin_ has quit [Quit: Leaving]
<idr>
Deletes a handful of instructions, then the Tiger Lake scheduler goes to town... and results in a pile of extra nops.
<idr>
Basically a wash for cycles.
<alyssa>
what's TL scheduling like?
<alyssa>
TGL
<pinchartl>
jekstrand: M1 is Cortex M1 in my book, that won't be powerful enough. anything else that would happen to be named M1 as well isn't worth being considered ;-)
<pinchartl>
(although I've heard they can be nice toys for people interested in reverse engineering)
<idr>
alyssa: TGL is different from previous GPUs because the register scoreboarding is done in software... so we have to insert nops here and there to synchronize things.
<idr>
And our scheduler isn't very aware of that, so it doesn't do a great job. :shock: :)
gpoo has quit [Ping timeout: 480 seconds]
gpoo has joined #dri-devel
Lightkey has quit [Ping timeout: 480 seconds]
anujp has quit [Remote host closed the connection]
Lightkey has joined #dri-devel
tursulin has quit [Remote host closed the connection]
nsneck has quit [Read error: Connection reset by peer]
* ccr
warily glances around in case the ghost of S3, Inc appears, too.
<DrNick>
maybe the real S3 was the patents we had to work around along the way
<graphitemaster>
It's okay, I heard the next big texture compression format to avoid from patents for GPUs will be wavelet transform based, rather than block based because we all deeply miss PVRTC right?
<alyssa>
👋
ngcortes has joined #dri-devel
<Venemo>
alyssa and idr if you have time, we'd greatly appreciate if you guys could continue your review of MR 8056
<alyssa>
what's i do now
<alyssa>
oh. if I don't look on monday ping me then 👍
<DrNick>
at least DirectStorage puts the compression algorithms in the compute shaders shipped with the game instead of shipped with the OS
<graphitemaster>
I'm still salty about the fact GPUs have video decoders and we can't use them in games. Imagine just encoding a faux HEVC stream of game assets one a frame (suppose you'd need to pad them or sort by resolution and have a few), when you need an asset, seek the demuxer to the right frame, spit the encoded window onto the GPU, have then some compute shader copies the surface into texture to be used on demand
<graphitemaster>
Basically HEIF would be pretty rad. Does suck for sampling though since you lower your cache utilization.
<graphitemaster>
I've also thought about using the video encoder part of the GPU which has to generate motion vectors for each macro block anyways for a sort of "free" velocity buffer to be used by stuff like TAA.
danvet has joined #dri-devel
<graphitemaster>
The issue is everytime I tried prototyping something this cursed (yes I've tried) it's just too latent.
alyssa has left #dri-devel [#dri-devel]
<graphitemaster>
It's kind of weird how slow the video engine actually is, I guess no one has really attempted to use it for real-time uses.
<jenatali>
graphitemaster: D3D12 did add a dedicated motion estimation API, IIRC it was intended to be used for VR scenarios to improve the quality/efficiency of late-stage reprojection
dliviu has quit [Ping timeout: 480 seconds]
<graphitemaster>
jenatali, Yeah I remember reading something like that on their blog, step in the right direction. I think there's more untapped potential here though. Tons of engines require things like TAA because the scene is so massively undersampled (micropoly), and the only place to get more samples is temporally since GPUs are frankly still not that fast enough for actual light transport... and like, we have this weird always recording
<graphitemaster>
behavior on consoles and Windows now where you have a full video encoder, motion predictor, mostion estimation, etc constantly running, and none of it is accessible.
<graphitemaster>
And like all of that crap would be immensely useful for solving the undersample problem, which engines are already duplicating effectively in shaders
<graphitemaster>
My hope was the Vulkan Video API stuff would expose more of this stuff but I think they just didn't see the use-cases because that work looks purely like it's for video playback and nothing more.
dliviu has joined #dri-devel
macromorgan has quit [Read error: Connection reset by peer]
macromorgan has joined #dri-devel
ngcortes has quit [Remote host closed the connection]
nsneck_ has quit [Ping timeout: 480 seconds]
<tzimmermann>
zackr, i cherry-picked your lost patches into drm-misc-fixes. but 266332367e2d ("drm/vmwgfx: Fix implicit declaration error") turned out to be empty. has this issue been fixes already
<tzimmermann>
s/fixes/fixed
lemonzest has quit [Quit: Quitting]
Putti has quit []
<Venemo>
can someone help me better understand transform feedback? some parts of it are very confusing
<Venemo>
AFAIU it just writes all vertex attributes to up to 4 different streams, one of which is the "rasterization stream", so each vertex is either rasterized or stored in one of 3 buffers, right?
<Venemo>
however, does every vertex that belongs to the same primitive have to be in the same stream?
<Venemo>
also, if a vertex is used by more than one primitive, is it duplicated?
<Venemo>
does only GS have to deal with the different streams, or other types of shaders too?
tzimmermann has quit [Quit: Leaving]
Lyude has quit [Quit: WeeChat 3.2]
Lyude has joined #dri-devel
thellstrom has joined #dri-devel
<glennk>
i think if you are not utterly confused by transform feedback streams you are not in the right state of mind to implement it
<Venemo>
:D
xexaxo_ has joined #dri-devel
xexaxo has quit [Ping timeout: 480 seconds]
<Venemo>
what happens if not all vertices in a primitive belong to the same stream?
<pendingchaos>
isn't the steam index per-attribute, not per-vertex?
<pendingchaos>
(attributes belong to a stream, not vertices)
<pendingchaos>
looking at GLSL/SPIR-V specs, it seems multiple streams is a geometry shader feature
<pendingchaos>
I assume a buffer with more than one stream is invalid
<pendingchaos>
IIUC, streams and buffers aren't the same thing, and a stream can use one or more buffers