aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2013-05-31 15:49:56 -0700
committerChris Robinson <[email protected]>2013-05-31 16:03:59 -0700
commit69e0c19767c820e9c420c61bd335aa050b4440f4 (patch)
treed57082e5b46f02fcb5e68135fe25770cbe31885c /Alc
parent8f1490229082738f1d07ea521c94d1c10980bcb8 (diff)
Start an extension that can query the status of HRTF rendering
Diffstat (limited to 'Alc')
-rw-r--r--Alc/ALc.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/Alc/ALc.c b/Alc/ALc.c
index 4d60278f..be6b4227 100644
--- a/Alc/ALc.c
+++ b/Alc/ALc.c
@@ -687,7 +687,7 @@ static const ALCchar alcNoDeviceExtList[] =
static const ALCchar alcExtensionList[] =
"ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE "
"ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX "
- "ALC_EXT_thread_local_context ALC_SOFT_loopback";
+ "ALC_EXT_thread_local_context ALC_SOFTX_HRTF ALC_SOFT_loopback";
static const ALCint alcMajorVersion = 1;
static const ALCint alcMinorVersion = 1;
@@ -2304,11 +2304,11 @@ ALC_API ALCvoid ALC_APIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALsi
break;
case ALC_ATTRIBUTES_SIZE:
- *data = 13;
+ *data = 15;
break;
case ALC_ALL_ATTRIBUTES:
- if(size < 13)
+ if(size < 15)
alcSetError(device, ALC_INVALID_VALUE);
else
{
@@ -2343,6 +2343,9 @@ ALC_API ALCvoid ALC_APIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALsi
data[i++] = ALC_MAX_AUXILIARY_SENDS;
data[i++] = device->NumAuxSends;
+ data[i++] = ALC_HRTF_SOFT;
+ data[i++] = (device->Hrtf ? ALC_TRUE : ALC_FALSE);
+
data[i++] = 0;
}
break;
@@ -2395,6 +2398,10 @@ ALC_API ALCvoid ALC_APIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALsi
*data = device->Connected;
break;
+ case ALC_HRTF_SOFT:
+ *data = (device->Hrtf ? ALC_TRUE : ALC_FALSE);
+ break;
+
default:
alcSetError(device, ALC_INVALID_ENUM);
break;