Commit Graph

177 Commits

Author SHA1 Message Date
James Benton
30006d972a common: Fix stdint includes to use the C++ version 2021-02-21 11:16:52 +00:00
James Benton
ac3a004722 Update libraries/gsl-lite 2021-02-21 11:16:52 +00:00
James Benton
f21cb31806 Update cnl 2020-09-07 10:20:29 +01:00
James Benton
2243c7ad34 common: Add missing null terminators to stack trace. 2019-12-28 17:31:12 +00:00
James Benton
017b0f5f61 common: Fix missing explicit conversion on return type for trim. 2019-12-23 14:59:19 +00:00
James Benton
fe9fc1a030 common: Return std::string from trim() and add trim_view() for string_view. 2019-12-23 14:34:57 +00:00
James Benton
5bca7bf064 cmake: Cleanup options. 2019-12-18 15:26:21 +00:00
James Benton
1474e054fc common: Fix string_copy on non-Windows platforms. 2019-12-18 14:09:59 +00:00
Yannik Marchand
5a9ec714c4 common: Add missing <memory> include to log.h 2019-12-17 10:04:30 +00:00
Brett Lawson
47d87609b2 common: Fixed implicit cast warning in tga_encoder. 2019-12-09 10:07:37 -08:00
James Benton
896b4174b9 common: Change trim to inline instead of static. 2019-12-08 22:59:02 +00:00
James Benton
b5b536bbe9 common: byte_swap_to_scratch do not align past end of data. 2019-12-08 22:58:43 +00:00
Brett Lawson
ebdda775ab global: Reduced usage of fmt/format.h to only where neccessary. 2019-12-08 08:19:12 -08:00
James Benton
19212cd772 common: Add trim(string_view) to strutils. 2019-12-08 10:12:10 +00:00
Brett Lawson
95ea679ac5 build: Improved MSVC project grouping. 2019-12-07 05:16:34 -08:00
Brett Lawson
a6a7b9adc1 build: Switched to using CMake PCH rather than Cotire. 2019-12-07 05:16:34 -08:00
Brett Lawson
b8daa5f602 common: Fixed more X11 shenanignas for vulkan include. 2019-12-07 05:16:34 -08:00
Brett Lawson
4c5c278206 common: Added missing header to platform_sockets for select. 2019-12-07 05:16:34 -08:00
Brett Lawson
7b2698b41c platform/windows: Remove unnecessary windows includes. 2019-12-06 07:20:53 -08:00
Brett Lawson
c9b6952da1 decaf: Fixed non-permissive compiler error from cnl change. 2019-12-05 12:20:05 -08:00
Brett Lawson
6d9f6825d3 Switch to CNL instead of fixed_point 2019-12-05 07:01:16 -08:00
Brett Lawson
1cb6ebc449 common: Fixed some minor compiler warnings/issues with flags/enums. 2019-12-05 07:01:15 -08:00
Brett Lawson
931e6bb0cf common: Updated warning assertions to only print once 2019-11-25 01:50:09 -08:00
James Benton
ea3bb3c5b8 Fix Vulkan XLIB. 2019-10-19 16:07:32 +01:00
James Benton
bc3f5d9670 common: Fix DataHash for non-stdlayout bitfield due to VS2019.
On vs2019 this fails without stdlayout bitfield, but non-stdlayout
bitfield is nicer for debugging and still actually works.

Possibly a bug in VS2019?
2019-10-19 16:07:32 +01:00
Ash Logan
5cf43d3807 common/assert: Use abort instead of __builtin_trap on POSIX platforms 2019-09-13 18:09:14 +01:00
snickerbockers
6c546d74f1 Use a union for bitfields when DECAF_USE_STDLAYOUT_BITFIELD is defined
Previous behavior was to use a struct.  This was causing be2_array
instantiations to use be2_struct for be2_array_item_type instead of be2_val.
The upshot of this was that on Linux builds, byte order would be reversed for
bitfields wrapped in be2_array because be2_struct doesn't do endian reversal.
When DECAF_USE_STDLAYOUT_BITFIELD is not defined, bitfields were already unions,
which is why this behavior did not manifest on Windows.

This commit resolves several programs which were working on Windows but not
Linux and also addresses issue #537 on github.
2019-02-10 10:27:54 +00:00
James Benton
1dc2c3a278 common: Change log.h to no longer include spdlog.h 2019-01-31 10:42:57 +00:00
James Benton
41a4b47119 cpu: Use forward declarations for custom fmt formatters. 2019-01-30 13:29:55 +00:00
James Benton
76c50d1aeb common: Include intrin.h instead of Windows.h in bitutils.h 2019-01-30 13:29:55 +00:00
James Benton
722dbba19e Use WIN32_LEAN_AND_MEAN where possible. 2019-01-30 13:29:55 +00:00
James Benton
99313e235a common: Add missing includes from platform_posix_memory. 2019-01-30 13:29:55 +00:00
James Benton
54ac688b19 common: Change platform_winapi_string to take a string_view. 2019-01-30 13:29:55 +00:00
Brett Lawson
39635f0c21 common: Remove debuglog.h 2019-01-30 13:29:55 +00:00
Brett Lawson
59fb0de9ed common: Fixed decaf_assert.h including spdlog. 2019-01-30 13:29:55 +00:00
Brett Lawson
8a2cba9c34 common: Moved fixed point bitfield handling to fixed.h 2019-01-30 13:29:55 +00:00
James Benton
b85f2c496e common/strutils: Remove old defines of snprintf and vsnprinft. 2019-01-29 10:34:00 +00:00
James Benton
880dcd25b7 common: Rename inline enum headers from *.h to *.inl 2019-01-29 10:03:14 +00:00
James Benton
f1587ca593 Refactor configuration for libcpu, libgpu and libdecaf. 2019-01-03 20:51:11 +00:00
Brett Lawson
c0201a6030 common: Fix exception handler always installing as first-chance handler. 2018-12-18 20:08:42 -08:00
Brett Lawson
4a553b1273 common: Moved range combiner to common library. 2018-12-18 20:08:42 -08:00
Brett Lawson
969556b3f6 gpu/vulkan: Fixed issue with objects not hashing correctly.
Many of the objects did not have unique object representations due
to padding and other things.  This caused the generated hashes to
change for the same object, causing significantly increased
resource usage.
2018-12-18 20:08:41 -08:00
Brett Lawson
e602e9a594 common: Added vectorized byte-swapping routines. 2018-12-18 20:08:39 -08:00
Brett Lawson
7d699a5a9f gpu/vulkan: Switch to using XXHash for hashing.
This algorithm has improved performance characteristics
compared our previous hashing algorithm (murmur3).
2018-12-18 14:32:36 -08:00
James Benton
f082d6038a cmake: Cleanup some library dependencies. 2018-12-15 08:36:59 +00:00
James Benton
1b1028d312 common/enum: Add operator |= &= ^= for flag enums. 2018-12-09 11:18:55 +00:00
Brett Lawson
467878450f common: Added a non-abortive assertion (decaf_check_warn). 2018-12-04 01:29:22 -08:00
James Benton
5f5c6dc718 common: Fix platform_winapi_string.h include for non-Windows platforms. 2018-11-26 22:39:20 +00:00
James Benton
97670c8bfa common: Add make_filled_array function. 2018-11-07 11:47:19 +00:00
Brett Lawson
88cadad0c4 common: Added support for randomized data hashes. 2018-10-26 04:54:57 -07:00