Commit Graph

1129 Commits

Author SHA1 Message Date
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