Branimir Karadžić
97aa6da7db
Made strCmp, strCmpI and strCmpV constexpr. ( #470 )
2026-10-21 14:43:01 -07:00
Branimir Karadžić
c500a9228e
Added constexpr isSorted with less function. ( #469 )
2026-10-21 08:43:33 -07:00
Branimir Karadžić
234f2fba71
Cleanup. ( #468 )
2026-10-19 22:31:21 -07:00
Branimir Karadžić
5c218692de
Added BitArrayIterator and range-for over set bits on BitArrayViewBase. ( #467 )
2026-10-19 22:25:23 -07:00
Branimir Karadžić
dd261e2775
Added simd_i8_cmpeq for all SIMD widths. Fixed BitArray kSimdByteMask shift for 256-bit SIMD. ( #466 )
2026-10-17 17:20:12 -07:00
Branimir Karadžić
fbadfc3abc
Added SIMD version of BitArray find. ( #464 )
2026-10-17 09:37:35 -07:00
Branimir Karadžić
a29c286430
Changed Location::current and LocationFull::current to be constexpr inline. ( #462 )
2026-10-15 22:55:43 -07:00
Branimir Karadžić
c75bc2f956
Changed TlsData::get to read TLS slots directly from TEB on Windows x86/x64. ( #461 )
2026-10-15 17:36:45 -07:00
Branimir Karadžić
d4e6ed3cf4
Added templated isInRange, replacing the char-only one. ( #458 )
2026-10-12 20:58:22 -07:00
Branimir Karadžić
a9a71f8ef4
Fixed MSVC build when windows.h has random defines. ( #457 )
2026-10-12 17:44:30 -07:00
Branimir Karadžić
326bddbac8
Fixed MSVC 32-bit x86 build, and added it to CI. ( #455 )
2026-10-11 20:08:19 -07:00
Branimir Karadžić
36b2b6943f
Fixed MSVC C4459 in tanT when user code has a global named cs. ( #453 )
2026-10-08 21:41:36 -07:00
Branimir Karadžić
89eb1775db
Added a constexpr double math surface, and made fromString exact. ( #451 )
2026-10-09 02:16:41 +00:00
Branimir Karadžić
3fd3d3279e
Made file paths and command line arguments UTF-8 on Windows. Fixes #438 . ( #449 )
2026-10-08 02:52:56 +00:00
Branimir Karadžić
09cf98d55c
Added ASan/UBSan to CI, and fixed issues it found. ( #445 )
2026-10-05 08:55:08 -07:00
Branimir Karadžić
8633996da6
Added BitArray and HandleAlloc2. ( #443 )
2026-10-04 19:45:25 -07:00
Branimir Karadžić
daf09510c2
Added Superluminal. ( #442 )
2026-10-03 18:37:23 -07:00
Branimir Karadžić
1c986bd1e9
Fixed RingBufferControl::resize moving heads that are at the write head, and leaving heads outside the buffer when shrinking past the end of buffer. ( #436 )
2026-09-30 22:27:35 -07:00
Branimir Karadžić
3b8366af83
Added atomicLoad, atomicStore, atomicExchange, cpuRelax, getStackAddress, getHardwareThreads, timerResolutionBegin/End, memoryAllocationGranularity, and sanitizer.h. Fixed memoryPageSize returning allocation granularity on Windows. ( #435 )
2026-09-30 02:16:07 +00:00
Branimir Karadžić
e98d9f4b35
MSVC: Declared fmaf with the UCRT's linkage. ( #434 )
2026-09-29 17:08:05 +00:00
Branimir Karadžić
279a4f84cd
Make StringView's copy constructor and assignment trivial. ( #433 )
2026-09-28 05:12:50 +00:00
Branimir Karadžić
58d36bd042
Added Class::Word, Class::SpaceHoriz, acceptToken and getTail to Scanner. Added LiteralParser. Added stableSort and insertionSort. ( #432 )
2026-09-28 01:32:54 +00:00
Branimir Karadžić
3d6e53107b
Fixed MSVC unreachable warning. ( #431 )
2026-09-27 08:46:59 -07:00
Branimir Karadžić
2531549884
Added bx::isDebuggerPresent. ( #430 )
2026-09-19 06:50:32 +00:00
Catty Steve
663631eb50
Add LoongArch64 support ( #428 )
...
* Add LoongArch64 support
* Use refined preprocessor to determine loongarch64
2026-09-18 23:41:38 -07:00
Branimir Karadžić
975c8fb6fd
Enabled FatalWarnings. ( #424 )
2026-09-02 21:20:46 -07:00
Branimir Karadžić
e21246d7ae
Fix clang float control pragmas. ( #423 )
2026-09-02 20:10:42 -07:00
Branimir Karadžić
d8a853795f
Fixed build. ( #422 )
2026-09-02 18:41:39 -07:00
Branimir Karadžić
2b9ef62e7a
Added BX_CONFIG_FMA, SIMD madd/msub/nmsub, f32 rounding and integer div/mod. ( #421 )
2026-09-02 19:13:20 +00:00
Branimir Karadžić
080f466590
Added bx::hasUniqueObjectRepresentation type trait. ( #420 )
2026-08-30 11:02:11 -07:00
Branimir Karadžić
671a001d3e
tinystl: reset() keeps the bucket table; clear() still shrinks to 9. ( #419 )
2026-08-29 21:43:51 +00:00
Branimir Karadžić
9f874936e2
Added ability to move file into trash. ( #418 )
2026-08-27 20:53:12 -07:00
Branimir Karadžić
9e3fadf6f1
Fixed floatFlip, SIMD variable-shift masks and %g precision, and added tests. ( #417 )
2026-08-14 22:36:08 -07:00
Branimir Karadžić
26ff6d907d
MinGW: Fix sal. ( #416 )
2026-08-09 15:55:09 -07:00
Branimir Karadžić
0a09590ac8
Added positional arguments to CommandLine. ( #415 )
2026-08-09 08:09:32 +00:00
Branimir Karadžić
822be40688
Scanner: Class::Identifier must not start with a digit. ( #414 )
2026-08-08 15:16:25 -07:00
Branimir Karadžić
0b001f5f36
MSVC: Added ARM64 target. ( #412 )
2026-07-27 22:08:49 +00:00
Branimir Karadžić
056ea3486c
Scanner: Cleanup. ( #411 )
2026-07-26 08:32:02 -07:00
Branimir Karadžić
9916e720fc
Added scanner. ( #410 )
2026-07-25 12:23:58 -07:00
Sergio R. Z. Masson
cd6720ce9a
platform.h: detect MSVC ARM64 as 64-bit and raise 32-bit Windows minimum ( #409 )
...
Two related Windows fixes:
* BX_ARCH_64BIT missed MSVC's _M_ARM64 / _M_ARM64EC, so Windows on ARM64 was
treated as a 32-bit architecture. Add them to the 64-bit detection list.
* The 32-bit Windows branch defaulted WINVER / _WIN32_WINNT to 0x0502 (Windows
XP / Server 2003), which predates APIs that modern SDK headers reference
(e.g. the ETW EventRegister/EventWriteTransfer family, only declared for
_WIN32_WINNT >= 0x0600). Raise it to 0x0601 (Windows 7), matching the 64-bit
branch. Combined with the ARM64 detection fix, x86, x64 and ARM64 Windows
targets now all default to a Windows 7 baseline.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Copilot-Session: 45aaf3cc-900d-442b-a7e5-0fb6d3fe6658
2026-07-23 14:02:25 +00:00
Branimir Karadžić
a7257985fa
Added bx::isEqual for bx::StringView. ( #407 )
2026-07-21 21:37:18 -07:00
Branimir Karadžić
771ce6a8e8
Added homogeneousNdc parameter to buildFrustumPlanes for correct near plane under D3D/VK/Metal clip volume. ( #400 )
2026-06-08 22:36:59 -07:00
Branimir Karadžić
03b5ae7112
MSVC: Fixed unreachable warning. ( #399 )
2026-06-07 09:37:58 -07:00
Branimir Karadžić
7dc65d7eca
Revert "platform: bridge legacy lowercase emscripten version macros ( #397 )" ( #398 )
...
This reverts commit 4eb6f8ebb2 .
2026-05-27 04:42:47 +00:00
ShuangLiu1992
4eb6f8ebb2
platform: bridge legacy lowercase emscripten version macros ( #397 )
...
emscripten <= 4.0.23 only defined the lowercase forms (`__EMSCRIPTEN_major__`,
`__EMSCRIPTEN_minor__`, `__EMSCRIPTEN_tiny__`) in `<emscripten/version.h>`.
Starting with 4.0.24 (PR emscripten-core/emscripten#26180), uppercase
became primary and lowercase was kept as deprecated aliases.
bx PR #374 switched all references to the uppercase form, which is the
right forward-looking direction — but it leaves users on emsdk <= 4.0.23
unable to build, because `__EMSCRIPTEN_MAJOR__` is undefined there and
the preprocessor expression `(__EMSCRIPTEN_MAJOR__ * 10000 + …)` evaluates
to 0. That tanks `BX_PLATFORM_EMSCRIPTEN`, which tanks `BX_PLATFORM_POSIX`,
which makes `bx/src/os.cpp` skip its `<time.h>` / `<sched.h>` includes,
which causes the build to fail on `unknown type name 'timespec'`.
Add a small bridge: if the uppercase macros aren't defined but the lowercase
ones are, alias the uppercase forms to lowercase. The rest of bx continues
to use uppercase uniformly. Newer emsdk versions are unaffected (the bridge
block is skipped because uppercase is already defined).
Co-authored-by: Shuang Liu <[email protected]>
2026-05-22 16:36:01 -07:00
Branimir Karadžić
f9dcd60e79
Fixed tests. ( #393 )
2026-05-06 23:07:55 -07:00
Branimir Karadžić
6bb55b32eb
Added float4x4_inverse test. ( #391 )
...
* Added float4x4_inverse test.
* Bump tolerance.
* Fixed broadcast bug in simd128_f32_dot_ni.
2026-05-07 05:15:03 +00:00
Бранимир Караџић
6ed98f29cc
Fix simd _ni signbitsmask/test_any/test_all.
2026-05-03 17:02:23 -07:00
Branimir Karadžić
7ddf87f9a0
Android: Fixed build. ( #388 )
2026-05-03 14:36:09 -07:00
Branimir Karadžić
6ce72eac63
Fixed build. ( #387 )
2026-05-03 12:56:46 -07:00