Subversion Repositories Games.Chess Giants

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #include <al.h>
  2.  
  3. // X-RAM Function pointer definitions
  4. typedef ALboolean (__cdecl *EAXSetBufferMode)(ALsizei n, ALuint *buffers, ALint value);
  5. typedef ALenum    (__cdecl *EAXGetBufferMode)(ALuint buffer, ALint *value);
  6.  
  7. //////////////////////////////////////////////////////////////////////////////
  8. // Query for X-RAM extension
  9. //
  10. // if (alIsExtensionPresent("EAX-RAM") == AL_TRUE)
  11. //              X-RAM Extension found
  12. //  
  13. //////////////////////////////////////////////////////////////////////////////
  14.  
  15.  
  16. //////////////////////////////////////////////////////////////////////////////
  17. // X-RAM enum names
  18. //
  19. // "AL_EAX_RAM_SIZE"
  20. // "AL_EAX_RAM_FREE"
  21. // "AL_STORAGE_AUTOMATIC"
  22. // "AL_STORAGE_HARDWARE"
  23. // "AL_STORAGE_ACCESSIBLE"
  24. //
  25. // Query enum values using alGetEnumValue, for example
  26. //
  27. // long lRamSizeEnum = alGetEnumValue("AL_EAX_RAM_SIZE")
  28. //
  29. //////////////////////////////////////////////////////////////////////////////
  30.  
  31.  
  32. //////////////////////////////////////////////////////////////////////////////
  33. // Query total amount of X-RAM
  34. //
  35. // long lTotalSize = alGetInteger(alGetEnumValue("AL_EAX_RAM_SIZE")
  36. //
  37. //////////////////////////////////////////////////////////////////////////////
  38.  
  39.  
  40. //////////////////////////////////////////////////////////////////////////////
  41. // Query free X-RAM available
  42. //
  43. // long lFreeSize = alGetInteger(alGetEnumValue("AL_EAX_RAM_FREE")
  44. //
  45. //////////////////////////////////////////////////////////////////////////////
  46.  
  47.  
  48. //////////////////////////////////////////////////////////////////////////////
  49. // Query X-RAM Function pointers
  50. //
  51. // Use typedefs defined above to get the X-RAM function pointers using
  52. // alGetProcAddress
  53. //
  54. // EAXSetBufferMode eaxSetBufferMode;
  55. // EAXGetBufferMode eaxGetBufferMode;
  56. //
  57. // eaxSetBufferMode = (EAXSetBufferMode)alGetProcAddress("EAXSetBufferMode");
  58. // eaxGetBufferMode = (EAXGetBufferMode)alGetProcAddress("EAXGetBufferMode");
  59. //
  60. //////////////////////////////////////////////////////////////////////////////
  61.  
  62.  
  63. //////////////////////////////////////////////////////////////////////////////
  64. // Force an Open AL Buffer into X-RAM (good for non-streaming buffers)
  65. //
  66. // ALuint uiBuffer;
  67. // alGenBuffers(1, &uiBuffer);
  68. // eaxSetBufferMode(1, &uiBuffer, alGetEnumValue("AL_STORAGE_HARDWARE"));
  69. // alBufferData(...);
  70. //
  71. //////////////////////////////////////////////////////////////////////////////
  72.  
  73.  
  74. //////////////////////////////////////////////////////////////////////////////
  75. // Force an Open AL Buffer into 'accessible' (currently host) RAM (good for streaming buffers)
  76. //
  77. // ALuint uiBuffer;
  78. // alGenBuffers(1, &uiBuffer);
  79. // eaxSetBufferMode(1, &uiBuffer, alGetEnumValue("AL_STORAGE_ACCESSIBLE"));
  80. // alBufferData(...);
  81. //
  82. //////////////////////////////////////////////////////////////////////////////
  83.  
  84.  
  85. //////////////////////////////////////////////////////////////////////////////
  86. // Put an Open AL Buffer into X-RAM if memory is available, otherwise use
  87. // host RAM.  This is the default mode.
  88. //
  89. // ALuint uiBuffer;
  90. // alGenBuffers(1, &uiBuffer);
  91. // eaxSetBufferMode(1, &uiBuffer, alGetEnumValue("AL_STORAGE_AUTOMATIC"));
  92. // alBufferData(...);
  93. //
  94. //////////////////////////////////////////////////////////////////////////////