Chris Robinson
add3013234
Fix the default XDG_DATA_DIRS paths
2014-04-07 13:24:51 -07:00
Chris Robinson
569374da2c
Properly compare al_strings
2014-04-03 13:46:09 -07:00
Chris Robinson
482fb37b68
Recognize NULL as an empty vector/string
2014-04-03 11:13:12 -07:00
Chris Robinson
570eb4e1a7
Don't pass the vector's capacity as a parameter to vector_reserve
2014-03-31 06:13:56 -07:00
Chris Robinson
7570195b09
strlen returns size_t
2014-03-28 08:19:45 -07:00
Chris Robinson
d997be67fd
Use al_string to handle mmdevapi and dsound device names
2014-03-28 07:59:47 -07:00
Chris Robinson
af8fda8a4a
Add an al_string type and use it for the device lists
2014-03-28 05:44:19 -07:00
Chris Robinson
2ca673cca2
Properly handle special folder names with extended characters
2014-03-28 01:21:05 -07:00
Chris Robinson
20886059fd
Wrap fopen calls under Windows
...
The idea is that all filenames we deal with are encoded as UTF-8, but the
Windows functions that take a char string interpret it using the ANSI codepage.
So instead, we convert the UTF-8 string to a wchar string, and then use the
wchar functions for proper extended character filename support.
2014-03-28 00:37:42 -07:00
Chris Robinson
83038c0dab
Add some integer casts, and a range check
2014-03-23 15:22:37 -07:00
Chris Robinson
8c33b4d742
Increase the vector reserve as needed when pushing in new items
2014-03-21 16:35:38 -07:00
Chris Robinson
983fa4630a
Rename the vector's Max field to Capacity
2014-03-21 14:03:26 -07:00
Chris Robinson
ff63188cc2
Add a generic vector interface and use it for the active effect slots
2014-03-21 01:23:01 -07:00
Chris Robinson
308d87b12a
Return the original value from CompExchange*
2014-03-09 03:49:40 -07:00
Chris Robinson
ea8a85b19c
Move PATH_MAX fallback definitions to alMain.h
2014-02-27 18:17:20 -08:00
Chris Robinson
a8249c3469
Move OpenDataFile to helpers.c so other sources can use it
2014-02-27 01:49:23 -08:00
Chris Robinson
748be9a97d
Include sys/sysconf.h if available for sysconf()
2014-01-18 19:16:46 -08:00
Chris Robinson
a846418964
Rename pthread wrappers used for Windows to althread
2013-12-06 02:12:45 -08:00
Chris Robinson
d3c70e63b4
Use C99 inline in more places
2013-11-04 13:44:46 -08:00
Chris Robinson
551f893ae9
Use C99 inline semantics
2013-11-04 12:12:31 -08:00
Chris Robinson
f24cb44781
Move the device mutex to the backend
2013-10-28 12:05:33 -07:00
Chris Robinson
2912d130c2
Separate compatibility declarations
2013-10-28 11:26:26 -07:00
Chris Robinson
bf465eb2eb
Move SetThreadName to threads.c
2013-10-27 08:32:58 -07:00
Chris Robinson
ff5277f4d7
Add a method to set the running thread's name
2013-10-26 12:39:19 -07:00
Chris Robinson
b5fece0381
Add a CMake option to not define the IDs used on Windows
...
This includes the GUIDs, IIDs, CLSID, and PropertyKeys. It is up to the user
to ensure the appropriate IDs are defined when linked.
2013-10-07 06:36:58 -07:00
Chris Robinson
024374e0ce
Use explicit bit offsets when checking for SSE and SSE2
...
Clang's cpuid.h doesn't contain the bit_* macros.
2013-06-06 19:30:55 -07:00
Chris Robinson
9c3f1d11f0
Check the right flag for tracing SSE2 support
2013-05-29 21:28:27 -07:00
Chris Robinson
be4a4d7468
Use fegetenv/fesetenv to backup and restore the FPU state
2013-05-22 23:05:26 -07:00
Chris Robinson
eb15b13ca1
Merge the fesetround FPU handler with the assembly one
...
The assembly is only needed for SSE since we can't access the intrinsics
without the -msse switch, which itself would cause SSE code to be generated
elsewhere automtically.
2013-05-22 22:21:00 -07:00
Chris Robinson
38a9e642df
Check for SSE2 and set the denormals-are-zero bit for mixing if available
2013-05-22 17:04:37 -07:00
Chris Robinson
b80efeb87d
Set the correct SSE bits for round-to-zero
2013-05-22 16:31:43 -07:00
Chris Robinson
cdbb0722f6
Avoid using a temp buffer for al_print
...
It's now using two *printf calls, which unfortuantely means there could be a
race between the two and cause the message to break up if something else tries
to print to the same file. This shouldn't really be a big deal since al_print
isn't used that often, and it now allows for lines of practically unlimited
length.
2013-05-22 03:02:39 -07:00
Chris Robinson
0ca7ab2cf8
Explicitly check for malloc.h
2012-11-25 19:20:35 -08:00
Chris Robinson
a0c39989f5
malloc.h isn't standard, and is only needed for _aligned_malloc
2012-11-25 02:33:20 -08:00
Chris Robinson
0518ecca14
Avoid storing the SSE state if it's not supported
2012-11-13 15:20:36 -08:00
Chris Robinson
2f07c46e20
Include standard headers before conditional ones
2012-11-04 22:36:34 -08:00
Chris Robinson
a98361ebbe
Don't assume x86 or x64 to use IsProcessorFeaturePresent
2012-10-08 00:43:51 -07:00
Chris Robinson
999f0783c5
Fix a type conversion warning
2012-10-08 00:32:35 -07:00
Chris Robinson
65c7c468cc
Use IsProcessorFeaturePresent to detect SSE on Windows
2012-10-07 08:18:22 -07:00
Chris Robinson
ebdf636759
Revert "Use __cpuid from intrin.h in Windows when available"
...
This reverts commit 6b870714a9
.
2012-10-07 08:08:11 -07:00
Chris Robinson
6b870714a9
Use __cpuid from intrin.h in Windows when available
2012-10-07 05:36:25 -07:00
Chris Robinson
708f3ccc3d
Add trace, warn, and error markers to logged output
2012-10-07 04:31:31 -07:00
Chris Robinson
d52cb3708b
Include windows.h before cpuid.h to avoid __cpuid clashes
2012-10-06 21:30:03 -07:00
Chris Robinson
f0732426f2
Precision control bits don't exist with SSE
2012-09-18 15:08:36 -07:00
Chris Robinson
e779e64c95
Win64 doesn't allow _controlfp or __control87_2 to set the precision control bits
2012-09-18 11:20:48 -07:00
Chris Robinson
95535ce99e
Properly restore the SSE control word with __control87_2
2012-09-16 06:01:48 -07:00
Chris Robinson
df2e82da78
Properly handle the SSE control word
2012-09-16 05:35:38 -07:00
Chris Robinson
a1daec66e2
Use __control87_2 when available
2012-09-16 01:44:45 -07:00
Chris Robinson
657ee85136
Use a struct to store the FPU mode
2012-09-16 01:35:16 -07:00
Chris Robinson
0f3a575a09
Don't include alu.h in alMain.h
2012-09-14 02:14:29 -07:00