A quick fix to prevent reading the wrong value of Count when reregistering ranges for a new target buffer. Buffer flushes from another thread can modify the range list when the lock isn't active, which can change the count. This prevents some crashes in Pokemon Scarlet/Violet. It's probably likely that buffer migration during flush is causing some other issues in this game, but this at least prevents the crashing. |
||
|---|---|---|
| .. | ||
| Buffer.cs | ||
| BufferBounds.cs | ||
| BufferCache.cs | ||
| BufferCacheEntry.cs | ||
| BufferManager.cs | ||
| BufferModifiedRangeList.cs | ||
| BufferTextureBinding.cs | ||
| CounterCache.cs | ||
| GpuRegionHandle.cs | ||
| IndexBuffer.cs | ||
| MemoryManager.cs | ||
| MultiRangeWritableBlock.cs | ||
| PhysicalMemory.cs | ||
| PteKind.cs | ||
| UnmapEventArgs.cs | ||
| VertexBuffer.cs | ||