Zopolis4_ has quit [Quit: Connection closed for inactivity]
bbrezillon has joined #dri-devel
paulk has quit [Quit: WeeChat 3.0]
bbrezillon has quit [Ping timeout: 480 seconds]
JohnnyonF has quit [Ping timeout: 480 seconds]
jannau has joined #dri-devel
bbrezillon has joined #dri-devel
<adavy>
Would someone know if it is required to release a mutex after a cnd_signal and not before ? Basically I have a thread that waits a variable to be 1. check the variable with a mutex, and release the mutex with cnd_wait to wait the other thread changes it. The other thread locks the mutex, changes the variable, calls cnd_signal, and then unlocks the mutex. I want to know if I can unlock the mutex before
<adavy>
the cnd_signal.
paulk has joined #dri-devel
<adavy>
With nine multithreading, I have a benchmark where I can see a lot of time is spent somehow in these mutexes, and if I move the signal after the unlock, that goes away. But I don't know whether this is legal.
<adavy>
I can see why this hurts performance to not release it before the cnd_signal (the other threads wakes up, to find that the mutex is already held, which is heavy)
fab has joined #dri-devel
fab has quit [Ping timeout: 480 seconds]
Danct12 has quit [Ping timeout: 480 seconds]
<adavy>
according to the docs I read, this seems to be legal
Putti has joined #dri-devel
kts has joined #dri-devel
kts has quit [Quit: Konversation terminated!]
<emersion>
swick[m]: displayid 2.1 has an adaptive sync with flags and values for flickering and rate changes
<emersion>
section 4.9
<emersion>
an adaptive sync block*
<emersion>
it's new in 2.1, can't find it in either 1.x nor 2.0
kts has joined #dri-devel
clem_ has quit [Remote host closed the connection]
clem_ has joined #dri-devel
<MrCooper>
nice, here's hoping the values in there will be accurate
<emersion>
the VESA CTS requires these to be accurate
<emersion>
so there's at least _some_ hope
<emersion>
also an issue is that we still can't read displayid
<emersion>
kernel doesn't expose it, so we don't even know what's in there
heat has joined #dri-devel
libv_ has joined #dri-devel
libv is now known as Guest176
libv_ is now known as libv
agd5f has quit [Read error: No route to host]
Guest176 has quit [Ping timeout: 480 seconds]
agd5f has joined #dri-devel
heat has quit [Read error: Connection reset by peer]
heat has joined #dri-devel
Jeremy_Rand_Talos__ has quit [Remote host closed the connection]
YuGiOhJCJ has quit [Remote host closed the connection]
kzd has joined #dri-devel
thellstrom has joined #dri-devel
kts has joined #dri-devel
dcl^ has quit [Ping timeout: 480 seconds]
lanodan has joined #dri-devel
thellstrom has quit [Ping timeout: 480 seconds]
iive has joined #dri-devel
JohnnyonFlame has joined #dri-devel
<ishitatsuyuki>
adavy: yes, this is a well known problem, but it's well known enough that common pthread implementations specifically have mitigations for this case
<ishitatsuyuki>
in short, when a condvar is signaled with the mutex locked, it should use FUTEX_CMP_REQUEUE to move the waiter from waiting on the condvar to wait on the mutex instead
junaid has quit [Remote host closed the connection]
heat has quit [Read error: No route to host]
heat has joined #dri-devel
saikat has joined #dri-devel
<saikat>
Hello Sir! Help wanted.. about freedreno gallium driver modification.. anyone can help?
<HdkR>
Is it just me or is it when an application uses EXT_swap_control_tear, it overrides `vblank_mode`?
Putti has quit []
penguin42 has joined #dri-devel
<HdkR>
Looks like if `GLX_LATE_SWAPS_TEAR_EXT` is used then it overrides vblank_mode=0
<HdkR>
Or just this game is /really/ good at timing to 60
<HdkR>
Seems to be the case
<graphitemaster>
Is there a reason AMD_shader_ballot and the KHR extensions are not supported in OpenGL on radeonsi. It's interesting that these GLSL extensions work fine on Windows on NV and AMD (I understand they're Vulkan/SPIRV primarily) but it's making it hard to port some stuff to Linux :(
<graphitemaster>
Sitting here polyfilling most of the arithmetic with loops and readInvocationARB
<HdkR>
You get GL_ARB_shader_ballot right?
<graphitemaster>
Yeah, but no GL_AMD_shader_ballot or GL_KHR_shader_subgroup_arithmetic which is useful for doing prefix sums
<graphitemaster>
So I have to do the polyfill method which I guess is fine. I hope the shader compiler is smart enough to turn it into a subgroup op XD
<HdkR>
Oh it is just missing
<graphitemaster>
The GPU definitely supports it. It's there in Vulkan. It's just not exposed in GL on mesa for some reason.
<airlied>
just nobody bothered most likely
<HdkR>
Seems to be the case, can't even find a discussion about it