7046ccec11
[*] Refactor some APIs to use string views instead of strings
...
[+] Added new shell dirs API
[+] AuOptional<AuROString> GetUserDocuments()
[+] AuOptional<AuROString> GetUserDownloads()
[+] AuOptional<AuROString> GetUserDesktop()
[+] AuOptional<AuROString> GetUserPhotos()
[+] AuOptional<AuROString> GetUserVideos()
[+] AuOptional<AuROString> GetUserMusic()
[*] Amend IPCHandle::InitFromSharing (use string view)
[*] AuFS devices API should now use string views
[*] AuProcess, Process APIs now use string views (ModuleLoadRequest, LoadModule, GetProcAddressEx, etc)
[*] AuProcess, Paths APIs now use string views (GetProcessDirectory, GetProcessFullPath, etc)
[*] Fix XP using common my documents vs local user documents
2024-09-24 18:59:54 +01:00
436d50a01f
[+] AuIO::IOPipeRequest::bReadEntireAllocation
...
[*] Fix 24. Hello IO regression
2024-09-17 18:23:49 +01:00
9acc56431a
[-] AuMemoryView
...
[-] AuMemory::Heap
[*] Use AuSetAllocator
[-] AuMemory::PmrCppHeapWrapper
2024-09-13 08:48:33 +01:00
ffb1cbb09b
[*] PmrCppHeapWrapper fixes
2024-09-10 04:46:13 +01:00
634eb35959
[+] IOConfig::bAPCUseCoroutineStack
2024-09-09 08:16:19 +01:00
89686eb022
[*] Use PMR allocators instead
2024-09-09 06:52:38 +01:00
0571aa8dd4
[+] AU_LOCK_GLOBAL_GUARD
...
[+] AuThreading::GetShutdownReadLock()
2024-09-09 03:46:38 +01:00
35761edaec
[+] AuIO::Loop::NewLSTimerHighResolution
...
[*] ILSTimer::UpdateTime -> ILSTimer::UpdateTimeWall
[*] ILSTimer::UpdateTimeNs -> ILSTimer::UpdateTimeWallNs
[+] ILSTimer::UpdateTimeSteady
[+] ILSTimer::UpdateTimeSteadyNs
2024-09-08 07:26:23 +01:00
4d4f5e2501
[+] ILoopSource::IsSignaledExt(...)
...
[+] ILoopSource::WaitOnExt(...)
[+] ILoopSource::WaitOnAbsExt(...)
2024-09-07 22:45:34 +01:00
77546b5098
[+] IRandomDevice::XXX has VecD variants
...
[*] Improve: IRandomDevice internal allocations when handling vector arrays
[*] Fix: NextArrayI64RangeInView
2024-09-05 22:50:02 +01:00
3472665c9f
[+] AuOutputOfs OutputOfResult should have a lock for multithread consumption
2024-09-05 18:20:12 +01:00
aafb64e740
[+] AuMemoryView::CopyInto
...
[+] AuMemoryView::CopyFrom
[+] AuMemoryViewStream::CopyStreamInto
[+] AuMemoryViewStream::CopyStreamFrom
2024-08-27 20:33:00 +01:00
d99c1032da
[*] Regression: AuROXTL string view has a different interpretation of what remove prefix/suffix should be. Fix SplitNewlines
...
[*] Harden SplitString & SplitStringDelm, do not splice UTF8 sequences
2024-08-22 19:15:51 +01:00
2c3c7b04e5
[*] Amend Loop.hpp comments
2024-08-11 22:22:43 +01:00
23a80b8039
[*] Refactor ConditionEx -> IFlexibleConditionVariable
2024-08-08 20:21:03 +01:00
adfca81335
[*] Fuck you
2024-08-08 20:17:52 +01:00
da7fd881a6
[*] Update behaviour of CppHeapWrapper to make it moron proof
2024-08-07 21:39:42 +01:00
9a855f36d0
[*] You fucking donut
2024-08-07 01:42:42 +01:00
57c5515173
[*] Linux: Harden recursive IO scheduling
2024-08-05 19:44:54 +01:00
55cac676f5
[+] AuLoop::NewSemaphoreEx with max count option for in-process (not ipc) limiting the total wakes.
...
This is required for Xbox, Xbox 360, and Win32 emulators deriving a mutex via a the NT semaphore primitive instead of the builtin binary semaphore (event) and mutex.
2024-08-05 15:57:13 +01:00
9956f1c153
[+] AuIO::Loop::kWaitMultipleFlagBreakAfterOne for Win32 WaitForMultipleObjects shim (we cannot return an array of indices to a win32 program)
2024-07-30 17:26:38 +01:00
ecf8dc6f0b
[+] AuRNG::IRandomDevice::...InView
...
[+] AuRNG::...InView
(amended mixed tabs)
2024-07-21 06:15:02 +01:00
8be1afe570
[+] AuMemory::Heap adapters for third party heap allocators
...
[+] AuMemory::HeapAdapterInterface to describe aforementioned heap allocators of a very limited API
[+] AuMemory::HeapAdapter[Unique,Shared,]
[+] HeapWin32Adapter to convert HANDLE hHeaps of win32s CreateHeap (RtlCreateHeap?) into AuMemory::Heaps
2024-07-19 09:06:56 +01:00
a995c37e81
[*] Fixup half-assed/rushed alloc class with alignment in the .hpp to .inl breakout commit ( ced9e0be
)
...
(sure, it cannot work to realign structs with c++ operator[] overloading; however, we need this to prevent excessive allocations when cloning a U8 memory view of alignment)
2024-07-19 09:01:20 +01:00
2628784ff6
[*] Refactor heap stats
2024-07-19 08:25:30 +01:00
1fb355520e
[*] Made AuMemoryViewRead/Writes to bytebuffer less ambiguous
2024-07-19 08:24:51 +01:00
2d2523e679
[*] Another build regression
2024-07-16 23:58:44 +01:00
8df3f6970b
[+] Heap::Clone(Heap *[, ...])
2024-07-15 00:16:13 +01:00
ced9e0be17
[*] Optimize global process heap aliases
...
[*] Split AuMemory::Heap impl into .inl file
2024-07-15 00:15:35 +01:00
3749702e34
[*] SharableByteBuffer constructors must be inline
2024-07-13 18:51:07 +01:00
e665720f24
[*] Update AuMemory::SharableByteBuffer to be useful with the transition to AuSPtr<AuMemoryViewXXX>'less APIs
2024-07-13 17:08:45 +01:00
3d652ed605
[*] af5c8e86c0
20hrs ago: AuSPtr<AuMemoryViewXXX>s werent fully eliminated
2024-07-13 16:34:44 +01:00
124e9d1d0a
[*] Fix main process heap fragmentation caused by shared pointer blocks, always allocate from within the heap object
2024-07-13 03:07:02 +01:00
af5c8e86c0
[*] AuSPtr<AuMemoryViewXXXX> is now an anti-pattern. After 3 fucking years, memory views of shared control blocks and atomic in use counters are properly utilized everywhere. We do not need generic superclasses to be safe anymore
2024-07-12 20:22:48 +01:00
d803f1547c
[+] Added AuAsync per thread io group singleton
...
[*] Move static functions out of the thread pool interface. no idea how i had successful builds before
2024-07-12 17:22:07 +01:00
daf4552eb2
[*] Update AuByteBuffer::Pad to include bUpdateWriteHead argument. broke previous behavior bc this is more convenient and old users were already doing this after the fact
2024-07-09 03:11:10 +01:00
4ab5b4cba7
[*] After just shy of 1y, introduce FS devices into the default include tree. Linux will be brought up soon enough
2024-07-04 23:27:04 +01:00
f2e3ceef99
[+] Au[Futex]Countdown
2024-06-30 05:40:13 +01:00
0555e8cc32
[*] Update: WakeOnAddress.hpp comments
2024-06-30 05:13:55 +01:00
27b18c0a37
[+] MemoryView::ToSharedControlBlock
...
[+] et al
2024-06-29 01:12:07 +01:00
114976a71d
[*] im a smort boi
2024-06-19 22:17:55 +01:00
5b19341186
[*] Improve regressed AuWoA time to wake
2024-06-19 22:05:17 +01:00
9805a57647
[+] MemoryView::Clone()
...
[+] MemoryView::CloneSelf()
2024-06-11 07:25:48 +01:00
7fdcdb7568
[*] Fuck you
2024-06-10 14:08:58 +01:00
ee9e318511
[*] Fix: AuByteBuffer::Resize could resize with wrong ringbuffer alignmnet or linear if a fast path fails
...
[+] ByteBuffer::ByteBuffer(const MemoryViewRead &readView, AuUInt uAlignment, bool circular, bool expandable
2024-06-03 04:26:18 +01:00
3241ebb349
[+] The missing AuByteBuffer::ByteBuffer(const MemoryViewRead &readView, ...) constructor
2024-06-02 00:13:56 +01:00
4e7f3ed3dd
[*] Sometimes let ByteBuffer::Resize pass when it shouldn't be allowed to
2024-06-02 00:05:19 +01:00
588322252f
[*] Redo ByteBuffer::Pad for write streams
2024-06-01 23:57:50 +01:00
c3e898d53d
[*] Redo d520b0ce
with the lost semaphore copy described in the commit comment
...
(wtf? did i stash something at the wrong time?)
2024-05-28 19:28:08 +01:00
d520b0ce42
[*] I'm going to let the reference waitaible/woa/futex primitives be copy and movable now.
...
condvars -> cannot matter, you're creating a new object
mutex -> cannot mater, you're creating a new object, perhaps copy assignment under lock might be required depending on the parent. either way, a copy ctor is not required
semaphore -> copy state in case of the timelime barrier use case. semaphores emulating condvars and similar logic wont mind the overshoot. best case, we do want to copy the previous state as the initial count. worst case, your code is fundamentally broken.
2024-05-28 00:42:24 +01:00