This whole process was also done when only a single view was added (and no handles were changed), however. This is generally created when the group is established, with each handle looping over all views to find its overlaps. Texture group handles must store a list of their overlapping views, so they can be properly notified when a write is detected, and a few other things relating to texture readback. * GPU: Fast path for adding one texture view to a group * remove LINQ completely from KScheduler/KPriorityQueue by implementing a custom struct-based enumerator * add default implementation of IVirtualMemoryManager.Write(ulong, ReadOnlySequence) remove previous explicit implementations * fix: StreamExtension.WriteByte not writing non-zero values for lengths ) * add constants for nanosecond/millisecond conversions * use RecyclableMemoryStream in StreamUtils, and use StreamUtils in EmbeddedResources * reduce LINQ-induced memory allocations with custom methods to query KPriorityQueue * rework IpcMessage and related types to greatly reduce memory allocation by using RecylableMemoryStream, keeping streams around longer, avoiding their creation when possible, and avoiding creation of BinaryReader and BinaryWriter when possible * add write ReadOnlySequence support to IVirtualMemoryManager * simple replacments of MemoryStream with RecyclableMemoryStream * add StreamExtensions to reduce need for BinaryWriter * organize BinaryReader/BinaryWriter extensions * add RecyclableMemoryStream dependency and MemoryStreamManager Allocate DeviceLocal buffers using a separate block list to images. * Make PinnedSpan from ReadOnlySpan explicitly unsafe * Disallow backing swap when the flush lock is held by the current thread * Migrate only when command buffers flush * Make GPU methods return PinnedSpan with scope * Don't try move buffers if the host has shared memory. * Swap bound Auto instances when swapping buffer backing There is a real issue where existing Auto references need to be replaced. * Fix issue where old waitable would be signalled. * Ensure migrated data is in place before flushing. Missing keeping map type when resizing buffers (should this be done?) SSBO accesses are all "writes" - maybe pass info in another way. Map may be unmapped before it is done being used. Copy may not have completed yet (needs some kind of fence) Missing `_map` data safety when remapping * Initial implementation of migration between memory heaps * Use default json options in github api calls * Remove overridden json property names as they are handled in the options * Enforce block-scoped namespaces in the solution. * Write log json directly to stream instead of using buffer writer * Do not inherit json version of LogEventArgs from EventArgs * Use separate model for LogEventArgs serialization * Use strongly typed github releases model to fetch updates instead of raw Newtonsoft.Json parsing * Use source generated json serializers in order to improve code trimming
0 Comments
Leave a Reply. |