<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu/src/common/bounded_threadsafe_queue.h, branch main</title>
<subtitle>Nintendo Switch emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/'/>
<entry>
<title>Reimplement HardwareOpus</title>
<updated>2023-09-16T15:56:25+00:00</updated>
<author>
<name>Kelebek1</name>
<email>eeeedddccc@hotmail.co.uk</email>
</author>
<published>2023-08-31T14:09:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=67e2d5c28b8423c4f3f1d5b00f87325684158a6f'/>
<id>67e2d5c28b8423c4f3f1d5b00f87325684158a6f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bounded_threadsafe_queue: Refactor Pop</title>
<updated>2023-03-22T02:33:58+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-03-19T19:17:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=197d7565603b2e8274f5c176f73b468ce6aa46a6'/>
<id>197d7565603b2e8274f5c176f73b468ce6aa46a6</id>
<content type='text'>
Introduces PopModes to bring waiting logic into Pop, similar to Push.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduces PopModes to bring waiting logic into Pop, similar to Push.
</pre>
</div>
</content>
</entry>
<entry>
<title>bounded_threadsafe_queue: Add producer cv to avoid busy waiting</title>
<updated>2023-03-22T02:33:57+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-03-19T18:48:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=8c56481249ed1bc0b46bca3aec0c7e86495c5d3a'/>
<id>8c56481249ed1bc0b46bca3aec0c7e86495c5d3a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bounded_threadsafe_queue: Deduplicate and add PushModes</title>
<updated>2023-03-21T23:20:21+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-03-19T18:24:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=407dc917f170cc9d08f3f1f9bdeb9e44ddebc653'/>
<id>407dc917f170cc9d08f3f1f9bdeb9e44ddebc653</id>
<content type='text'>
Adds the PushModes Try and Wait to allow producers to specify how they want to push their data to the queue if the queue is full.
If the queue is full:
- Try will fail to push to the queue, returning false. Try only returns true if it successfully pushes to the queue. This may result in items not being pushed into the queue.
- Wait will wait until a slot is available to push to the queue, resulting in potential for deadlock if a consumer is not running.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds the PushModes Try and Wait to allow producers to specify how they want to push their data to the queue if the queue is full.
If the queue is full:
- Try will fail to push to the queue, returning false. Try only returns true if it successfully pushes to the queue. This may result in items not being pushed into the queue.
- Wait will wait until a slot is available to push to the queue, resulting in potential for deadlock if a consumer is not running.
</pre>
</div>
</content>
</entry>
<entry>
<title>bounded_threadsafe_queue: Add TryPush</title>
<updated>2023-03-21T23:17:38+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-03-19T08:01:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=15d573194c95b95ccf4a5480d8e40a7765a00929'/>
<id>15d573194c95b95ccf4a5480d8e40a7765a00929</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bounded_threadsafe_queue: Use simplified impl of bounded queue</title>
<updated>2023-03-21T23:17:32+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-03-19T07:19:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=306840a5808cae10bf5d91e4b6e8a91cd619386b'/>
<id>306840a5808cae10bf5d91e4b6e8a91cd619386b</id>
<content type='text'>
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
</pre>
</div>
</content>
</entry>
<entry>
<title>common: bounded_threadsafe_queue: Use polyfill_thread.</title>
<updated>2023-03-18T06:42:17+00:00</updated>
<author>
<name>bunnei</name>
<email>bunneidev@gmail.com</email>
</author>
<published>2023-03-18T06:42:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=0eb3fa05e5af341ad2922b96de07f4cf32cba85a'/>
<id>0eb3fa05e5af341ad2922b96de07f4cf32cba85a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CMakeLists: Disable C4100 and C4324</title>
<updated>2022-10-22T19:02:04+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2022-10-21T06:34:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=3822e313232039af810b588646b724e19bc29bfc'/>
<id>3822e313232039af810b588646b724e19bc29bfc</id>
<content type='text'>
Disabling C4100 is similar to -Wno-unused-parameter
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Disabling C4100 is similar to -Wno-unused-parameter
</pre>
</div>
</content>
</entry>
<entry>
<title>bounded_threadsafe_queue: Use constexpr capacity and mask</title>
<updated>2022-06-15T20:59:13+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2022-06-14T12:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=25429998e373c12287ae8da2a1c9c1bbe7bd7047'/>
<id>25429998e373c12287ae8da2a1c9c1bbe7bd7047</id>
<content type='text'>
While this is the primary change, we also:
- Remove the mpsc namespace and rename Queue to MPSCQueue
- Make Slot a private struct within MPSCQueue
- Remove the AlignedAllocator template argument, as we use std::allocator
- Replace instances of mask + 1 with capacity, and mask + 2 with capacity + 1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While this is the primary change, we also:
- Remove the mpsc namespace and rename Queue to MPSCQueue
- Make Slot a private struct within MPSCQueue
- Remove the AlignedAllocator template argument, as we use std::allocator
- Replace instances of mask + 1 with capacity, and mask + 2 with capacity + 1
</pre>
</div>
</content>
</entry>
<entry>
<title>gpu_thread: Move to bounded queue</title>
<updated>2022-06-03T01:37:46+00:00</updated>
<author>
<name>Levi Behunin</name>
<email>l3ehunin@gmail.com</email>
</author>
<published>2022-06-02T07:08:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=4dd6bcd2063909359b08771465c3641876ddf138'/>
<id>4dd6bcd2063909359b08771465c3641876ddf138</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
