<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu/src/core/device_memory_manager.inc, branch main</title>
<subtitle>Nintendo Switch emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/'/>
<entry>
<title>core: Improve device memory and buffer queue handling</title>
<updated>2025-05-11T11:17:03+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-01-06T10:04:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=4f61ee284f4b0af64f38433f5bacaa5bb72e39a6'/>
<id>4f61ee284f4b0af64f38433f5bacaa5bb72e39a6</id>
<content type='text'>
This commit makes several improvements to device memory management and buffer
queue handling:

DeviceMemoryManager:
- Add null pointer and size checks for ReadBlock
- Fill unmapped memory with a known pattern (0xCC) instead of zeros
- Add better error logging for invalid memory accesses
- Add null pointer check for source pointer in memcpy

BufferQueueProducer:
- Improve error handling in WaitForFreeSlotThenRelock
- Add proper abandoned state checking during wait conditions
- Clean up and simplify buffer scanning logic
- Improve logging messages with more descriptive information
- Remove redundant buffer count validation
- Fix potential infinite loop condition during wait

These changes improve stability and error handling while making the code more
maintainable and debuggable. The use of a known pattern for unmapped memory
helps identify uninitialized memory access issues.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit makes several improvements to device memory management and buffer
queue handling:

DeviceMemoryManager:
- Add null pointer and size checks for ReadBlock
- Fill unmapped memory with a known pattern (0xCC) instead of zeros
- Add better error logging for invalid memory accesses
- Add null pointer check for source pointer in memcpy

BufferQueueProducer:
- Improve error handling in WaitForFreeSlotThenRelock
- Add proper abandoned state checking during wait conditions
- Clean up and simplify buffer scanning logic
- Improve logging messages with more descriptive information
- Remove redundant buffer count validation
- Fix potential infinite loop condition during wait

These changes improve stability and error handling while making the code more
maintainable and debuggable. The use of a known pattern for unmapped memory
helps identify uninitialized memory access issues.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #13000 from liamwhite/skip-null-memory</title>
<updated>2024-02-22T17:34:23+00:00</updated>
<author>
<name>Narr the Reg</name>
<email>juangerman-13@hotmail.com</email>
</author>
<published>2024-02-22T17:34:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=2b3f1d3fc53c1b7a729c3f1cebbddebcd9427952'/>
<id>2b3f1d3fc53c1b7a729c3f1cebbddebcd9427952</id>
<content type='text'>
device_memory_manager: skip unregistered interfaces on invalidate</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
device_memory_manager: skip unregistered interfaces on invalidate</pre>
</div>
</content>
</entry>
<entry>
<title>scope_exit: Make constexpr</title>
<updated>2024-02-19T15:00:46+00:00</updated>
<author>
<name>FearlessTobi</name>
<email>thm.frey@gmail.com</email>
</author>
<published>2024-02-19T15:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=310c1f50beb77fc5c6f9075029973161d4e51a4a'/>
<id>310c1f50beb77fc5c6f9075029973161d4e51a4a</id>
<content type='text'>
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
</pre>
</div>
</content>
</entry>
<entry>
<title>device_memory_manager: skip unregistered interfaces on invalidate</title>
<updated>2024-02-13T01:02:59+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-02-13T01:02:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=461eaca7e83e45a311a1d92a2de6d6a54b2405ab'/>
<id>461eaca7e83e45a311a1d92a2de6d6a54b2405ab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SMMU: Ensure the backing address range matches the current</title>
<updated>2024-02-07T22:47:42+00:00</updated>
<author>
<name>Fernando Sahmkow</name>
<email>fsahmkow27@gmail.com</email>
</author>
<published>2024-02-07T22:47:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=ae833aa9c0c26865c2b7d091a09c19212e894018'/>
<id>ae833aa9c0c26865c2b7d091a09c19212e894018</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Device Memory Manager: ensure raster protection only within mapped device addresses.</title>
<updated>2024-01-31T15:38:51+00:00</updated>
<author>
<name>Fernando Sahmkow</name>
<email>fsahmkow27@gmail.com</email>
</author>
<published>2024-01-31T13:31:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=d57165df450e8a2fa811706758fb8ab352f623ae'/>
<id>d57165df450e8a2fa811706758fb8ab352f623ae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>DeviceMemory: Make counter types configurable</title>
<updated>2024-01-31T15:38:51+00:00</updated>
<author>
<name>Fernando Sahmkow</name>
<email>fsahmkow27@gmail.com</email>
</author>
<published>2024-01-30T19:14:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=738e9a79a06c9d3955488022a1d3afd67bc5a11d'/>
<id>738e9a79a06c9d3955488022a1d3afd67bc5a11d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>smmu: use new range mutex construction for protecting counters</title>
<updated>2024-01-31T15:38:51+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-17T04:35:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=8f848f43e979ac4049237d3b6a161696dd85372b'/>
<id>8f848f43e979ac4049237d3b6a161696dd85372b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>device_memory_manager: fix ScratchBuffer indexing</title>
<updated>2024-01-22T19:07:33+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-22T19:07:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=550cadbee47fc31acfff08e805403d214e2d05ce'/>
<id>550cadbee47fc31acfff08e805403d214e2d05ce</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>device_memory_manager: use unique_lock for update</title>
<updated>2024-01-19T02:12:30+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-16T02:56:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=748465f5a578fcd99f91e0591ac773940172a72e'/>
<id>748465f5a578fcd99f91e0591ac773940172a72e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
