Commit Graph

2143 Commits

Author SHA1 Message Date
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ć
f56519b35d Added SIMD versions of memCopy, memMove, memSet, and memCmp, used when SIMD is available. Fixed memCmpRef comparing bytes as signed. Updated Catch2 to 3.16.0. (#448) 2026-10-08 02:20:00 +00:00
Branimir Karadžić
d86e4ea9d9 Removed wasm2js toolchain. (#447) 2026-10-06 10:04:42 -07: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ć
9521d0b5e2 Find one clear bit 64 bits at a time. (#444) 2026-10-04 20:21:29 -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ć
2423bac0a4 CI: Update macOS runner to macos-15, add amalgamated build, cache emsdk. (#441) 2026-10-03 22:08:40 +00:00
eres-j
f9ab4e00fe Fix IsDebuggerPresent declaration for Windows amalgamated build (#440) 2026-10-03 15:18:18 +00:00
Branimir Karadžić
74adb68722 Fixed LiteralParser accepting a float suffix on a hex float with no exponent. (#437) 2026-10-01 20:18:37 -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
Daniel Kalmar
f86bece796 Add boilerplate for PS5 support. (#427) 2026-09-10 15:43:30 +00:00
Branimir Karadžić
98ad3bec2a Fixed debugBreak. Fixes #425. (#426) 2026-09-04 03:56:07 +00: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ć
43bfe29402 Fixed DLL search order hijacking in dlopen. (#413) 2026-08-02 22:09:38 -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ć
5a2b876258 fromString: Parse hex float literals. (#408) 2026-07-22 06:43:24 +00:00
Branimir Karadžić
a7257985fa Added bx::isEqual for bx::StringView. (#407) 2026-07-21 21:37:18 -07:00
Branimir Karadžić
c98e98cde1 Fixed amalgamated build. (#406) 2026-07-15 14:41:08 +00:00
Branimir Karadžić
ed183eb246 Allow files with 10k+ lines to align nicely. (#405) 2026-07-12 01:21:30 -07:00
Branimir Karadžić
efdef94b94 Win: OutputDebugString is useless in console mode. When console is present print in console too. (#404) 2026-07-03 21:35:27 -07:00
Martijn Courteaux
4a8ed7f7f1 Use clang on macOS. (#403) 2026-06-27 17:23:55 +00:00
Branimir Karadžić
64dcc737a0 Fixed warnings. (#401) 2026-06-13 16:56:53 -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ć
eed706fb27 Suppress MSVC CRT assert dialogs. (#395) 2026-05-14 04:19:21 +00:00
Branimir Karadžić
217823bc0a Added float4x4_* tests. (#394) 2026-05-08 04:02:40 +00:00
Branimir Karadžić
f9dcd60e79 Fixed tests. (#393) 2026-05-06 23:07:55 -07:00