1
0
forked from mirrors/0ad
Commit Graph

1852 Commits

Author SHA1 Message Date
janwas 9719432ff9 fix memory leak (wasn't freeing the entire chain of SMBIOS structures)
This was SVN commit r9425.
2011-05-04 13:08:09 +00:00
janwas a7152270f4 Path now goes to some trouble to prevent mixing / and \ slashes (causes trouble when hotloading, and some Windows APIs can't handle it, either)
WARNING: that means stuff like Path(nativeDataPath/"art/") is forbidden
and will raise errors on Windows when nativeDataPath contains \. always
use /"" to add a trailing slash. never embed "/" in OsPath component
strings (it's OK for VFS strings since they consistently use /).

wdir_watch, CmdLineArgs: avoid mixed separators
wutil: remove overzealous assertion (infinite recursion if an error
arose before we create a window)

refs #781

This was SVN commit r9424.
2011-05-04 12:16:51 +00:00
janwas 7523894760 ENSURE(0) -> DEBUG_WARN_ERR(ERR::LOGIC) (a bit smaller, and more descriptive)
This was SVN commit r9423.
2011-05-04 12:10:17 +00:00
Ykkrosh 9733affb05 Fix non-PCH build
This was SVN commit r9419.
2011-05-04 01:17:09 +00:00
Ykkrosh 178a700c16 Fix build
This was SVN commit r9412.
2011-05-03 15:58:25 +00:00
janwas cce3bebe0c fix error propagation/avoid SetLastError pollution
This was SVN commit r9411.
2011-05-03 13:46:35 +00:00
janwas cccd6849a7 cleanup (requires update-workspaces)
lib_errors.cpp: replace with status.cpp, adapt to needs at work
wutil: fix runtime warning reported via feedback box
config: merge CONFIG_PARANOIA and !CONFIG_FINAL into
CONFIG_ENABLE_CHECKS
add openmp, pointer_typedefs.h

This was SVN commit r9410.
2011-05-03 12:38:42 +00:00
janwas 88c44c7d73 smbios: add support for structures 34,35,36,39,41 (found on rather new BIOS)
This was SVN commit r9377.
2011-05-01 12:18:45 +00:00
janwas 1636f062a3 make VFS thread-safe, per long-standing request by Philip
This was SVN commit r9369.
2011-04-30 15:57:43 +00:00
janwas 635c2a12e2 add error code for file not found. return error code from io::Load, warn and return from io::Store (both without triggering assertions).
remove out of date comment in io.cpp
fixes #811

This was SVN commit r9368.
2011-04-30 15:41:19 +00:00
Ykkrosh 791ecee26b Build fixes
This was SVN commit r9365.
2011-04-30 13:55:55 +00:00
janwas 5ca66fc757 cleanup: move ADTs into lib/adts (separate files). fix definition of ASSERT
This was SVN commit r9364.
2011-04-30 13:35:36 +00:00
janwas 0720025073 cleanup
reduce dependency on PCH. move KiB constants to alignment, ARRAY_SIZE to
code_annotation.h.
move glext_funcs.h to external_libraries/glext_funcs.h, move part of
ogl.h to external_libraries/opengl.h
remove unused saturating arithmetic functions

This was SVN commit r9363.
2011-04-30 13:22:46 +00:00
janwas 4663ac0fe7 split debug_assert into ENSURE and ASSERT as discussed in a previous meeting.
the old debug_assert always ran and tested the expression, which slows
down release builds. wrapping them in #ifndef NDEBUG is clumsy. the new
ASSERT behaves like assert and ENSURE like the old debug_assert. Let's
change any time-critical but not-super-important ENSURE to ASSERT to
speed up release builds. (already done in bits.h and unique_range.h)

This was SVN commit r9362.
2011-04-30 13:01:45 +00:00
janwas 6c915291cc cleanup (requires update-workspaces):
major refactor of wfilesystem - remove gotos and workaround for FAT file
times
replace more round_up of constants with Align<>
remove old unused allocators (STL aligned, matrix, some shared_ptr)
move allocator utils into separate headers.
remove lockfree, wterminal
avoid testing __cplusplus

This was SVN commit r9361.
2011-04-30 12:34:28 +00:00
janwas 9bdb54bc76 fix failure to preallocate disk space on Windows by always rounding up the file size regardless of the io::Parameters
This was SVN commit r9358.
2011-04-30 09:13:10 +00:00
Ykkrosh e292c55e94 Delete warning-prone unused unusable event recording code
This was SVN commit r9355.
2011-04-30 00:06:30 +00:00
Ykkrosh f22e40b64c Fix warning
This was SVN commit r9354.
2011-04-29 23:55:47 +00:00
Ykkrosh 335e7db6be Fix build more
This was SVN commit r9353.
2011-04-29 23:30:29 +00:00
janwas 34ba390a0d build fix for pre-C++0x compilers.
archive_zip, stream: work around possibly missing support for
std/tr1::bind in GCC by defining a functor manually
also renamed RVREF to RVALUE_REF and ensured RVALUE can convert from
both lvalue and rvalue.
io: avoid dodgy constants and possible overflow by using blockSize=0 to
indicate "don't split"

This was SVN commit r9352.
2011-04-29 22:55:35 +00:00
Ykkrosh 1139124451 Fix some build errors and warnings
This was SVN commit r9351.
2011-04-29 20:38:13 +00:00
janwas 2374caac3e major refactor of file/io and alignment code. requires update-workspaces
. completely rewrite waio - use IOCP, add several hardcore
optimizations. now outperforms the
  AS SSD and ATTO benchmarks when writing
. refactor file interface - use LIO_READ instead of 'r', allow access to
file descriptor.
. completely rewrite the IO wrapper. now much more simple, less CPU
overhead, adds
  support for pre-issue/post-completion hooks and preallocation.
  io::Run defaults to simple synchronous IO; use io::Parameters to get
asynchronous.
. add alignment.h with constants and Align() function template (more
efficient than
  round_up for compile-time constants)
. add UniqueRange - similar to C++0x unique_ptr (emulated for C++03),
plus a
  built-in size. avoids expensive thread-safe reference counting in
shared_ptr.

cleanup:
- move fat_time functions into archive_zip
- remove no longer needed io_align and block_cache
- reduce dependencies in sysdep/compiler (move parts to
code_annotation.h)
- move IOCP into separate file (reused by waio)

This was SVN commit r9350.
2011-04-29 19:10:34 +00:00
janwas 9d5539a215 fix runtime check error - see http://www.wildfiregames.com/forum/index.php?showtopic=14656&pid=218675&st=0&#entry218675
thanks to Yves for reporting this + suggesting the fix.

This was SVN commit r9339.
2011-04-28 17:13:55 +00:00
Ykkrosh 5a773d4ca0 Be robust to null proxy URL strings. Should fix #778.
This was SVN commit r9299.
2011-04-22 16:05:00 +00:00
Ykkrosh b35d3a5e3d __cpuidex was added in VC2008 SP1, so don't use it if pre-SP1
This was SVN commit r9284.
2011-04-19 23:23:16 +00:00
janwas a3812af176 smbios: avoid warning when no information is returned (happens on 32-bit XP)
This was SVN commit r9218.
2011-04-09 17:09:48 +00:00
Ykkrosh c59f7bcb8f Fix Clang warning ("operands of ? are integers of different signs")
This was SVN commit r9214.
2011-04-09 00:07:21 +00:00
Ykkrosh 7a8aefae34 Fix release-mode warnings in unused code
This was SVN commit r9212.
2011-04-09 00:05:00 +00:00
janwas d46a892a5d smbios: avoid displaying unknown maxError value; add enumerators for BIOS characteristics and extended characteristics
This was SVN commit r9207.
2011-04-08 07:10:31 +00:00
janwas 5b7dbe6bc9 smbios: more convenient interface that avoids having to check if the structures pointer is null (can still detect failure by checking whether all/guaranteed member pointers are zero)
This was SVN commit r9200.
2011-04-07 19:35:45 +00:00
janwas b5c6868ac2 smbios SystemSlot fix: add missing field, avoid displaying unknown device/function numbers
This was SVN commit r9199.
2011-04-07 19:28:24 +00:00
Ykkrosh aab98f90e0 Fix startup crash on non-Windows
This was SVN commit r9197.
2011-04-07 17:22:28 +00:00
Ykkrosh e1b9083c41 Fix probable OS X build error
This was SVN commit r9196.
2011-04-07 17:18:32 +00:00
janwas 99aa427ffa make use of SMBIOS information to detect CPU frequency and memory size
smbios fixes: also ignore max value (used by Dell BIOS to report invalid
MemoryDevice bit width); fix incorrect error check that caused 0 to be
returned on all but the first call; add implicit conversion operator to
allow using size without appending .value

This was SVN commit r9195.
2011-04-07 17:06:00 +00:00
janwas 329d044a9e 64-bit gcc warning fix
This was SVN commit r9171.
2011-04-05 19:49:04 +00:00
janwas dcde67038f ICC compile fixes (VC's overload resolution is apparently quite different)
This was SVN commit r9169.
2011-04-05 17:45:47 +00:00
janwas 1c2e410b7d final smbios improvements.
add comments
add support for bit flags
use wrapper classes and SFINAE instead of flags to detect enums / sizes
/ handles
avoid potential truncation of byte sizes
avoid displaying numeric_limits::min values ("unknown")

This was SVN commit r9168.
2011-04-05 17:14:18 +00:00
Ykkrosh d3ba9a24d3 Fix GCC build errors ("explicit template specialization cannot have a storage class",
"need 'typename' before 'static_assert_<...>::type' because
'static_assert_<...>' is a dependent scope").
Fixes #767.

This was SVN commit r9167.
2011-04-05 17:07:06 +00:00
janwas 3dbb29d665 smbios improvements: add specializations for bool/Handle (no longer requires a flag); omit empty/meaningless fields
convert remaining enumerators to ENUM, lowercase them to avoid conflicts
with macros, wrap them in struct to allow identical enumerator names

This was SVN commit r9165.
2011-04-05 09:52:57 +00:00
janwas f35da41a0c smbios: minor fixes, add partial support for displaying enumerator names, move visitors to .cpp, use pragma pack regardless of compiler
This was SVN commit r9163.
2011-04-04 17:44:36 +00:00
janwas 68bc0a5651 smbios: add support for stringizing the structures
This was SVN commit r9162.
2011-04-04 16:50:02 +00:00
janwas a2bad46f27 smbios fixes:
- memmove all bytes in the table, not just 8
- end pointer was off by 4
- add support for structures 8,10,22,26,27,28

This was SVN commit r9161.
2011-04-04 15:01:40 +00:00
Ykkrosh 0ddf2b0f34 Fix build on VC2008
This was SVN commit r9157.
2011-04-03 21:41:17 +00:00
janwas 66807d40c1 windows build fix: use arb names/function pointers; +noncopyable/struct vs. class warning fix
This was SVN commit r9156.
2011-04-03 20:45:43 +00:00
janwas 3d21cf98f9 better aio error checking / avoid unnecessary repeated calls to aio_error (investigated on the occasion of the recent Linux aio trouble)
This was SVN commit r9155.
2011-04-03 20:07:55 +00:00
janwas 231387d2da linux compile fix (explicit instantiation must be at namespace scope), adjust end pointer to match 8 bytes removed in workaround
This was SVN commit r9153.
2011-04-03 19:29:16 +00:00
janwas 01a0825c94 disable aio on linux until the glibc aio implementation and/or kernel is fixed (see http://www.wildfiregames.com/forum/index.php?showtopic=14561&pid=217711&st=0&#entry217711)
This was SVN commit r9150.
2011-04-03 19:07:35 +00:00
janwas 2c72e1f364 (requires update-workspaces)
add initial SMBIOS implementation for retrieving system information
wacpi -> wfirmware (now also used to retrieve SMBIOS table)

This was SVN commit r9144.
2011-04-03 15:38:48 +00:00
janwas 6026330fce updated version of Aken that includes support for MSR and static validation (-> .c instead of .cpp)
closes #754 (please re-open if not)

This was SVN commit r9137.
2011-04-01 15:06:52 +00:00
janwas d5b3201bfe noted while checking MSR prerequisites that the previous HasNehalem is inaccurate. PLATFORM_INFO is also supported by newer processors (e.g. Sandy Bridge), whereas UNCORE_* are tied to Nehalem and Westmere => split up HasNehalem into HasPlatformInfo and HasUncore. (the latter has been replaced by a "system agent" in newer designs)
refs #754

This was SVN commit r9136.
2011-03-31 21:30:42 +00:00