Commit Graph

1118 Commits

Author SHA1 Message Date
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
Branimir Karadžić
22f7b051b9 Rework SIMD lib. (#386) 2026-05-03 18:25:39 +00:00
Branimir Karadžić
0f575d5880 math: Use MSVC _BitScan intrinsics in countLeadingZeros/countTrailingZeros runtime fast path. (#385) 2026-04-25 06:18:15 +00:00
Branimir Karadžić
8d98acc6f7 Added more functionality to memoryMap/Unmap. (#384) 2026-04-24 04:05:11 +00:00
Branimir Karadžić
d54d89d6b5 Added BX_REQUIRE_CONSTANT clang macro. (#381) 2026-04-07 04:10:04 +00:00
Branimir Karadžić
b259cfbd3f Implemented all bounds tests. (#380) 2026-04-05 04:51:34 +00:00
Daniel Kalmar
0d38df8615 Update to using uppercase emscripten macros. (#374)
The lowercase versions are considered deprecated in emscripten.
See https://github.com/emscripten-core/emscripten/pull/26180
2026-03-10 16:13:42 +00:00
Branimir Karadžić
fa641d8581 Fixed build. (#371) 2026-02-28 07:43:08 +00:00
Branimir Karadžić
a6168a9d1c Added bx::toHuman. (#370) 2026-02-27 15:37:36 +00:00
Branimir Karadžić
36ad6131f4 Added: bx::formatHumanNumber. (#368) 2026-02-01 02:45:04 +00:00
Branimir Karadžić
3ed36d14b0 Added load/store aligned/unaligned. (#366) 2026-01-27 02:00:52 +00:00
Branimir Karadžić
ef9c17cf3d Added Murmur3_64. (#364) 2026-01-23 05:24:41 +00:00