Changeset 513

Show
Ignore:
Timestamp:
08/23/10 23:22:57 (2 years ago)
Author:
aldacron
Message:

[Derelict2 - DerelictGL]
* wgl extensions are now properly organized in version blocks
* added support for the following extensions:
WGL_I3D_digital_video_control
WGL_I3D_gamma
WGL_I3D_genlock
WGL_I3D_image_buffer
WGL_I3D_swap_frame_lock
WGL_I3D_swap_frame_usage
WGL_NV_copy_image
WGL_NV_float_buffer
WGL_NV_gpu_affinity
WGL_NV_multisample_coverage
WGL_NV_present_video
WGL_NV_render_depth_texture
WGL_NV_render_texture_rectangle
WGL_NV_swap_group
WGL_NV_vertex_array_range
WGL_NV_video_output
WGL_OML_sync_control

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Derelict2/DerelictGL/derelict/opengl/extfuncs.d

    r512 r513  
    6666    version = DerelictGL_GREMEDY; 
    6767    version = DerelictGL_MESAX; 
     68    version = DerelictGL_I3D; 
     69    version = DerelictGL_3DL; 
    6870} 
    6971 
     
    17701772    version(Windows) 
    17711773    { 
    1772         // WGL_ARB_buffer_region 
    1773         HANDLE function(HDC, int, UINT) wglCreateBufferRegionARB; 
    1774         void function(HANDLE) wglDeleteBufferRegionARB; 
    1775         BOOL function(HANDLE, int, int, int, int) wglSaveBufferRegionARB; 
    1776         BOOL function(HANDLE, int, int, int, int, int, int) wglRestoreBufferRegionARB; 
    1777  
    1778         // WGL_ARB_extensions_string 
    1779         CCPTR function(HDC) wglGetExtensionsStringARB; 
    1780  
    1781         // WGL_ARB_pixel_format 
    1782         BOOL function(HDC, int, int, UINT, in int*, int*) wglGetPixelFormatAttribivARB; 
    1783         BOOL function(HDC, int, int, UINT, in int*, float*) wglGetPixelFormatAttribfvARB; 
    1784         BOOL function(HDC, in int*, in float*, UINT, int*, UINT) wglChoosePixelFormatARB; 
    1785  
    1786         // WGL_ARB_make_current_read 
    1787         BOOL function(HDC, HDC, HGLRC) wglMakeContextCurrentARB; 
    1788         HDC function() wglGetCurrentReadDCARB; 
    1789  
    1790         // WGL_ARB_pbuffer 
    1791         HPBUFFERARB function(HDC, int, int, int, in int*) wglCreatePbufferARB; 
    1792         HDC function(HPBUFFERARB) wglGetPbufferDCARB; 
    1793         int function(HPBUFFERARB, HDC) wglReleasePbufferDCARB; 
    1794         BOOL function(HPBUFFERARB) wglDestroyPbufferARB; 
    1795         BOOL function(HPBUFFERARB, int, int*) wglQueryPbufferARB; 
    1796  
    1797         // WGL_ARB_render_texture 
    1798         BOOL function(HPBUFFERARB, int) wglBindTexImageARB; 
    1799         BOOL function(HPBUFFERARB, int) wglReleaseTexImageARB; 
    1800         BOOL function(HPBUFFERARB, in int*) wglSetPbufferAttribARB; 
    1801  
    1802         // WGL_ARB_create_context 
    1803         HGLRC function(HDC, HGLRC, in int*) wglCreateContextAttribsARB; 
    1804  
    1805         // WGL_EXT_display_color_table 
    1806         GLboolean function(GLushort) wglBindDisplayColorTableEXT; 
    1807         GLboolean function(GLushort) wglCreateDisplayColorTableEXT; 
    1808         void function(GLushort) wglDestroyDisplayColorTableEXT; 
    1809         GLboolean function(GLushort*, GLuint) wglLoadDisplayColorTableEXT; 
    1810  
    1811         // WGL_EXT_extensions_string 
    1812         CCPTR function() wglGetExtensionsStringEXT; 
    1813  
    1814         // WGL_EXT_make_current_read 
    1815         BOOL function(HDC, HDC, HGLRC) wglMakeContextCurrentEXT; 
    1816         HDC function() wglGetCurrentReadDCEXT; 
    1817  
    1818         // WGL_EXT_pbuffer 
    1819         HPBUFFEREXT function(HDC, int, int, int, in int*) wglCreatePbufferEXT; 
    1820         BOOL function(HPBUFFEREXT) wglDestroyPbufferEXT; 
    1821         HDC function(HPBUFFEREXT) wglGetPbufferDCEXT; 
    1822         BOOL function(HPBUFFEREXT, int, int*) wglQueryPbufferEXT; 
    1823         int function(HPBUFFEREXT, HDC) wglReleasePbufferDCEXT; 
    1824  
    1825         // WGL_EXT_pixel_format 
    1826         BOOL function(HDC, in int*, in FLOAT*, UINT, int*, UINT*) wglChoosePixelFormatEXT; 
    1827         BOOL function(HDC, int, int, UINT, int*, FLOAT*) wglGetPixelFormatAttribfvEXT; 
    1828         BOOL function(HDC, int, int, UINT, int*, int*) wglGetPixelFormatAttribivEXT; 
    1829  
    1830         // WGL_EXT_swap_control 
    1831         int function() wglGetSwapIntervalEXT; 
    1832         BOOL function(int) wglSwapIntervalEXT; 
    1833  
    1834         // WGL_3DL_stereo_control 
    1835         BOOL function(HDC, UINT) wglSetStereoEmitterState3DL; 
    1836  
    1837         // WGL_AMD_gpu_association 
    1838         void function(HGLRC, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) wglBlitContextFramebufferAMD; 
    1839         HGLRC function(UINT) wglCreateAssociatedContextAMD; 
    1840         HGLRC function(UINT, HGLRC, in int*) wglCreateAssociatedContextAttribsAMD; 
    1841         BOOL function(HGLRC) wglDeleteAssociatedContextAMD; 
    1842         UINT function(HGLRC) wglGetContextGPUIDAMD; 
    1843         HGLRC function() wglGetCurrentAssociatedContextAMD; 
    1844         UINT function(UINT, UINT*) wglGetGPUIDsAMD; 
    1845         INT function(UINT, INT, GLenum, UINT, void*) wglGetGPUInfoAMD; 
    1846         BOOL function(HGLRC) wglMakeAssociatedContextCurrentAMD; 
     1774        version(DerelictGL_ARB) 
     1775        { 
     1776            // WGL_ARB_buffer_region 
     1777            HANDLE function(HDC, int, UINT) wglCreateBufferRegionARB; 
     1778            void function(HANDLE) wglDeleteBufferRegionARB; 
     1779            BOOL function(HANDLE, int, int, int, int) wglSaveBufferRegionARB; 
     1780            BOOL function(HANDLE, int, int, int, int, int, int) wglRestoreBufferRegionARB; 
     1781 
     1782            // WGL_ARB_extensions_string 
     1783            CCPTR function(HDC) wglGetExtensionsStringARB; 
     1784 
     1785            // WGL_ARB_pixel_format 
     1786            BOOL function(HDC, int, int, UINT, in int*, int*) wglGetPixelFormatAttribivARB; 
     1787            BOOL function(HDC, int, int, UINT, in int*, float*) wglGetPixelFormatAttribfvARB; 
     1788            BOOL function(HDC, in int*, in float*, UINT, int*, UINT) wglChoosePixelFormatARB; 
     1789 
     1790            // WGL_ARB_make_current_read 
     1791            BOOL function(HDC, HDC, HGLRC) wglMakeContextCurrentARB; 
     1792            HDC function() wglGetCurrentReadDCARB; 
     1793 
     1794            // WGL_ARB_pbuffer 
     1795            HPBUFFERARB function(HDC, int, int, int, in int*) wglCreatePbufferARB; 
     1796            HDC function(HPBUFFERARB) wglGetPbufferDCARB; 
     1797            int function(HPBUFFERARB, HDC) wglReleasePbufferDCARB; 
     1798            BOOL function(HPBUFFERARB) wglDestroyPbufferARB; 
     1799            BOOL function(HPBUFFERARB, int, int*) wglQueryPbufferARB; 
     1800 
     1801            // WGL_ARB_render_texture 
     1802            BOOL function(HPBUFFERARB, int) wglBindTexImageARB; 
     1803            BOOL function(HPBUFFERARB, int) wglReleaseTexImageARB; 
     1804            BOOL function(HPBUFFERARB, in int*) wglSetPbufferAttribARB; 
     1805 
     1806            // WGL_ARB_create_context 
     1807            HGLRC function(HDC, HGLRC, in int*) wglCreateContextAttribsARB; 
     1808        } 
     1809 
     1810        version(DerelictGL_EXT) 
     1811        { 
     1812            // WGL_EXT_display_color_table 
     1813            GLboolean function(GLushort) wglBindDisplayColorTableEXT; 
     1814            GLboolean function(GLushort) wglCreateDisplayColorTableEXT; 
     1815            void function(GLushort) wglDestroyDisplayColorTableEXT; 
     1816            GLboolean function(GLushort*, GLuint) wglLoadDisplayColorTableEXT; 
     1817 
     1818            // WGL_EXT_extensions_string 
     1819            CCPTR function() wglGetExtensionsStringEXT; 
     1820 
     1821            // WGL_EXT_make_current_read 
     1822            BOOL function(HDC, HDC, HGLRC) wglMakeContextCurrentEXT; 
     1823            HDC function() wglGetCurrentReadDCEXT; 
     1824 
     1825            // WGL_EXT_pbuffer 
     1826            HPBUFFEREXT function(HDC, int, int, int, in int*) wglCreatePbufferEXT; 
     1827            BOOL function(HPBUFFEREXT) wglDestroyPbufferEXT; 
     1828            HDC function(HPBUFFEREXT) wglGetPbufferDCEXT; 
     1829            BOOL function(HPBUFFEREXT, int, int*) wglQueryPbufferEXT; 
     1830            int function(HPBUFFEREXT, HDC) wglReleasePbufferDCEXT; 
     1831 
     1832            // WGL_EXT_pixel_format 
     1833            BOOL function(HDC, in int*, in FLOAT*, UINT, int*, UINT*) wglChoosePixelFormatEXT; 
     1834            BOOL function(HDC, int, int, UINT, int*, FLOAT*) wglGetPixelFormatAttribfvEXT; 
     1835            BOOL function(HDC, int, int, UINT, int*, int*) wglGetPixelFormatAttribivEXT; 
     1836 
     1837            // WGL_EXT_swap_control 
     1838            int function() wglGetSwapIntervalEXT; 
     1839            BOOL function(int) wglSwapIntervalEXT; 
     1840        } 
     1841 
     1842        version(DerelictGL_NV) 
     1843        { 
     1844            // WGL_NV_copy_image 
     1845            BOOL function(HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) wglCopyImageSubDataNV; 
     1846 
     1847            // WGL_NV_gpu_affinity 
     1848            HDC function(in HGPUNV*) wglCreateAffinityDCNV; 
     1849            BOOL function(HDC) wglDeleteDCNV; 
     1850            BOOL function(HGPUNV, UINT, PGPU_DEVICE) wglEnumGpuDevicesNV; 
     1851            BOOL function(HDC, UINT, HGPUNV*) wglEnumGpusFromAffinityDCNV; 
     1852            BOOL function(UINT, HGPUNV*) wglEnumGpusNV; 
     1853 
     1854            // WGL_NV_present_video 
     1855            BOOL function(HDC, uint, HVIDEOOUTPUTDEVICENV, in int*) wglBindVideoDeviceNV; 
     1856            int function(HDC, HVIDEOOUTPUTDEVICENV*) wglEnumerateVideoDevicesNV; 
     1857            BOOL function(HDC, int, int*) wglQueryCurrentContextNV; 
     1858 
     1859            // WGL_NV_swap_group 
     1860            BOOL function(GLuint, GLuint) wglBindSwapBarrierNV; 
     1861            BOOL function(HDC, GLuint) wglJoinSwapGroupNV; 
     1862            BOOL function(HDC, GLuint*) wglQueryFrameCountNV; 
     1863            BOOL function(HDC, GLuint*, GLuint*) wglQueryMaxSwapGroupsNV; 
     1864            BOOL function(HDC, GLuint*, GLuint*) wglQuerySwapGroupNV; 
     1865            BOOL function(HDC) wglResetFrameCountNV; 
     1866 
     1867            // WGL_NV_vertex_array_range 
     1868            void* function(GLsizei, GLfloat, GLfloat, GLfloat) wglAllocateMemoryNV; 
     1869            void function(void*) wglFreeMemoryNV; 
     1870 
     1871            // WGL_NV_video_output 
     1872            BOOL function(HPVIDEODEV, HPBUFFERARB, int) wglBindVideoImageNV; 
     1873            BOOL function(HDC, int, HPVIDEODEV*) wglGetVideoDeviceNV; 
     1874            BOOL function(HPVIDEODEV, uint*, uint*) wglGetVideoInfoNV; 
     1875            BOOL function(HPVIDEODEV) wglReleaseVideoDeviceNV; 
     1876            BOOL function(HPBUFFERARB, int) wglReleaseVideoImageNV; 
     1877            BOOL function(HPBUFFERARB, int, uint*, BOOL) wglSendPbufferToVideoNV; 
     1878        } 
     1879 
     1880        version(DerelictGL_AMD) 
     1881        { 
     1882            // WGL_AMD_gpu_association 
     1883            void function(HGLRC, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) wglBlitContextFramebufferAMD; 
     1884            HGLRC function(UINT) wglCreateAssociatedContextAMD; 
     1885            HGLRC function(UINT, HGLRC, in int*) wglCreateAssociatedContextAttribsAMD; 
     1886            BOOL function(HGLRC) wglDeleteAssociatedContextAMD; 
     1887            UINT function(HGLRC) wglGetContextGPUIDAMD; 
     1888            HGLRC function() wglGetCurrentAssociatedContextAMD; 
     1889            UINT function(UINT, UINT*) wglGetGPUIDsAMD; 
     1890            INT function(UINT, INT, GLenum, UINT, void*) wglGetGPUInfoAMD; 
     1891            BOOL function(HGLRC) wglMakeAssociatedContextCurrentAMD; 
     1892        } 
     1893 
     1894        version(DerelictGL_I3D) 
     1895        { 
     1896            // WGL_I3D_digital_video_control 
     1897            BOOL function(HDC, int, int*) wglGetDigitalVideoParametersI3D; 
     1898            BOOL function(HDC, int, in int*) wglSetDigitalVideoParametersI3D; 
     1899 
     1900            // WGL_I3D_gamma 
     1901            BOOL function(HDC, int, USHORT*, USHORT*, USHORT*) wglGetGammaTableI3D; 
     1902            BOOL function(HDC, int, int*) wglGetGammaTableParametersI3D; 
     1903            BOOL function(HDC, int, in USHORT*, in USHORT*, in USHORT*) wglSetGammaTableI3D; 
     1904            BOOL function(HDC, int, in int*) wglSetGammaTableParametersI3D; 
     1905 
     1906            // WGL_I3D_genlock 
     1907            BOOL function(HDC) wglDisableGenlockI3D; 
     1908            BOOL function(HDC) wglEnableGenlockI3D; 
     1909            BOOL function(HDC, UINT) wglGenlockSampleRateI3D; 
     1910            BOOL function(HDC, UINT) wglGenlockSourceDelayI3D; 
     1911            BOOL function(HDC, UINT) wglGenlockSourceEdgeI3D; 
     1912            BOOL function(HDC, UINT) wglGenlockSourceI3D; 
     1913            BOOL function(HDC, UINT*) wglGetGenlockSampleRateI3D; 
     1914            BOOL function(HDC, UINT*) wglGetGenlockSourceDelayI3D; 
     1915            BOOL function(HDC, UINT*) wglGetGenlockSourceEdgeI3D; 
     1916            BOOL function(HDC, UINT*) wglGetGenlockSourceI3D; 
     1917            BOOL function(HDC, BOOL*) wglIsEnabledGenlockI3D; 
     1918            BOOL function(HDC, UINT*, UINT*) wglQueryGenlockMaxSourceDelayI3D; 
     1919 
     1920            // WGL_I3D_image_buffer 
     1921            BOOL function(HDC, HANDLE*, LPVOID*, DWORD*, UINT) wglAssociateImageBufferEventsI3D; 
     1922            LPVOID function(HDC, DWORD, UINT) wglCreateImageBufferI3D; 
     1923            BOOL function(HDC, LPVOID) wglDestroyImageBufferI3D; 
     1924            BOOL function(HDC, LPVOID*, UINT) wglReleaseImageBufferEventsI3D; 
     1925 
     1926            // WGL_I3D_swap_frame_lock 
     1927            BOOL function() wglDisableFrameLockI3D; 
     1928            BOOL function() wglEnableFrameLockI3D; 
     1929            BOOL function(BOOL*) wglIsEnabledFrameLockI3D; 
     1930            BOOL function(BOOL*) wglQueryFrameLockMasterI3D; 
     1931 
     1932            // WGL_I3D_swap_frame_usage 
     1933            BOOL function() wglBeginFrameTrackingI3D; 
     1934            BOOL function() wglEndFrameTrackingI3D; 
     1935            BOOL function(float*) wglGetFrameUsageI3D; 
     1936            BOOL function(DWORD*, DWORD*, float*) wglQueryFrameTrackingI3D; 
     1937        } 
     1938 
     1939        version(DerelictGL_OML) 
     1940        { 
     1941            // WGL_OML_sync_control 
     1942            BOOL function(HDC, int*, int*) wglGetMscRateOML; 
     1943            BOOL function(HDC, long*, long*, long*) wglGetSyncValuesOML; 
     1944            long function(HDC, long, long, long) wglSwapBuffersMscOML; 
     1945            long function(HDC, int, long, long, long) wglSwapLayerBuffersMscOML; 
     1946            BOOL function(HDC, long, long, long, long*, long*, long*) wglWaitForMscOML; 
     1947            BOOL function(HDC, long, long*, long*, long*) wglWaitForSbcOML; 
     1948        } 
     1949 
     1950        version(DerelictGL_3DL) 
     1951        { 
     1952            // WGL_3DL_stereo_control 
     1953            BOOL function(HDC, UINT) wglSetStereoEmitterState3DL; 
     1954        } 
    18471955    } 
    18481956    "); 
  • branches/Derelict2/DerelictGL/derelict/opengl/extloader.d

    r512 r513  
    8787    version = DerelictGL_GREMEDY; 
    8888    version = DerelictGL_MESAX; 
     89    version = DerelictGL_I3D; 
     90    version = DerelictGL_3DL; 
    8991} 
    9092 
     
    586588        version (Windows) 
    587589        { 
    588             // wgl extensions (mostly) all rely on WGL_ARB_extensions string, so load it first 
     590            // wgl extensions (mostly) all rely on WGL_ARB_extensions_string or WGL_EXT_extensions_string, 
     591            // so load them first and always, regardless of whether or not DerelictGL_ARB/EXT is active. 
    589592            loaded["WGL_ARB_extensions_string"] = load_WGL_ARB_extensions_string(); 
     593            loaded["WGL_EXT_extensions_string"] = load_WGL_EXT_extensions_string(); 
     594 
     595            if(wglGetExtensionsStringARB is null) 
     596                wglGetExtensionsStringARB = wglGetExtensionsStringEXT; 
    590597 
    591598            // load the wgl extensions string 
     
    600607 
    601608            // now load the other WGL extensions 
    602             loaded["WGL_ARB_buffer_region"] = load_WGL_ARB_buffer_region(); 
    603             loaded["WGL_ARB_multisample"] = load_WGL_ARB_multisample(); 
    604             loaded["WGL_ARB_pixel_format"] = load_WGL_ARB_pixel_format(); 
    605             loaded["WGL_ARB_make_current_read"] = load_WGL_ARB_make_current_read(); 
    606             loaded["WGL_ARB_pbuffer"] = load_WGL_ARB_pbuffer(); 
    607             loaded["WGL_ARB_render_texture"] = load_WGL_ARB_render_texture(); 
    608             loaded["WGL_ARB_pixel_format_float"] = load_WGL_ARB_pixel_format_float(); 
    609             loaded["WGL_ARB_create_context"] = load_WGL_ARB_create_context(); 
    610             loaded["WGL_ARB_create_context_profile"] = load_WGL_ARB_create_context_profile(); 
    611             loaded["WGL_ARB_framebuffer_sRGB"] = load_WGL_ARB_framebuffer_sRGB(); 
    612  
    613             loaded["WGL_EXT_depth_float"] = load_WGL_EXT_depth_float(); 
    614             loaded["WGL_EXT_display_color_table"] = load_WGL_EXT_display_color_table(); 
    615             loaded["WGL_EXT_extensions_string"] = load_WGL_EXT_extensions_string(); 
    616             loaded["WGL_EXT_framebuffer_sRGB"] = load_WGL_EXT_framebuffer_sRGB(); 
    617             loaded["WGL_EXT_make_current_read"] = load_WGL_EXT_make_current_read(); 
    618             loaded["WGL_EXT_multisample"] = load_WGL_EXT_multisample(); 
    619             loaded["WGL_EXT_pbuffer"] = load_WGL_EXT_pbuffer(); 
    620             loaded["WGL_EXT_pixel_format"] = load_WGL_EXT_pixel_format(); 
    621             loaded["WGL_EXT_pixel_format_packed_float"] = load_WGL_EXT_pixel_format_packed_float(); 
    622             loaded["WGL_EXT_swap_control"] = load_WGL_EXT_swap_control(); 
    623  
    624             loaded["WGL_3DFX_multisample"] = load_WGL_3DFX_multisample(); 
    625             loaded["WGL_3DL_stereo_control"] = load_WGL_3DL_stereo_control(); 
    626             loaded["WGL_AMD_gpu_association"] = load_WGL_AMD_gpu_association(); 
    627             loaded["WGL_ATI_pixel_format_float"] = load_WGL_ATI_pixel_format_float(); 
    628             loaded["WGL_ATI_render_texture_rectangle"] = load_WGL_ATI_render_texture_rectangle(); 
    629  
     609            version(DerelictGL_ARB) 
     610            { 
     611                loaded["WGL_ARB_buffer_region"] = load_WGL_ARB_buffer_region(); 
     612                loaded["WGL_ARB_multisample"] = load_WGL_ARB_multisample(); 
     613                loaded["WGL_ARB_pixel_format"] = load_WGL_ARB_pixel_format(); 
     614                loaded["WGL_ARB_make_current_read"] = load_WGL_ARB_make_current_read(); 
     615                loaded["WGL_ARB_pbuffer"] = load_WGL_ARB_pbuffer(); 
     616                loaded["WGL_ARB_render_texture"] = load_WGL_ARB_render_texture(); 
     617                loaded["WGL_ARB_pixel_format_float"] = load_WGL_ARB_pixel_format_float(); 
     618                loaded["WGL_ARB_create_context"] = load_WGL_ARB_create_context(); 
     619                loaded["WGL_ARB_create_context_profile"] = load_WGL_ARB_create_context_profile(); 
     620                loaded["WGL_ARB_framebuffer_sRGB"] = load_WGL_ARB_framebuffer_sRGB(); 
     621            } 
     622 
     623            version(DerelictGL_EXT) 
     624            { 
     625                loaded["WGL_EXT_depth_float"] = load_WGL_EXT_depth_float(); 
     626                loaded["WGL_EXT_display_color_table"] = load_WGL_EXT_display_color_table(); 
     627                loaded["WGL_EXT_framebuffer_sRGB"] = load_WGL_EXT_framebuffer_sRGB(); 
     628                loaded["WGL_EXT_make_current_read"] = load_WGL_EXT_make_current_read(); 
     629                loaded["WGL_EXT_multisample"] = load_WGL_EXT_multisample(); 
     630                loaded["WGL_EXT_pbuffer"] = load_WGL_EXT_pbuffer(); 
     631                loaded["WGL_EXT_pixel_format"] = load_WGL_EXT_pixel_format(); 
     632                loaded["WGL_EXT_pixel_format_packed_float"] = load_WGL_EXT_pixel_format_packed_float(); 
     633                loaded["WGL_EXT_swap_control"] = load_WGL_EXT_swap_control(); 
     634            } 
     635 
     636            version(DerelictGL_NV) 
     637            { 
     638                loaded["WGL_NV_copy_image"] = load_WGL_NV_copy_image(); 
     639                loaded["WGL_NV_float_buffer"] = load_WGL_NV_float_buffer(); 
     640                loaded["WGL_NV_gpu_affinity"] = load_WGL_NV_gpu_affinity(); 
     641                loaded["WGL_NV_multisample_coverage"] = load_WGL_NV_multisample_coverage(); 
     642                loaded["WGL_NV_present_video"] = load_WGL_NV_present_video(); 
     643                loaded["WGL_NV_render_depth_texture"] = load_WGL_NV_render_depth_texture(); 
     644                loaded["WGL_NV_render_texture_rectangle"] = load_WGL_NV_render_texture_rectangle(); 
     645                loaded["WGL_NV_swap_group"] = load_WGL_NV_swap_group(); 
     646                loaded["WGL_NV_vertex_array_range"] = load_WGL_NV_vertex_array_range(); 
     647                loaded["WGL_NV_video_output"] = load_WGL_NV_video_output(); 
     648            } 
     649 
     650            version(DerelictGL_ATI) 
     651            { 
     652                loaded["WGL_ATI_pixel_format_float"] = load_WGL_ATI_pixel_format_float(); 
     653                loaded["WGL_ATI_render_texture_rectangle"] = load_WGL_ATI_render_texture_rectangle(); 
     654            } 
     655 
     656            version(DerelictGL_AMD) 
     657            { 
     658                loaded["WGL_AMD_gpu_association"] = load_WGL_AMD_gpu_association(); 
     659            } 
     660 
     661            version(DerelictGL_I3D) 
     662            { 
     663                loaded["WGL_I3D_digital_video_control"] = load_WGL_I3D_digital_video_control(); 
     664                loaded["WGL_I3D_gamma"] = load_WGL_I3D_gamma(); 
     665                loaded["WGL_I3D_genlock"] = load_WGL_I3D_genlock(); 
     666                loaded["WGL_I3D_image_buffer"] = load_WGL_I3D_image_buffer(); 
     667                loaded["WGL_I3D_swap_frame_lock"] = load_WGL_I3D_swap_frame_lock(); 
     668                loaded["WGL_I3D_swap_frame_usage"] = load_WGL_I3D_swap_frame_usage(); 
     669            } 
     670 
     671            version(DerelictGL_OML) 
     672            { 
     673                loaded["WGL_OML_sync_control"] = load_WGL_OML_sync_control(); 
     674            } 
     675 
     676            version(DerelictGL_3DFX) 
     677            { 
     678                loaded["WGL_3DFX_multisample"] = load_WGL_3DFX_multisample(); 
     679            } 
     680 
     681            version(DerelictGL_3DL) 
     682            { 
     683                loaded["WGL_3DL_stereo_control"] = load_WGL_3DL_stereo_control(); 
     684            } 
    630685        } 
    631686    } 
     
    56405695    version(Windows) 
    56415696    { 
     5697        // These two functions should always be compiled in. 
    56425698        GLExtensionState load_WGL_ARB_extensions_string() 
    56435699        { 
     
    56485704        } 
    56495705 
    5650         GLExtensionState load_WGL_ARB_buffer_region() 
    5651         { 
    5652             if(!extIsSupported("WGL_ARB_buffer_region")) 
    5653                 return GLExtensionState.DriverUnsupported; 
    5654             if(!bindExtFunc(cast(void**)&wglCreateBufferRegionARB, "wglCreateBufferRegionARB")) 
    5655                 return GLExtensionState.FailedToLoad; 
    5656             if(!bindExtFunc(cast(void**)&wglDeleteBufferRegionARB, "wglDeleteBufferRegionARB")) 
    5657                 return GLExtensionState.FailedToLoad; 
    5658             if(!bindExtFunc(cast(void**)&wglSaveBufferRegionARB, "wglSaveBufferRegionARB")) 
    5659                 return GLExtensionState.FailedToLoad; 
    5660             if(!bindExtFunc(cast(void**)&wglRestoreBufferRegionARB, "wglRestoreBufferRegionARB")) 
    5661                 return GLExtensionState.FailedToLoad; 
    5662             return GLExtensionState.Loaded; 
    5663         } 
    5664  
    5665         GLExtensionState load_WGL_ARB_multisample() 
    5666         { 
    5667             if(!extIsSupported("WGL_ARB_multisample")) 
    5668                 return GLExtensionState.DriverUnsupported; 
    5669             return GLExtensionState.Loaded; 
    5670         } 
    5671  
    5672         GLExtensionState load_WGL_ARB_pixel_format() 
    5673         { 
    5674             if(!extIsSupported("WGL_ARB_pixel_format")) 
    5675                 return GLExtensionState.DriverUnsupported; 
    5676             if(!bindExtFunc(cast(void**)&wglGetPixelFormatAttribivARB, "wglGetPixelFormatAttribivARB")) 
    5677                 return GLExtensionState.FailedToLoad; 
    5678             if(!bindExtFunc(cast(void**)&wglGetPixelFormatAttribfvARB, "wglGetPixelFormatAttribfvARB")) 
    5679                 return GLExtensionState.FailedToLoad; 
    5680             if(!bindExtFunc(cast(void**)&wglChoosePixelFormatARB, "wglChoosePixelFormatARB")) 
    5681                 return GLExtensionState.FailedToLoad; 
    5682             return GLExtensionState.Loaded; 
    5683         } 
    5684  
    5685         GLExtensionState load_WGL_ARB_make_current_read() 
    5686         { 
    5687             if(!extIsSupported("WGL_ARB_make_current_read")) 
    5688                 return GLExtensionState.DriverUnsupported; 
    5689             if(!bindExtFunc(cast(void**)&wglMakeContextCurrentARB, "wglMakeContextCurrentARB")) 
    5690                 return GLExtensionState.FailedToLoad; 
    5691             if(!bindExtFunc(cast(void**)&wglGetCurrentReadDCARB, "wglGetCurrentReadDCARB")) 
    5692                 return GLExtensionState.FailedToLoad; 
    5693             return GLExtensionState.Loaded; 
    5694         } 
    5695  
    5696         GLExtensionState load_WGL_ARB_pbuffer() 
    5697         { 
    5698             if(!extIsSupported("WGL_ARB_pbuffer")) 
    5699                 return GLExtensionState.DriverUnsupported; 
    5700             if(!bindExtFunc(cast(void**)&wglCreatePbufferARB, "wglCreatePbufferARB")) 
    5701                 return GLExtensionState.FailedToLoad; 
    5702             if(!bindExtFunc(cast(void**)&wglGetPbufferDCARB, "wglGetPbufferDCARB")) 
    5703                 return GLExtensionState.FailedToLoad; 
    5704             if(!bindExtFunc(cast(void**)&wglReleasePbufferDCARB, "wglReleasePbufferDCARB")) 
    5705                 return GLExtensionState.FailedToLoad; 
    5706             if(!bindExtFunc(cast(void**)&wglDestroyPbufferARB, "wglDestroyPbufferARB")) 
    5707                 return GLExtensionState.FailedToLoad; 
    5708             if(!bindExtFunc(cast(void**)&wglQueryPbufferARB, "wglQueryPbufferARB")) 
    5709                 return GLExtensionState.FailedToLoad; 
    5710             return GLExtensionState.Loaded; 
    5711         } 
    5712  
    5713         GLExtensionState load_WGL_ARB_render_texture() 
    5714         { 
    5715             if(!extIsSupported("WGL_ARB_render_texture")) 
    5716                 return GLExtensionState.DriverUnsupported; 
    5717             if(!bindExtFunc(cast(void**)&wglBindTexImageARB, "wglBindTexImageARB")) 
    5718                 return GLExtensionState.FailedToLoad; 
    5719             if(!bindExtFunc(cast(void**)&wglReleaseTexImageARB, "wglReleaseTexImageARB")) 
    5720                 return GLExtensionState.FailedToLoad; 
    5721             if(!bindExtFunc(cast(void**)&wglSetPbufferAttribARB, "wglSetPbufferAttribARB")) 
    5722                 return GLExtensionState.FailedToLoad; 
    5723             return GLExtensionState.Loaded; 
    5724         } 
    5725  
    5726         GLExtensionState load_WGL_ARB_pixel_format_float() 
    5727         { 
    5728             if(!extIsSupported("WGL_ARB_pixel_format_float")) 
    5729                 return GLExtensionState.DriverUnsupported; 
    5730             return GLExtensionState.Loaded; 
    5731         } 
    5732  
    5733         GLExtensionState load_WGL_ARB_create_context() 
    5734         { 
    5735             if(!extIsSupported("WGL_ARB_create_context")) 
    5736                 return GLExtensionState.DriverUnsupported; 
    5737             if(!bindExtFunc(cast(void**)&wglCreateContextAttribsARB, "wglCreateContextAttribsARB")) 
    5738                 return GLExtensionState.FailedToLoad; 
    5739             return GLExtensionState.Loaded; 
    5740         } 
    5741  
    5742         GLExtensionState load_WGL_ARB_framebuffer_sRGB() 
    5743         { 
    5744             if(!extIsSupported("WGL_ARB_framebuffer_sRGB")) 
    5745                 return GLExtensionState.DriverUnsupported; 
    5746             return GLExtensionState.Loaded; 
    5747         } 
    5748  
    5749         GLExtensionState load_WGL_ARB_create_context_profile() 
    5750         { 
    5751             if(!extIsSupported("WGL_ARB_create_context_profile")) 
    5752                 return GLExtensionState.DriverUnsupported; 
    5753             return GLExtensionState.Loaded; 
    5754         } 
    5755  
    5756         GLExtensionState load_WGL_EXT_depth_float() 
    5757         { 
    5758             if(!extIsSupported("WGL_EXT_depth_float")) 
    5759                 return GLExtensionState.DriverUnsupported; 
    5760             return GLExtensionState.Loaded; 
    5761         } 
    5762  
    5763         GLExtensionState load_WGL_EXT_display_color_table() 
    5764         { 
    5765             if(!extIsSupported("WGL_EXT_display_color_table")) 
    5766                 return GLExtensionState.DriverUnsupported; 
    5767             if(!bindExtFunc(cast(void**)&wglBindDisplayColorTableEXT, "wglBindDisplayColorTableEXT")) 
    5768                 return GLExtensionState.FailedToLoad; 
    5769             if(!bindExtFunc(cast(void**)&wglCreateDisplayColorTableEXT, "wglCreateDisplayColorTableEXT")) 
    5770                 return GLExtensionState.FailedToLoad; 
    5771             if(!bindExtFunc(cast(void**)&wglDestroyDisplayColorTableEXT, "wglDestroyDisplayColorTableEXT")) 
    5772                 return GLExtensionState.FailedToLoad; 
    5773             if(!bindExtFunc(cast(void**)&wglLoadDisplayColorTableEXT, "wglLoadDisplayColorTableEXT")) 
    5774                 return GLExtensionState.FailedToLoad; 
    5775             return GLExtensionState.Loaded; 
    5776         } 
    5777  
    57785706        GLExtensionState load_WGL_EXT_extensions_string() 
    57795707        { 
     
    57835711        } 
    57845712 
    5785         GLExtensionState load_WGL_EXT_framebuffer_sRGB() 
    5786         { 
    5787             if(!extIsSupported("WGL_EXT_framebuffer_sRGB")) 
    5788                 return GLExtensionState.DriverUnsupported; 
    5789             return GLExtensionState.Loaded; 
    5790         } 
    5791  
    5792         GLExtensionState load_WGL_EXT_make_current_read() 
    5793         { 
    5794             if(!extIsSupported("WGL_EXT_make_current_read")) 
    5795                 return GLExtensionState.DriverUnsupported; 
    5796             if(!bindExtFunc(cast(void**)&wglMakeContextCurrentEXT, "wglMakeContextCurrentEXT")) 
    5797                 return GLExtensionState.FailedToLoad; 
    5798             if(!bindExtFunc(cast(void**)&wglGetCurrentReadDCEXT, "wglGetCurrentReadDCEXT")) 
    5799                 return GLExtensionState.FailedToLoad; 
    5800             return GLExtensionState.Loaded; 
    5801         } 
    5802  
    5803         GLExtensionState load_WGL_EXT_multisample() 
    5804         { 
    5805             if(!extIsSupported("WGL_EXT_multisample")) 
    5806                 return GLExtensionState.DriverUnsupported; 
    5807             return GLExtensionState.Loaded; 
    5808         } 
    5809  
    5810         GLExtensionState load_WGL_EXT_pbuffer() 
    5811         { 
    5812             if(!extIsSupported("WGL_EXT_pbuffer")) 
    5813                 return GLExtensionState.DriverUnsupported; 
    5814             if(!bindExtFunc(cast(void**)&wglCreatePbufferEXT, "wglCreatePbufferEXT")) 
    5815                 return GLExtensionState.FailedToLoad; 
    5816             if(!bindExtFunc(cast(void**)&wglDestroyPbufferEXT, "wglDestroyPbufferEXT")) 
    5817                 return GLExtensionState.FailedToLoad; 
    5818             if(!bindExtFunc(cast(void**)&wglGetPbufferDCEXT, "wglGetPbufferDCEXT")) 
    5819                 return GLExtensionState.FailedToLoad; 
    5820             if(!bindExtFunc(cast(void**)&wglQueryPbufferEXT, "wglQueryPbufferEXT")) 
    5821                 return GLExtensionState.FailedToLoad; 
    5822             if(!bindExtFunc(cast(void**)&wglReleasePbufferDCEXT, "wglReleasePbufferDCEXT")) 
    5823                 return GLExtensionState.FailedToLoad; 
    5824             return GLExtensionState.Loaded; 
    5825         } 
    5826  
    5827         GLExtensionState load_WGL_EXT_pixel_format() 
    5828         { 
    5829             if(!extIsSupported("WGL_EXT_pixel_format")) 
    5830                 return GLExtensionState.DriverUnsupported; 
    5831             if(!bindExtFunc(cast(void**)&wglChoosePixelFormatEXT, "wglChoosePixelFormatEXT")) 
    5832                 return GLExtensionState.FailedToLoad; 
    5833             if(!bindExtFunc(cast(void**)&wglGetPixelFormatAttribfvEXT, "wglGetPixelFormatAttribfvEXT")) 
    5834                 return GLExtensionState.FailedToLoad; 
    5835             if(!bindExtFunc(cast(void**)&wglGetPixelFormatAttribivEXT, "wglGetPixelFormatAttribivEXT")) 
    5836                 return GLExtensionState.FailedToLoad; 
    5837             return GLExtensionState.Loaded; 
    5838         } 
    5839  
    5840         GLExtensionState load_WGL_EXT_pixel_format_packed_float() 
    5841         { 
    5842             if(!extIsSupported("WGL_EXT_pixel_format_packed_float")) 
    5843                 return GLExtensionState.DriverUnsupported; 
    5844             return GLExtensionState.Loaded; 
    5845         } 
    5846  
    5847         GLExtensionState load_WGL_EXT_swap_control() 
    5848         { 
    5849             if(!extIsSupported("WGL_EXT_swap_control")) 
    5850                 return GLExtensionState.DriverUnsupported; 
    5851             if(!bindExtFunc(cast(void**)&wglGetSwapIntervalEXT, "wglGetSwapIntervalEXT")) 
    5852                 return GLExtensionState.FailedToLoad; 
    5853             if(!bindExtFunc(cast(void**)&wglSwapIntervalEXT, "wglSwapIntervalEXT")) 
    5854                 return GLExtensionState.FailedToLoad; 
    5855             return GLExtensionState.Loaded; 
    5856         } 
    5857  
    5858         GLExtensionState load_WGL_3DFX_multisample() 
    5859         { 
    5860             if(!extIsSupported("WGL_3DFX_multisample")) 
    5861                 return GLExtensionState.DriverUnsupported; 
    5862             return GLExtensionState.Loaded; 
    5863         } 
    5864  
    5865         GLExtensionState load_WGL_3DL_stereo_control() 
    5866         { 
    5867             if(!extIsSupported("WGL_3DL_stereo_control")) 
    5868                 return GLExtensionState.DriverUnsupported; 
    5869             if(!bindExtFunc(cast(void**)&wglSetStereoEmitterState3DL, "wglSetStereoEmitterState3DL")) 
    5870                 return GLExtensionState.FailedToLoad; 
    5871             return GLExtensionState.Loaded; 
    5872         } 
    5873  
    5874         GLExtensionState load_WGL_AMD_gpu_association() 
    5875         { 
    5876             if(!extIsSupported("WGL_AMD_gpu_association")) 
    5877                 return GLExtensionState.DriverUnsupported; 
    5878             if(!bindExtFunc(cast(void**)&wglBlitContextFramebufferAMD, "wglBlitContextFramebufferAMD")) 
    5879                 return GLExtensionState.FailedToLoad; 
    5880             if(!bindExtFunc(cast(void**)&wglCreateAssociatedContextAMD, "wglCreateAssociatedContextAMD")) 
    5881                 return GLExtensionState.FailedToLoad; 
    5882             if(!bindExtFunc(cast(void**)&wglCreateAssociatedContextAttribsAMD, "wglCreateAssociatedContextAttribsAMD")) 
    5883                 return GLExtensionState.FailedToLoad; 
    5884             if(!bindExtFunc(cast(void**)&wglDeleteAssociatedContextAMD, "wglDeleteAssociatedContextAMD")) 
    5885                 return GLExtensionState.FailedToLoad; 
    5886             if(!bindExtFunc(cast(void**)&wglGetContextGPUIDAMD, "wglGetContextGPUIDAMD")) 
    5887                 return GLExtensionState.FailedToLoad; 
    5888             if(!bindExtFunc(cast(void**)&wglGetCurrentAssociatedContextAMD, "wglGetCurrentAssociatedContextAMD")) 
    5889                 return GLExtensionState.FailedToLoad; 
    5890             if(!bindExtFunc(cast(void**)&wglGetGPUIDsAMD, "wglGetGPUIDsAMD")) 
    5891                 return GLExtensionState.FailedToLoad; 
    5892             if(!bindExtFunc(cast(void**)&wglGetGPUInfoAMD, "wglGetGPUInfoAMD")) 
    5893                 return GLExtensionState.FailedToLoad; 
    5894             if(!bindExtFunc(cast(void**)&wglMakeAssociatedContextCurrentAMD, "wglMakeAssociatedContextCurrentAMD")) 
    5895                 return GLExtensionState.FailedToLoad; 
    5896             return GLExtensionState.Loaded; 
    5897         } 
    5898  
    5899         GLExtensionState load_WGL_ATI_pixel_format_float() 
    5900         { 
    5901             if(!extIsSupported("WGL_ATI_pixel_format_float")) 
    5902                 return GLExtensionState.DriverUnsupported; 
    5903             return GLExtensionState.Loaded; 
    5904         } 
    5905  
    5906         GLExtensionState load_WGL_ATI_render_texture_rectangle() 
    5907         { 
    5908             if(!extIsSupported("WGL_ATI_render_texture_rectangle")) 
    5909                 return GLExtensionState.DriverUnsupported; 
    5910             return GLExtensionState.Loaded; 
    5911         } 
    5912  
    5913  
    5914  
     5713        version(DerelictGL_ARB) 
     5714        { 
     5715            GLExtensionState load_WGL_ARB_buffer_region() 
     5716            { 
     5717                if(!extIsSupported("WGL_ARB_buffer_region")) 
     5718                    return GLExtensionState.DriverUnsupported; 
     5719                if(!bindExtFunc(cast(void**)&wglCreateBufferRegionARB, "wglCreateBufferRegionARB")) 
     5720                    return GLExtensionState.FailedToLoad; 
     5721                if(!bindExtFunc(cast(void**)&wglDeleteBufferRegionARB, "wglDeleteBufferRegionARB")) 
     5722                    return GLExtensionState.FailedToLoad; 
     5723                if(!bindExtFunc(cast(void**)&wglSaveBufferRegionARB, "wglSaveBufferRegionARB")) 
     5724                    return GLExtensionState.FailedToLoad; 
     5725                if(!bindExtFunc(cast(void**)&wglRestoreBufferRegionARB, "wglRestoreBufferRegionARB")) 
     5726                    return GLExtensionState.FailedToLoad; 
     5727                return GLExtensionState.Loaded; 
     5728            } 
     5729 
     5730            GLExtensionState load_WGL_ARB_multisample() 
     5731            { 
     5732                if(!extIsSupported("WGL_ARB_multisample")) 
     5733                    return GLExtensionState.DriverUnsupported; 
     5734                return GLExtensionState.Loaded; 
     5735            } 
     5736 
     5737            GLExtensionState load_WGL_ARB_pixel_format() 
     5738            { 
     5739                if(!extIsSupported("WGL_ARB_pixel_format")) 
     5740                    return GLExtensionState.DriverUnsupported; 
     5741                if(!bindExtFunc(cast(void**)&wglGetPixelFormatAttribivARB, "wglGetPixelFormatAttribivARB")) 
     5742                    return GLExtensionState.FailedToLoad; 
     5743                if(!bindExtFunc(cast(void**)&wglGetPixelFormatAttribfvARB, "wglGetPixelFormatAttribfvARB")) 
     5744                    return GLExtensionState.FailedToLoad; 
     5745                if(!bindExtFunc(cast(void**)&wglChoosePixelFormatARB, "wglChoosePixelFormatARB")) 
     5746                    return GLExtensionState.FailedToLoad; 
     5747                return GLExtensionState.Loaded; 
     5748            } 
     5749 
     5750            GLExtensionState load_WGL_ARB_make_current_read() 
     5751            { 
     5752                if(!extIsSupported("WGL_ARB_make_current_read")) 
     5753                    return GLExtensionState.DriverUnsupported; 
     5754                if(!bindExtFunc(cast(void**)&wglMakeContextCurrentARB, "wglMakeContextCurrentARB")) 
     5755                    return GLExtensionState.FailedToLoad; 
     5756                if(!bindExtFunc(cast(void**)&wglGetCurrentReadDCARB, "wglGetCurrentReadDCARB")) 
     5757                    return GLExtensionState.FailedToLoad; 
     5758                return GLExtensionState.Loaded; 
     5759            } 
     5760 
     5761            GLExtensionState load_WGL_ARB_pbuffer() 
     5762            { 
     5763                if(!extIsSupported("WGL_ARB_pbuffer")) 
     5764                    return GLExtensionState.DriverUnsupported; 
     5765                if(!bindExtFunc(cast(void**)&wglCreatePbufferARB, "wglCreatePbufferARB")) 
     5766                    return GLExtensionState.FailedToLoad; 
     5767                if(!bindExtFunc(cast(void**)&wglGetPbufferDCARB, "wglGetPbufferDCARB")) 
     5768                    return GLExtensionState.FailedToLoad; 
     5769                if(!bindExtFunc(cast(void**)&wglReleasePbufferDCARB, "wglReleasePbufferDCARB")) 
     5770                    return GLExtensionState.FailedToLoad; 
     5771                if(!bindExtFunc(cast(void**)&wglDestroyPbufferARB, "wglDestroyPbufferARB")) 
     5772                    return GLExtensionState.FailedToLoad; 
     5773                if(!bindExtFunc(cast(void**)&wglQueryPbufferARB, "wglQueryPbufferARB")) 
     5774                    return GLExtensionState.FailedToLoad; 
     5775                return GLExtensionState.Loaded; 
     5776            } 
     5777 
     5778            GLExtensionState load_WGL_ARB_render_texture() 
     5779            { 
     5780                if(!extIsSupported("WGL_ARB_render_texture")) 
     5781                    return GLExtensionState.DriverUnsupported; 
     5782                if(!bindExtFunc(cast(void**)&wglBindTexImageARB, "wglBindTexImageARB")) 
     5783                    return GLExtensionState.FailedToLoad; 
     5784                if(!bindExtFunc(cast(void**)&wglReleaseTexImageARB, "wglReleaseTexImageARB")) 
     5785                    return GLExtensionState.FailedToLoad; 
     5786                if(!bindExtFunc(cast(void**)&wglSetPbufferAttribARB, "wglSetPbufferAttribARB")) 
     5787                    return GLExtensionState.FailedToLoad; 
     5788                return GLExtensionState.Loaded; 
     5789            } 
     5790 
     5791            GLExtensionState load_WGL_ARB_pixel_format_float() 
     5792            { 
     5793                if(!extIsSupported("WGL_ARB_pixel_format_float")) 
     5794                    return GLExtensionState.DriverUnsupported; 
     5795                return GLExtensionState.Loaded; 
     5796            } 
     5797 
     5798            GLExtensionState load_WGL_ARB_create_context() 
     5799            { 
     5800                if(!extIsSupported("WGL_ARB_create_context")) 
     5801                    return GLExtensionState.DriverUnsupported; 
     5802                if(!bindExtFunc(cast(void**)&wglCreateContextAttribsARB, "wglCreateContextAttribsARB")) 
     5803                    return GLExtensionState.FailedToLoad; 
     5804                return GLExtensionState.Loaded; 
     5805            } 
     5806 
     5807            GLExtensionState load_WGL_ARB_framebuffer_sRGB() 
     5808            { 
     5809                if(!extIsSupported("WGL_ARB_framebuffer_sRGB")) 
     5810                    return GLExtensionState.DriverUnsupported; 
     5811                return GLExtensionState.Loaded; 
     5812            } 
     5813 
     5814            GLExtensionState load_WGL_ARB_create_context_profile() 
     5815            { 
     5816                if(!extIsSupported("WGL_ARB_create_context_profile")) 
     5817                    return GLExtensionState.DriverUnsupported; 
     5818                return GLExtensionState.Loaded; 
     5819            } 
     5820        } 
     5821 
     5822        version(DerelictGL_EXT) 
     5823        { 
     5824            GLExtensionState load_WGL_EXT_depth_float() 
     5825            { 
     5826                if(!extIsSupported("WGL_EXT_depth_float")) 
     5827                    return GLExtensionState.DriverUnsupported; 
     5828                return GLExtensionState.Loaded; 
     5829            } 
     5830 
     5831            GLExtensionState load_WGL_EXT_display_color_table() 
     5832            { 
     5833                if(!extIsSupported("WGL_EXT_display_color_table")) 
     5834                    return GLExtensionState.DriverUnsupported; 
     5835                if(!bindExtFunc(cast(void**)&wglBindDisplayColorTableEXT, "wglBindDisplayColorTableEXT")) 
     5836                    return GLExtensionState.FailedToLoad; 
     5837                if(!bindExtFunc(cast(void**)&wglCreateDisplayColorTableEXT, "wglCreateDisplayColorTableEXT")) 
     5838                    return GLExtensionState.FailedToLoad; 
     5839                if(!bindExtFunc(cast(void**)&wglDestroyDisplayColorTableEXT, "wglDestroyDisplayColorTableEXT")) 
     5840                    return GLExtensionState.FailedToLoad; 
     5841                if(!bindExtFunc(cast(void**)&wglLoadDisplayColorTableEXT, "wglLoadDisplayColorTableEXT")) 
     5842                    return GLExtensionState.FailedToLoad; 
     5843                return GLExtensionState.Loaded; 
     5844            } 
     5845 
     5846            GLExtensionState load_WGL_EXT_framebuffer_sRGB() 
     5847            { 
     5848                if(!extIsSupported("WGL_EXT_framebuffer_sRGB")) 
     5849                    return GLExtensionState.DriverUnsupported; 
     5850                return GLExtensionState.Loaded; 
     5851            } 
     5852 
     5853            GLExtensionState load_WGL_EXT_make_current_read() 
     5854            { 
     5855                if(!extIsSupported("WGL_EXT_make_current_read")) 
     5856                    return GLExtensionState.DriverUnsupported; 
     5857                if(!bindExtFunc(cast(void**)&wglMakeContextCurrentEXT, "wglMakeContextCurrentEXT")) 
     5858                    return GLExtensionState.FailedToLoad; 
     5859                if(!bindExtFunc(cast(void**)&wglGetCurrentReadDCEXT, "wglGetCurrentReadDCEXT")) 
     5860                    return GLExtensionState.FailedToLoad; 
     5861                return GLExtensionState.Loaded; 
     5862            } 
     5863 
     5864            GLExtensionState load_WGL_EXT_multisample() 
     5865            { 
     5866                if(!extIsSupported("WGL_EXT_multisample")) 
     5867                    return GLExtensionState.DriverUnsupported; 
     5868                return GLExtensionState.Loaded; 
     5869            } 
     5870 
     5871            GLExtensionState load_WGL_EXT_pbuffer() 
     5872            { 
     5873                if(!extIsSupported("WGL_EXT_pbuffer")) 
     5874                    return GLExtensionState.DriverUnsupported; 
     5875                if(!bindExtFunc(cast(void**)&wglCreatePbufferEXT, "wglCreatePbufferEXT")) 
     5876                    return GLExtensionState.FailedToLoad; 
     5877                if(!bindExtFunc(cast(void**)&wglDestroyPbufferEXT, "wglDestroyPbufferEXT")) 
     5878                    return GLExtensionState.FailedToLoad; 
     5879                if(!bindExtFunc(cast(void**)&wglGetPbufferDCEXT, "wglGetPbufferDCEXT")) 
     5880                    return GLExtensionState.FailedToLoad; 
     5881                if(!bindExtFunc(cast(void**)&wglQueryPbufferEXT, "wglQueryPbufferEXT")) 
     5882                    return GLExtensionState.FailedToLoad; 
     5883                if(!bindExtFunc(cast(void**)&wglReleasePbufferDCEXT, "wglReleasePbufferDCEXT")) 
     5884                    return GLExtensionState.FailedToLoad; 
     5885                return GLExtensionState.Loaded; 
     5886            } 
     5887 
     5888            GLExtensionState load_WGL_EXT_pixel_format() 
     5889            { 
     5890                if(!extIsSupported("WGL_EXT_pixel_format")) 
     5891                    return GLExtensionState.DriverUnsupported; 
     5892                if(!bindExtFunc(cast(void**)&wglChoosePixelFormatEXT, "wglChoosePixelFormatEXT")) 
     5893                    return GLExtensionState.FailedToLoad; 
     5894                if(!bindExtFunc(cast(void**)&wglGetPixelFormatAttribfvEXT, "wglGetPixelFormatAttribfvEXT")) 
     5895                    return GLExtensionState.FailedToLoad; 
     5896                if(!bindExtFunc(cast(void**)&wglGetPixelFormatAttribivEXT, "wglGetPixelFormatAttribivEXT")) 
     5897                    return GLExtensionState.FailedToLoad; 
     5898                return GLExtensionState.Loaded; 
     5899            } 
     5900 
     5901            GLExtensionState load_WGL_EXT_pixel_format_packed_float() 
     5902            { 
     5903                if(!extIsSupported("WGL_EXT_pixel_format_packed_float")) 
     5904                    return GLExtensionState.DriverUnsupported; 
     5905                return GLExtensionState.Loaded; 
     5906            } 
     5907 
     5908            GLExtensionState load_WGL_EXT_swap_control() 
     5909            { 
     5910                if(!extIsSupported("WGL_EXT_swap_control")) 
     5911                    return GLExtensionState.DriverUnsupported; 
     5912                if(!bindExtFunc(cast(void**)&wglGetSwapIntervalEXT, "wglGetSwapIntervalEXT")) 
     5913                    return GLExtensionState.FailedToLoad; 
     5914                if(!bindExtFunc(cast(void**)&wglSwapIntervalEXT, "wglSwapIntervalEXT")) 
     5915                    return GLExtensionState.FailedToLoad; 
     5916                return GLExtensionState.Loaded; 
     5917            } 
     5918        } 
     5919 
     5920        version(DerelictGL_NV) 
     5921        { 
     5922            GLExtensionState load_WGL_NV_copy_image() 
     5923            { 
     5924                if(!extIsSupported("WGL_NV_copy_image")) 
     5925                    return GLExtensionState.DriverUnsupported; 
     5926                if(!bindExtFunc(cast(void**)&wglCopyImageSubDataNV, "wglCopyImageSubDataNV")) 
     5927                    return GLExtensionState.FailedToLoad; 
     5928                return GLExtensionState.Loaded; 
     5929            } 
     5930 
     5931            GLExtensionState load_WGL_NV_float_buffer() 
     5932            { 
     5933                if(!extIsSupported("WGL_NV_float_buffer")) 
     5934                    return GLExtensionState.DriverUnsupported; 
     5935                return GLExtensionState.Loaded; 
     5936            } 
     5937 
     5938            GLExtensionState load_WGL_NV_gpu_affinity() 
     5939            { 
     5940                if(!extIsSupported("WGL_NV_gpu_affinity")) 
     5941                    return GLExtensionState.DriverUnsupported; 
     5942                if(!bindExtFunc(cast(void**)&wglCreateAffinityDCNV, "wglCreateAffinityDCNV")) 
     5943                    return GLExtensionState.FailedToLoad; 
     5944                if(!bindExtFunc(cast(void**)&wglDeleteDCNV, "wglDeleteDCNV")) 
     5945                    return GLExtensionState.FailedToLoad; 
     5946                if(!bindExtFunc(cast(void**)&wglEnumGpuDevicesNV, "wglEnumGpuDevicesNV")) 
     5947                    return GLExtensionState.FailedToLoad; 
     5948                if(!bindExtFunc(cast(void**)&wglEnumGpusFromAffinityDCNV, "wglEnumGpusFromAffinityDCNV")) 
     5949                    return GLExtensionState.FailedToLoad; 
     5950                if(!bindExtFunc(cast(void**)&wglEnumGpusNV, "wglEnumGpusNV")) 
     5951                    return GLExtensionState.FailedToLoad; 
     5952                return GLExtensionState.Loaded; 
     5953            } 
     5954 
     5955            GLExtensionState load_WGL_NV_multisample_coverage() 
     5956            { 
     5957                if(!extIsSupported("WGL_NV_multisample_coverage")) 
     5958                    return GLExtensionState.DriverUnsupported; 
     5959                return GLExtensionState.Loaded; 
     5960            } 
     5961 
     5962            GLExtensionState load_WGL_NV_present_video() 
     5963            { 
     5964                if(!extIsSupported("WGL_NV_present_video")) 
     5965                    return GLExtensionState.DriverUnsupported; 
     5966                if(!bindExtFunc(cast(void**)&wglBindVideoDeviceNV, "wglBindVideoDeviceNV")) 
     5967                    return GLExtensionState.FailedToLoad; 
     5968                if(!bindExtFunc(cast(void**)&wglEnumerateVideoDevicesNV, "wglEnumerateVideoDevicesNV")) 
     5969                    return GLExtensionState.FailedToLoad; 
     5970                if(!bindExtFunc(cast(void**)&wglQueryCurrentContextNV, "wglQueryCurrentContextNV")) 
     5971                    return GLExtensionState.FailedToLoad; 
     5972                return GLExtensionState.Loaded; 
     5973            } 
     5974 
     5975            GLExtensionState load_WGL_NV_render_depth_texture() 
     5976            { 
     5977                if(!extIsSupported("WGL_NV_render_depth_texture")) 
     5978                    return GLExtensionState.DriverUnsupported; 
     5979                return GLExtensionState.Loaded; 
     5980            } 
     5981 
     5982            GLExtensionState load_WGL_NV_render_texture_rectangle() 
     5983            { 
     5984                if(!extIsSupported("WGL_NV_render_texture_rectangle")) 
     5985                    return GLExtensionState.DriverUnsupported; 
     5986                return GLExtensionState.Loaded; 
     5987            } 
     5988 
     5989            GLExtensionState load_WGL_NV_swap_group() 
     5990            { 
     5991                if(!extIsSupported("WGL_NV_swap_group")) 
     5992                    return GLExtensionState.DriverUnsupported; 
     5993                if(!bindExtFunc(cast(void**)&wglBindSwapBarrierNV, "wglBindSwapBarrierNV")) 
     5994                    return GLExtensionState.FailedToLoad; 
     5995                if(!bindExtFunc(cast(void**)&wglJoinSwapGroupNV, "wglJoinSwapGroupNV")) 
     5996                    return GLExtensionState.FailedToLoad; 
     5997                if(!bindExtFunc(cast(void**)&wglQueryFrameCountNV, "wglQueryFrameCountNV")) 
     5998                    return GLExtensionState.FailedToLoad; 
     5999                if(!bindExtFunc(cast(void**)&wglQueryMaxSwapGroupsNV, "wglQueryMaxSwapGroupsNV")) 
     6000                    return GLExtensionState.FailedToLoad; 
     6001                if(!bindExtFunc(cast(void**)&wglQuerySwapGroupNV, "wglQuerySwapGroupNV")) 
     6002                    return GLExtensionState.FailedToLoad; 
     6003                if(!bindExtFunc(cast(void**)&wglResetFrameCountNV, "wglResetFrameCountNV")) 
     6004                    return GLExtensionState.FailedToLoad; 
     6005                return GLExtensionState.Loaded; 
     6006            } 
     6007 
     6008            GLExtensionState load_WGL_NV_vertex_array_range() 
     6009            { 
     6010                if(!extIsSupported("WGL_NV_vertex_array_range")) 
     6011                    return GLExtensionState.DriverUnsupported; 
     6012                if(!bindExtFunc(cast(void**)&wglAllocateMemoryNV, "wglAllocateMemoryNV")) 
     6013                    return GLExtensionState.FailedToLoad; 
     6014                if(!bindExtFunc(cast(void**)&wglFreeMemoryNV, "wglFreeMemoryNV")) 
     6015                    return GLExtensionState.FailedToLoad; 
     6016                return GLExtensionState.Loaded; 
     6017            } 
     6018 
     6019            GLExtensionState load_WGL_NV_video_output() 
     6020            { 
     6021                if(!extIsSupported("WGL_NV_video_output")) 
     6022                    return GLExtensionState.DriverUnsupported; 
     6023                if(!bindExtFunc(cast(void**)&wglBindVideoImageNV, "wglBindVideoImageNV")) 
     6024                    return GLExtensionState.FailedToLoad; 
     6025                if(!bindExtFunc(cast(void**)&wglGetVideoDeviceNV, "wglGetVideoDeviceNV")) 
     6026                    return GLExtensionState.FailedToLoad; 
     6027                if(!bindExtFunc(cast(void**)&wglGetVideoInfoNV, "wglGetVideoInfoNV")) 
     6028                    return GLExtensionState.FailedToLoad; 
     6029                if(!bindExtFunc(cast(void**)&wglReleaseVideoDeviceNV, "wglReleaseVideoDeviceNV")) 
     6030                    return GLExtensionState.FailedToLoad; 
     6031                if(!bindExtFunc(cast(void**)&wglReleaseVideoImageNV, "wglReleaseVideoImageNV")) 
     6032                    return GLExtensionState.FailedToLoad; 
     6033                if(!bindExtFunc(cast(void**)&wglSendPbufferToVideoNV, "wglSendPbufferToVideoNV")) 
     6034                    return GLExtensionState.FailedToLoad; 
     6035                return GLExtensionState.Loaded; 
     6036            } 
     6037        } 
     6038 
     6039        version(DerelictGL_ATI) 
     6040        { 
     6041            GLExtensionState load_WGL_ATI_pixel_format_float() 
     6042            { 
     6043                if(!extIsSupported("WGL_ATI_pixel_format_float")) 
     6044                    return GLExtensionState.DriverUnsupported; 
     6045                return GLExtensionState.Loaded; 
     6046            } 
     6047 
     6048            GLExtensionState load_WGL_ATI_render_texture_rectangle() 
     6049            { 
     6050                if(!extIsSupported("WGL_ATI_render_texture_rectangle")) 
     6051                    return GLExtensionState.DriverUnsupported; 
     6052                return GLExtensionState.Loaded; 
     6053            } 
     6054        } 
     6055 
     6056        version(DerelictGL_AMD) 
     6057        { 
     6058            GLExtensionState load_WGL_AMD_gpu_association() 
     6059            { 
     6060                if(!extIsSupported("WGL_AMD_gpu_association")) 
     6061                    return GLExtensionState.DriverUnsupported; 
     6062                if(!bindExtFunc(cast(void**)&wglBlitContextFramebufferAMD, "wglBlitContextFramebufferAMD")) 
     6063                    return GLExtensionState.FailedToLoad; 
     6064                if(!bindExtFunc(cast(void**)&wglCreateAssociatedContextAMD, "wglCreateAssociatedContextAMD")) 
     6065                    return GLExtensionState.FailedToLoad; 
     6066                if(!bindExtFunc(cast(void**)&wglCreateAssociatedContextAttribsAMD, "wglCreateAssociatedContextAttribsAMD")) 
     6067                    return GLExtensionState.FailedToLoad; 
     6068                if(!bindExtFunc(cast(void**)&wglDeleteAssociatedContextAMD, "wglDeleteAssociatedContextAMD")) 
     6069                    return GLExtensionState.FailedToLoad; 
     6070                if(!bindExtFunc(cast(void**)&wglGetContextGPUIDAMD, "wglGetContextGPUIDAMD")) 
     6071                    return GLExtensionState.FailedToLoad; 
     6072                if(!bindExtFunc(cast(void**)&wglGetCurrentAssociatedContextAMD, "wglGetCurrentAssociatedContextAMD")) 
     6073                    return GLExtensionState.FailedToLoad; 
     6074                if(!bindExtFunc(cast(void**)&wglGetGPUIDsAMD, "wglGetGPUIDsAMD")) 
     6075                    return GLExtensionState.FailedToLoad; 
     6076                if(!bindExtFunc(cast(void**)&wglGetGPUInfoAMD, "wglGetGPUInfoAMD")) 
     6077                    return GLExtensionState.FailedToLoad; 
     6078                if(!bindExtFunc(cast(void**)&wglMakeAssociatedContextCurrentAMD, "wglMakeAssociatedContextCurrentAMD")) 
     6079                    return GLExtensionState.FailedToLoad; 
     6080                return GLExtensionState.Loaded; 
     6081            } 
     6082        } 
     6083 
     6084        version(DerelictGL_I3D) 
     6085        { 
     6086            GLExtensionState load_WGL_I3D_digital_video_control() 
     6087            { 
     6088                if(!extIsSupported("WGL_I3D_digital_video_control")) 
     6089                    return GLExtensionState.DriverUnsupported; 
     6090                if(!bindExtFunc(cast(void**)&wglGetDigitalVideoParametersI3D, "wglGetDigitalVideoParametersI3D")) 
     6091                    return GLExtensionState.FailedToLoad; 
     6092                if(!bindExtFunc(cast(void**)&wglSetDigitalVideoParametersI3D, "wglSetDigitalVideoParametersI3D")) 
     6093                    return GLExtensionState.FailedToLoad; 
     6094                return GLExtensionState.Loaded; 
     6095            } 
     6096 
     6097            GLExtensionState load_WGL_I3D_gamma() 
     6098            { 
     6099                if(!extIsSupported("WGL_I3D_gamma")) 
     6100                    return GLExtensionState.DriverUnsupported; 
     6101                if(!bindExtFunc(cast(void**)&wglGetGammaTableI3D, "wglGetGammaTableI3D")) 
     6102                    return GLExtensionState.FailedToLoad; 
     6103                if(!bindExtFunc(cast(void**)&wglGetGammaTableParametersI3D, "wglGetGammaTableParametersI3D")) 
     6104                    return GLExtensionState.FailedToLoad; 
     6105                if(!bindExtFunc(cast(void**)&wglSetGammaTableI3D, "wglSetGammaTableI3D")) 
     6106                    return GLExtensionState.FailedToLoad; 
     6107                if(!bindExtFunc(cast(void**)&wglSetGammaTableParametersI3D, "wglSetGammaTableParametersI3D")) 
     6108                    return GLExtensionState.FailedToLoad; 
     6109                return GLExtensionState.Loaded; 
     6110            } 
     6111 
     6112            GLExtensionState load_WGL_I3D_genlock() 
     6113            { 
     6114                if(!extIsSupported("WGL_I3D_genlock")) 
     6115                    return GLExtensionState.DriverUnsupported; 
     6116                if(!bindExtFunc(cast(void**)&wglDisableGenlockI3D, "wglDisableGenlockI3D")) 
     6117                    return GLExtensionState.FailedToLoad; 
     6118                if(!bindExtFunc(cast(void**)&wglEnableGenlockI3D, "wglEnableGenlockI3D")) 
     6119                    return GLExtensionState.FailedToLoad; 
     6120                if(!bindExtFunc(cast(void**)&wglGenlockSampleRateI3D, "wglGenlockSampleRateI3D")) 
     6121                    return GLExtensionState.FailedToLoad; 
     6122                if(!bindExtFunc(cast(void**)&wglGenlockSourceDelayI3D, "wglGenlockSourceDelayI3D")) 
     6123                    return GLExtensionState.FailedToLoad; 
     6124                if(!bindExtFunc(cast(void**)&wglGenlockSourceEdgeI3D, "wglGenlockSourceEdgeI3D")) 
     6125                    return GLExtensionState.FailedToLoad; 
     6126                if(!bindExtFunc(cast(void**)&wglGenlockSourceI3D, "wglGenlockSourceI3D")) 
     6127                    return GLExtensionState.FailedToLoad; 
     6128                if(!bindExtFunc(cast(void**)&wglGetGenlockSampleRateI3D, "wglGetGenlockSampleRateI3D")) 
     6129                    return GLExtensionState.FailedToLoad; 
     6130                if(!bindExtFunc(cast(void**)&wglGetGenlockSourceDelayI3D, "wglGetGenlockSourceDelayI3D")) 
     6131                    return GLExtensionState.FailedToLoad; 
     6132                if(!bindExtFunc(cast(void**)&wglGetGenlockSourceEdgeI3D, "wglGetGenlockSourceEdgeI3D")) 
     6133                    return GLExtensionState.FailedToLoad; 
     6134                if(!bindExtFunc(cast(void**)&wglGetGenlockSourceI3D, "wglGetGenlockSourceI3D")) 
     6135                    return GLExtensionState.FailedToLoad; 
     6136                if(!bindExtFunc(cast(void**)&wglIsEnabledGenlockI3D, "wglIsEnabledGenlockI3D")) 
     6137                    return GLExtensionState.FailedToLoad; 
     6138                if(!bindExtFunc(cast(void**)&wglQueryGenlockMaxSourceDelayI3D, "wglQueryGenlockMaxSourceDelayI3D")) 
     6139                    return GLExtensionState.FailedToLoad; 
     6140                return GLExtensionState.Loaded; 
     6141            } 
     6142 
     6143            GLExtensionState load_WGL_I3D_image_buffer() 
     6144            { 
     6145                if(!extIsSupported("WGL_I3D_image_buffer")) 
     6146                    return GLExtensionState.DriverUnsupported; 
     6147                if(!bindExtFunc(cast(void**)&wglAssociateImageBufferEventsI3D, "wglAssociateImageBufferEventsI3D")) 
     6148                    return GLExtensionState.FailedToLoad; 
     6149                if(!bindExtFunc(cast(void**)&wglCreateImageBufferI3D, "wglCreateImageBufferI3D")) 
     6150                    return GLExtensionState.FailedToLoad; 
     6151                if(!bindExtFunc(cast(void**)&wglDestroyImageBufferI3D, "wglDestroyImageBufferI3D")) 
     6152                    return GLExtensionState.FailedToLoad; 
     6153                if(!bindExtFunc(cast(void**)&wglReleaseImageBufferEventsI3D, "wglReleaseImageBufferEventsI3D")) 
     6154                    return GLExtensionState.FailedToLoad; 
     6155                return GLExtensionState.Loaded; 
     6156            } 
     6157 
     6158            GLExtensionState load_WGL_I3D_swap_frame_lock() 
     6159            { 
     6160                if(!extIsSupported("WGL_I3D_swap_frame_lock")) 
     6161                    return GLExtensionState.DriverUnsupported; 
     6162                if(!bindExtFunc(cast(void**)&wglDisableFrameLockI3D, "wglDisableFrameLockI3D")) 
     6163                    return GLExtensionState.FailedToLoad; 
     6164                if(!bindExtFunc(cast(void**)&wglEnableFrameLockI3D, "wglEnableFrameLockI3D")) 
     6165                    return GLExtensionState.FailedToLoad; 
     6166                if(!bindExtFunc(cast(void**)&wglIsEnabledFrameLockI3D, "wglIsEnabledFrameLockI3D")) 
     6167                    return GLExtensionState.FailedToLoad; 
     6168                if(!bindExtFunc(cast(void**)&wglQueryFrameLockMasterI3D, "wglQueryFrameLockMasterI3D")) 
     6169                    return GLExtensionState.FailedToLoad; 
     6170                return GLExtensionState.Loaded; 
     6171            } 
     6172 
     6173            GLExtensionState load_WGL_I3D_swap_frame_usage() 
     6174            { 
     6175                if(!extIsSupported("WGL_I3D_swap_frame_usage")) 
     6176                    return GLExtensionState.DriverUnsupported; 
     6177                if(!bindExtFunc(cast(void**)&wglBeginFrameTrackingI3D, "wglBeginFrameTrackingI3D")) 
     6178                    return GLExtensionState.FailedToLoad; 
     6179                if(!bindExtFunc(cast(void**)&wglEndFrameTrackingI3D, "wglEndFrameTrackingI3D")) 
     6180                    return GLExtensionState.FailedToLoad; 
     6181                if(!bindExtFunc(cast(void**)&wglGetFrameUsageI3D, "wglGetFrameUsageI3D")) 
     6182                    return GLExtensionState.FailedToLoad; 
     6183                if(!bindExtFunc(cast(void**)&wglQueryFrameTrackingI3D, "wglQueryFrameTrackingI3D")) 
     6184                    return GLExtensionState.FailedToLoad; 
     6185                return GLExtensionState.Loaded; 
     6186            } 
     6187        } 
     6188 
     6189        version(DerelictGL_OML) 
     6190        { 
     6191            GLExtensionState load_WGL_OML_sync_control() 
     6192            { 
     6193                if(!extIsSupported("WGL_OML_sync_control")) 
     6194                    return GLExtensionState.DriverUnsupported; 
     6195                if(!bindExtFunc(cast(void**)&wglGetMscRateOML, "wglGetMscRateOML")) 
     6196                    return GLExtensionState.FailedToLoad; 
     6197                if(!bindExtFunc(cast(void**)&wglGetSyncValuesOML, "wglGetSyncValuesOML")) 
     6198                    return GLExtensionState.FailedToLoad; 
     6199                if(!bindExtFunc(cast(void**)&wglSwapBuffersMscOML, "wglSwapBuffersMscOML")) 
     6200                    return GLExtensionState.FailedToLoad; 
     6201                if(!bindExtFunc(cast(void**)&wglSwapLayerBuffersMscOML, "wglSwapLayerBuffersMscOML")) 
     6202                    return GLExtensionState.FailedToLoad; 
     6203                if(!bindExtFunc(cast(void**)&wglWaitForMscOML, "wglWaitForMscOML")) 
     6204                    return GLExtensionState.FailedToLoad; 
     6205                if(!bindExtFunc(cast(void**)&wglWaitForSbcOML, "wglWaitForSbcOML")) 
     6206                    return GLExtensionState.FailedToLoad; 
     6207                return GLExtensionState.Loaded; 
     6208            } 
     6209        } 
     6210 
     6211        version(DerelictGL_3DFX) 
     6212        { 
     6213            GLExtensionState load_WGL_3DFX_multisample() 
     6214            { 
     6215                if(!extIsSupported("WGL_3DFX_multisample")) 
     6216                    return GLExtensionState.DriverUnsupported; 
     6217                return GLExtensionState.Loaded; 
     6218            } 
     6219        } 
     6220 
     6221        version(DerelictGL_3DL) 
     6222        { 
     6223            GLExtensionState load_WGL_3DL_stereo_control() 
     6224            { 
     6225                if(!extIsSupported("WGL_3DL_stereo_control")) 
     6226                    return GLExtensionState.DriverUnsupported; 
     6227                if(!bindExtFunc(cast(void**)&wglSetStereoEmitterState3DL, "wglSetStereoEmitterState3DL")) 
     6228                    return GLExtensionState.FailedToLoad; 
     6229                return GLExtensionState.Loaded; 
     6230            } 
     6231        } 
    59156232    } 
    59166233} 
  • branches/Derelict2/DerelictGL/derelict/opengl/exttypes.d

    r512 r513  
    6060    version = DerelictGL_GREMEDY; 
    6161    version = DerelictGL_MESAX; 
     62    version = DerelictGL_I3D; 
     63    version = DerelictGL_3DL; 
    6264} 
    6365 
     
    32073209version(Windows) 
    32083210{ 
    3209     alias void* HPBUFFERARB; 
    3210     alias void* HPBUFFEREXT; 
    3211  
    3212     enum : GLenum 
     3211    private 
    32133212    { 
    3214         // WGL_ARB_buffer_region 
    3215         WGL_FRONT_COLOR_BUFFER_BIT_ARB      = 0x00000001, 
    3216         WGL_BACK_COLOR_BUFFER_BIT_ARB       = 0x00000002, 
    3217         WGL_DEPTH_BUFFER_BIT_ARB            = 0x00000004, 
    3218         WGL_STENCIL_BUFFER_BIT_ARB          = 0x00000008, 
    3219  
    3220         // WGL_ARB_multisample 
    3221         WGL_SAMPLE_BUFFERS_ARB              = 0x2041, 
    3222         WGL_SAMPLES_ARB                     = 0x2042, 
    3223  
    3224         // WGL_ARB_pixel_format 
    3225         WGL_NUMBER_PIXEL_FORMATS_ARB        = 0x2000, 
    3226         WGL_DRAW_TO_WINDOW_ARB              = 0x2001, 
    3227         WGL_DRAW_TO_BITMAP_ARB              = 0x2002, 
    3228         WGL_ACCELERATION_ARB                = 0x2003, 
    3229         WGL_NEED_PALETTE_ARB                = 0x2004, 
    3230         WGL_NEED_SYSTEM_PALETTE_ARB         = 0x2005, 
    3231         WGL_SWAP_LAYER_BUFFERS_ARB          = 0x2006, 
    3232         WGL_SWAP_METHOD_ARB                 = 0x2007, 
    3233         WGL_NUMBER_OVERLAYS_ARB             = 0x2008, 
    3234         WGL_NUMBER_UNDERLAYS_ARB            = 0x2009, 
    3235         WGL_TRANSPARENT_ARB                 = 0x200A, 
    3236         WGL_TRANSPARENT_RED_VALUE_ARB       = 0x2037, 
    3237         WGL_TRANSPARENT_GREEN_VALUE_ARB     = 0x2038, 
    3238         WGL_TRANSPARENT_BLUE_VALUE_ARB      = 0x2039, 
    3239         WGL_TRANSPARENT_ALPHA_VALUE_ARB     = 0x203A, 
    3240         WGL_TRANSPARENT_INDEX_VALUE_ARB     = 0x203B, 
    3241         WGL_SHARE_DEPTH_ARB                 = 0x200C, 
    3242         WGL_SHARE_STENCIL_ARB               = 0x200D, 
    3243         WGL_SHARE_ACCUM_ARB                 = 0x200E, 
    3244         WGL_SUPPORT_GDI_ARB                 = 0x200F, 
    3245         WGL_SUPPORT_OPENGL_ARB              = 0x2010, 
    3246         WGL_DOUBLE_BUFFER_ARB               = 0x2011, 
    3247         WGL_STEREO_ARB                      = 0x2012, 
    3248         WGL_PIXEL_TYPE_ARB                  = 0x2013, 
    3249         WGL_COLOR_BITS_ARB                  = 0x2014, 
    3250         WGL_RED_BITS_ARB                    = 0x2015, 
    3251         WGL_RED_SHIFT_ARB                   = 0x2016, 
    3252         WGL_GREEN_BITS_ARB                  = 0x2017, 
    3253         WGL_GREEN_SHIFT_ARB                 = 0x2018, 
    3254         WGL_BLUE_BITS_ARB                   = 0x2019, 
    3255         WGL_BLUE_SHIFT_ARB                  = 0x201A, 
    3256         WGL_ALPHA_BITS_ARB                  = 0x201B, 
    3257         WGL_ALPHA_SHIFT_ARB                 = 0x201C, 
    3258         WGL_ACCUM_BITS_ARB                  = 0x201D, 
    3259         WGL_ACCUM_RED_BITS_ARB              = 0x201E, 
    3260         WGL_ACCUM_GREEN_BITS_ARB            = 0x201F, 
    3261         WGL_ACCUM_BLUE_BITS_ARB             = 0x2020, 
    3262         WGL_ACCUM_ALPHA_BITS_ARB            = 0x2021, 
    3263         WGL_DEPTH_BITS_ARB                  = 0x2022, 
    3264         WGL_STENCIL_BITS_ARB                = 0x2023, 
    3265         WGL_AUX_BUFFERS_ARB                 = 0x2024, 
    3266         WGL_NO_ACCELERATION_ARB             = 0x2025, 
    3267         WGL_GENERIC_ACCELERATION_ARB        = 0x2026, 
    3268         WGL_FULL_ACCELERATION_ARB           = 0x2027, 
    3269         WGL_SWAP_EXCHANGE_ARB               = 0x2028, 
    3270         WGL_SWAP_COPY_ARB                   = 0x2029, 
    3271         WGL_SWAP_UNDEFINED_ARB              = 0x202A, 
    3272         WGL_TYPE_RGBA_ARB                   = 0x202B, 
    3273         WGL_TYPE_COLORINDEX_ARB             = 0x202C, 
    3274  
    3275         // WGL_ARB_make_current_read 
    3276         ERROR_INVALID_PIXEL_TYPE_ARB            = 0x2043, 
    3277         ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB  = 0x2054, 
    3278  
    3279         // WGL_ARB_pbuffer 
    3280         WGL_DRAW_TO_PBUFFER_ARB             = 0x202D, 
    3281         WGL_MAX_PBUFFER_PIXELS_ARB          = 0x202E, 
    3282         WGL_MAX_PBUFFER_WIDTH_ARB           = 0x202F, 
    3283         WGL_MAX_PBUFFER_HEIGHT_ARB          = 0x2030, 
    3284         WGL_PBUFFER_LARGEST_ARB             = 0x2033, 
    3285         WGL_PBUFFER_WIDTH_ARB               = 0x2034, 
    3286         WGL_PBUFFER_HEIGHT_ARB              = 0x2035, 
    3287         WGL_PBUFFER_LOST_ARB                = 0x2036, 
    3288  
    3289         // WGL_ARB_render_texture 
    3290         WGL_BIND_TO_TEXTURE_RGB_ARB         = 0x2070, 
    3291         WGL_BIND_TO_TEXTURE_RGBA_ARB        = 0x2071, 
    3292         WGL_TEXTURE_FORMAT_ARB              = 0x2072, 
    3293         WGL_TEXTURE_TARGET_ARB              = 0x2073, 
    3294         WGL_MIPMAP_TEXTURE_ARB              = 0x2074, 
    3295         WGL_TEXTURE_RGB_ARB                 = 0x2075, 
    3296         WGL_TEXTURE_RGBA_ARB                = 0x2076, 
    3297         WGL_NO_TEXTURE_ARB                  = 0x2077, 
    3298         WGL_TEXTURE_CUBE_MAP_ARB            = 0x2078, 
    3299         WGL_TEXTURE_1D_ARB                  = 0x2079, 
    3300         WGL_TEXTURE_2D_ARB                  = 0x207A, 
    3301         WGL_MIPMAP_LEVEL_ARB                = 0x207B, 
    3302         WGL_CUBE_MAP_FACE_ARB               = 0x207C, 
    3303         WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x207D, 
    3304         WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x207E, 
    3305         WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x207F, 
    3306         WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x2080, 
    3307         WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x2081, 
    3308         WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x2082, 
    3309         WGL_FRONT_LEFT_ARB                  = 0x2083, 
    3310         WGL_FRONT_RIGHT_ARB                 = 0x2084, 
    3311         WGL_BACK_LEFT_ARB                   = 0x2085, 
    3312         WGL_BACK_RIGHT_ARB                  = 0x2086, 
    3313         WGL_AUX0_ARB                        = 0x2087, 
    3314         WGL_AUX1_ARB                        = 0x2088, 
    3315         WGL_AUX2_ARB                        = 0x2089, 
    3316         WGL_AUX3_ARB                        = 0x208A, 
    3317         WGL_AUX4_ARB                        = 0x208B, 
    3318         WGL_AUX5_ARB                        = 0x208C, 
    3319         WGL_AUX6_ARB                        = 0x208D, 
    3320         WGL_AUX7_ARB                        = 0x208E, 
    3321         WGL_AUX8_ARB                        = 0x208F, 
    3322         WGL_AUX9_ARB                        = 0x2090, 
    3323  
    3324         // WGL_ARB_pixel_format_float 
    3325         WGL_TYPE_RGBA_FLOAT_ARB  = 0x21A0, 
    3326  
    3327         // WGL_ARB_create_context 
    3328         WGL_CONTEXT_DEBUG_BIT_ARB               = 0x0001, 
    3329         WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB  = 0x0002, 
    3330         WGL_CONTEXT_MAJOR_VERSION_ARB           = 0x2091, 
    3331         WGL_CONTEXT_MINOR_VERSION_ARB           = 0x2092, 
    3332         WGL_CONTEXT_LAYER_PLANE_ARB             = 0x2093, 
    3333         WGL_CONTEXT_FLAGS_ARB                   = 0x2094, 
    3334         ERROR_INVALID_VERSION_ARB               = 0x2095, 
    3335  
    3336         // WGL_ARB_create_context_profile 
    3337         WGL_CONTEXT_CORE_PROFILE_BIT_ARB            = 0x00000001, 
    3338         WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB   = 0x00000002, 
    3339         WGL_CONTEXT_PROFILE_MASK_ARB                = 0x9126, 
    3340  
    3341         // WGL_ARB_framebuffer_sRGB 
    3342         WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB    = 0x20A9, 
    3343  
    3344         // WGL_EXT_depth_float 
    3345         WGL_DEPTH_FLOAT_EXT                 = 0x2040, 
    3346  
    3347         // WGL_EXT_framebuffer_sRGB 
    3348         WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT    = 0x20A9, 
    3349  
    3350         // WGL_EXT_make_current_read 
    3351         ERROR_INVALID_PIXEL_TYPE_EXT        = 0x2043, 
    3352  
    3353         // WGL_EXT_multisample 
    3354         WGL_SAMPLE_BUFFERS_EXT              = 0x2041, 
    3355         WGL_SAMPLES_EXT                     = 0x2042, 
    3356  
    3357         // WGL_EXT_pbuffer 
    3358         WGL_DRAW_TO_PBUFFER_EXT             = 0x202D, 
    3359         WGL_MAX_PBUFFER_PIXELS_EXT          = 0x202E, 
    3360         WGL_MAX_PBUFFER_WIDTH_EXT           = 0x202F, 
    3361         WGL_MAX_PBUFFER_HEIGHT_EXT          = 0x2030, 
    3362         WGL_OPTIMAL_PBUFFER_WIDTH_EXT       = 0x2031, 
    3363         WGL_OPTIMAL_PBUFFER_HEIGHT_EXT      = 0x2032, 
    3364         WGL_PBUFFER_LARGEST_EXT             = 0x2033, 
    3365         WGL_PBUFFER_WIDTH_EXT               = 0x2034, 
    3366         WGL_PBUFFER_HEIGHT_EXT              = 0x2035, 
    3367  
    3368         // WGL_EXT_pixel_format 
    3369         WGL_NUMBER_PIXEL_FORMATS_EXT        = 0x2000, 
    3370         WGL_DRAW_TO_WINDOW_EXT              = 0x2001, 
    3371         WGL_DRAW_TO_BITMAP_EXT              = 0x2002, 
    3372         WGL_ACCELERATION_EXT                = 0x2003, 
    3373         WGL_NEED_PALETTE_EXT                = 0x2004, 
    3374         WGL_NEED_SYSTEM_PALETTE_EXT         = 0x2005, 
    3375         WGL_SWAP_LAYER_BUFFERS_EXT          = 0x2006, 
    3376         WGL_SWAP_METHOD_EXT                 = 0x2007, 
    3377         WGL_NUMBER_OVERLAYS_EXT             = 0x2008, 
    3378         WGL_NUMBER_UNDERLAYS_EXT            = 0x2009, 
    3379         WGL_TRANSPARENT_EXT                 = 0x200A, 
    3380         WGL_TRANSPARENT_VALUE_EXT           = 0x200B, 
    3381         WGL_SHARE_DEPTH_EXT                 = 0x200C, 
    3382         WGL_SHARE_STENCIL_EXT               = 0x200D, 
    3383         WGL_SHARE_ACCUM_EXT                 = 0x200E, 
    3384         WGL_SUPPORT_GDI_EXT                 = 0x200F, 
    3385         WGL_SUPPORT_OPENGL_EXT              = 0x2010, 
    3386         WGL_DOUBLE_BUFFER_EXT               = 0x2011, 
    3387         WGL_STEREO_EXT                      = 0x2012, 
    3388         WGL_PIXEL_TYPE_EXT                  = 0x2013, 
    3389         WGL_COLOR_BITS_EXT                  = 0x2014, 
    3390         WGL_RED_BITS_EXT                    = 0x2015, 
    3391         WGL_RED_SHIFT_EXT                   = 0x2016, 
    3392         WGL_GREEN_BITS_EXT                  = 0x2017, 
    3393         WGL_GREEN_SHIFT_EXT                 = 0x2018, 
    3394         WGL_BLUE_BITS_EXT                   = 0x2019, 
    3395         WGL_BLUE_SHIFT_EXT                  = 0x201A, 
    3396         WGL_ALPHA_BITS_EXT                  = 0x201B, 
    3397         WGL_ALPHA_SHIFT_EXT                 = 0x201C, 
    3398         WGL_ACCUM_BITS_EXT                  = 0x201D, 
    3399         WGL_ACCUM_RED_BITS_EXT              = 0x201E, 
    3400         WGL_ACCUM_GREEN_BITS_EXT            = 0x201F, 
    3401         WGL_ACCUM_BLUE_BITS_EXT             = 0x2020, 
    3402         WGL_ACCUM_ALPHA_BITS_EXT            = 0x2021, 
    3403         WGL_DEPTH_BITS_EXT                  = 0x2022, 
    3404         WGL_STENCIL_BITS_EXT                = 0x2023, 
    3405         WGL_AUX_BUFFERS_EXT                 = 0x2024, 
    3406         WGL_NO_ACCELERATION_EXT             = 0x2025, 
    3407         WGL_GENERIC_ACCELERATION_EXT        = 0x2026, 
    3408         WGL_FULL_ACCELERATION_EXT           = 0x2027, 
    3409         WGL_SWAP_EXCHANGE_EXT               = 0x2028, 
    3410         WGL_SWAP_COPY_EXT                   = 0x2029, 
    3411         WGL_SWAP_UNDEFINED_EXT              = 0x202A, 
    3412         WGL_TYPE_RGBA_EXT                   = 0x202B, 
    3413         WGL_TYPE_COLORINDEX_EXT             = 0x202C, 
    3414  
    3415         // WGL_EXT_pixel_format_packed_float 
    3416         WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT    = 0x20A8, 
    3417  
    3418         // WGL_3DFX_multisample 
    3419         WGL_SAMPLE_BUFFERS_3DFX             = 0x2060, 
    3420         WGL_SAMPLES_3DFX                    = 0x2061, 
    3421  
    3422         // WGL_3DL_stereo_control 
    3423         WGL_STEREO_EMITTER_ENABLE_3DL       = 0x2055, 
    3424         WGL_STEREO_EMITTER_DISABLE_3DL      = 0x2056, 
    3425         WGL_STEREO_POLARITY_NORMAL_3DL      = 0x2057, 
    3426         WGL_STEREO_POLARITY_INVERT_3DL      = 0x2058, 
    3427  
    3428         // WGL_AMD_gpu_association 
    3429         WGL_GPU_VENDOR_AMD                  = 0x1F00, 
    3430         WGL_GPU_RENDERER_STRING_AMD         = 0x1F01, 
    3431         WGL_GPU_OPENGL_VERSION_STRING_AMD   = 0x1F02, 
    3432         WGL_GPU_FASTEST_TARGET_GPUS_AMD     = 0x21A2, 
    3433         WGL_GPU_RAM_AMD                     = 0x21A3, 
    3434         WGL_GPU_CLOCK_AMD                   = 0x21A4, 
    3435         WGL_GPU_NUM_PIPES_AMD               = 0x21A5, 
    3436         WGL_GPU_NUM_SIMD_AMD                = 0x21A6, 
    3437         WGL_GPU_NUM_RB_AMD                  = 0x21A7, 
    3438         WGL_GPU_NUM_SPI_AMD                 = 0x21A8, 
    3439  
    3440         // WGL_ATI_pixel_format_float 
    3441         WGL_TYPE_RGBA_FLOAT_ATI             = 0x21A0, 
    3442         GL_RGBA_FLOAT_MODE_ATI              = 0x8820, 
    3443         //GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI    = 0x8835, <-- Already declared above. 
    3444  
    3445         // WGL_ATI_render_texture_rectangle 
    3446         WGL_TEXTURE_RECTANGLE_ATI           = 0x21A5, 
    3447  
     3213        import derelict.util.wintypes; 
     3214    } 
     3215 
     3216    alias HANDLE HPBUFFERARB; 
     3217    alias HANDLE HPBUFFEREXT; 
     3218 
     3219    alias HANDLE HGPUNV; 
     3220    alias GPU_DEVICE* PGPU_DEVICE; 
     3221    alias HANDLE HVIDEOOUTPUTDEVICENV; 
     3222    alias HANDLE HPVIDEODEV; 
     3223 
     3224    struct GPU_DEVICE 
     3225    { 
     3226        DWORD cb; 
     3227        char DeviceName[32]; 
     3228        char DeviceString[128]; 
     3229        DWORD flags; 
     3230        RECT rcVirtualScreen; 
     3231    } 
     3232 
     3233 
     3234    version(DerelictGL_ARB) 
     3235    { 
     3236        enum : GLenum 
     3237        { 
     3238            // WGL_ARB_buffer_region 
     3239            WGL_FRONT_COLOR_BUFFER_BIT_ARB      = 0x00000001, 
     3240            WGL_BACK_COLOR_BUFFER_BIT_ARB       = 0x00000002, 
     3241            WGL_DEPTH_BUFFER_BIT_ARB            = 0x00000004, 
     3242            WGL_STENCIL_BUFFER_BIT_ARB          = 0x00000008, 
     3243 
     3244            // WGL_ARB_multisample 
     3245            WGL_SAMPLE_BUFFERS_ARB              = 0x2041, 
     3246            WGL_SAMPLES_ARB                     = 0x2042, 
     3247 
     3248            // WGL_ARB_pixel_format 
     3249            WGL_NUMBER_PIXEL_FORMATS_ARB        = 0x2000, 
     3250            WGL_DRAW_TO_WINDOW_ARB              = 0x2001, 
     3251            WGL_DRAW_TO_BITMAP_ARB              = 0x2002, 
     3252            WGL_ACCELERATION_ARB                = 0x2003, 
     3253            WGL_NEED_PALETTE_ARB                = 0x2004, 
     3254            WGL_NEED_SYSTEM_PALETTE_ARB         = 0x2005, 
     3255            WGL_SWAP_LAYER_BUFFERS_ARB          = 0x2006, 
     3256            WGL_SWAP_METHOD_ARB                 = 0x2007, 
     3257            WGL_NUMBER_OVERLAYS_ARB             = 0x2008, 
     3258            WGL_NUMBER_UNDERLAYS_ARB            = 0x2009, 
     3259            WGL_TRANSPARENT_ARB                 = 0x200A, 
     3260            WGL_TRANSPARENT_RED_VALUE_ARB       = 0x2037, 
     3261            WGL_TRANSPARENT_GREEN_VALUE_ARB     = 0x2038, 
     3262            WGL_TRANSPARENT_BLUE_VALUE_ARB      = 0x2039, 
     3263            WGL_TRANSPARENT_ALPHA_VALUE_ARB     = 0x203A, 
     3264            WGL_TRANSPARENT_INDEX_VALUE_ARB     = 0x203B, 
     3265            WGL_SHARE_DEPTH_ARB                 = 0x200C, 
     3266            WGL_SHARE_STENCIL_ARB               = 0x200D, 
     3267            WGL_SHARE_ACCUM_ARB                 = 0x200E, 
     3268            WGL_SUPPORT_GDI_ARB                 = 0x200F, 
     3269            WGL_SUPPORT_OPENGL_ARB              = 0x2010, 
     3270            WGL_DOUBLE_BUFFER_ARB               = 0x2011, 
     3271            WGL_STEREO_ARB                      = 0x2012, 
     3272            WGL_PIXEL_TYPE_ARB                  = 0x2013, 
     3273            WGL_COLOR_BITS_ARB                  = 0x2014, 
     3274            WGL_RED_BITS_ARB                    = 0x2015, 
     3275            WGL_RED_SHIFT_ARB                   = 0x2016, 
     3276            WGL_GREEN_BITS_ARB                  = 0x2017, 
     3277            WGL_GREEN_SHIFT_ARB                 = 0x2018, 
     3278            WGL_BLUE_BITS_ARB                   = 0x2019, 
     3279            WGL_BLUE_SHIFT_ARB                  = 0x201A, 
     3280            WGL_ALPHA_BITS_ARB                  = 0x201B, 
     3281            WGL_ALPHA_SHIFT_ARB                 = 0x201C, 
     3282            WGL_ACCUM_BITS_ARB                  = 0x201D, 
     3283            WGL_ACCUM_RED_BITS_ARB              = 0x201E, 
     3284            WGL_ACCUM_GREEN_BITS_ARB            = 0x201F, 
     3285            WGL_ACCUM_BLUE_BITS_ARB             = 0x2020, 
     3286            WGL_ACCUM_ALPHA_BITS_ARB            = 0x2021, 
     3287            WGL_DEPTH_BITS_ARB                  = 0x2022, 
     3288            WGL_STENCIL_BITS_ARB                = 0x2023, 
     3289            WGL_AUX_BUFFERS_ARB                 = 0x2024, 
     3290            WGL_NO_ACCELERATION_ARB             = 0x2025, 
     3291            WGL_GENERIC_ACCELERATION_ARB        = 0x2026, 
     3292            WGL_FULL_ACCELERATION_ARB           = 0x2027, 
     3293            WGL_SWAP_EXCHANGE_ARB               = 0x2028, 
     3294            WGL_SWAP_COPY_ARB                   = 0x2029, 
     3295            WGL_SWAP_UNDEFINED_ARB              = 0x202A, 
     3296            WGL_TYPE_RGBA_ARB                   = 0x202B, 
     3297            WGL_TYPE_COLORINDEX_ARB             = 0x202C, 
     3298 
     3299            // WGL_ARB_make_current_read 
     3300            ERROR_INVALID_PIXEL_TYPE_ARB            = 0x2043, 
     3301            ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB  = 0x2054, 
     3302 
     3303            // WGL_ARB_pbuffer 
     3304            WGL_DRAW_TO_PBUFFER_ARB             = 0x202D, 
     3305            WGL_MAX_PBUFFER_PIXELS_ARB          = 0x202E, 
     3306            WGL_MAX_PBUFFER_WIDTH_ARB           = 0x202F, 
     3307            WGL_MAX_PBUFFER_HEIGHT_ARB          = 0x2030, 
     3308            WGL_PBUFFER_LARGEST_ARB             = 0x2033, 
     3309            WGL_PBUFFER_WIDTH_ARB               = 0x2034, 
     3310            WGL_PBUFFER_HEIGHT_ARB              = 0x2035, 
     3311            WGL_PBUFFER_LOST_ARB                = 0x2036, 
     3312 
     3313            // WGL_ARB_render_texture 
     3314            WGL_BIND_TO_TEXTURE_RGB_ARB         = 0x2070, 
     3315            WGL_BIND_TO_TEXTURE_RGBA_ARB        = 0x2071, 
     3316            WGL_TEXTURE_FORMAT_ARB              = 0x2072, 
     3317            WGL_TEXTURE_TARGET_ARB              = 0x2073, 
     3318            WGL_MIPMAP_TEXTURE_ARB              = 0x2074, 
     3319            WGL_TEXTURE_RGB_ARB                 = 0x2075, 
     3320            WGL_TEXTURE_RGBA_ARB                = 0x2076, 
     3321            WGL_NO_TEXTURE_ARB                  = 0x2077, 
     3322            WGL_TEXTURE_CUBE_MAP_ARB            = 0x2078, 
     3323            WGL_TEXTURE_1D_ARB                  = 0x2079, 
     3324            WGL_TEXTURE_2D_ARB                  = 0x207A, 
     3325            WGL_MIPMAP_LEVEL_ARB                = 0x207B, 
     3326            WGL_CUBE_MAP_FACE_ARB               = 0x207C, 
     3327            WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x207D, 
     3328            WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x207E, 
     3329            WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x207F, 
     3330            WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x2080, 
     3331            WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x2081, 
     3332            WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x2082, 
     3333            WGL_FRONT_LEFT_ARB                  = 0x2083, 
     3334            WGL_FRONT_RIGHT_ARB                 = 0x2084, 
     3335            WGL_BACK_LEFT_ARB                   = 0x2085, 
     3336            WGL_BACK_RIGHT_ARB                  = 0x2086, 
     3337            WGL_AUX0_ARB                        = 0x2087, 
     3338            WGL_AUX1_ARB                        = 0x2088, 
     3339            WGL_AUX2_ARB                        = 0x2089, 
     3340            WGL_AUX3_ARB                        = 0x208A, 
     3341            WGL_AUX4_ARB                        = 0x208B, 
     3342            WGL_AUX5_ARB                        = 0x208C, 
     3343            WGL_AUX6_ARB                        = 0x208D, 
     3344            WGL_AUX7_ARB                        = 0x208E, 
     3345            WGL_AUX8_ARB                        = 0x208F, 
     3346            WGL_AUX9_ARB                        = 0x2090, 
     3347 
     3348            // WGL_ARB_pixel_format_float 
     3349            WGL_TYPE_RGBA_FLOAT_ARB  = 0x21A0, 
     3350 
     3351            // WGL_ARB_create_context 
     3352            WGL_CONTEXT_DEBUG_BIT_ARB               = 0x0001, 
     3353            WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB  = 0x0002, 
     3354            WGL_CONTEXT_MAJOR_VERSION_ARB           = 0x2091, 
     3355            WGL_CONTEXT_MINOR_VERSION_ARB           = 0x2092, 
     3356            WGL_CONTEXT_LAYER_PLANE_ARB             = 0x2093, 
     3357            WGL_CONTEXT_FLAGS_ARB                   = 0x2094, 
     3358            ERROR_INVALID_VERSION_ARB               = 0x2095, 
     3359 
     3360            // WGL_ARB_create_context_profile 
     3361            WGL_CONTEXT_CORE_PROFILE_BIT_ARB            = 0x00000001, 
     3362            WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB   = 0x00000002, 
     3363            WGL_CONTEXT_PROFILE_MASK_ARB                = 0x9126, 
     3364 
     3365            // WGL_ARB_framebuffer_sRGB 
     3366            WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB    = 0x20A9, 
     3367        } 
     3368    } 
     3369 
     3370    version(DerelictGL_EXT) 
     3371    { 
     3372        enum : GLenum 
     3373        { 
     3374            // WGL_EXT_depth_float 
     3375            WGL_DEPTH_FLOAT_EXT                 = 0x2040, 
     3376 
     3377            // WGL_EXT_framebuffer_sRGB 
     3378            WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT    = 0x20A9, 
     3379 
     3380            // WGL_EXT_make_current_read 
     3381            ERROR_INVALID_PIXEL_TYPE_EXT        = 0x2043, 
     3382 
     3383            // WGL_EXT_multisample 
     3384            WGL_SAMPLE_BUFFERS_EXT              = 0x2041, 
     3385            WGL_SAMPLES_EXT                     = 0x2042, 
     3386 
     3387            // WGL_EXT_pbuffer 
     3388            WGL_DRAW_TO_PBUFFER_EXT             = 0x202D, 
     3389            WGL_MAX_PBUFFER_PIXELS_EXT          = 0x202E, 
     3390            WGL_MAX_PBUFFER_WIDTH_EXT           = 0x202F, 
     3391            WGL_MAX_PBUFFER_HEIGHT_EXT          = 0x2030, 
     3392            WGL_OPTIMAL_PBUFFER_WIDTH_EXT       = 0x2031, 
     3393            WGL_OPTIMAL_PBUFFER_HEIGHT_EXT      = 0x2032, 
     3394            WGL_PBUFFER_LARGEST_EXT             = 0x2033, 
     3395            WGL_PBUFFER_WIDTH_EXT               = 0x2034, 
     3396            WGL_PBUFFER_HEIGHT_EXT              = 0x2035, 
     3397 
     3398            // WGL_EXT_pixel_format 
     3399            WGL_NUMBER_PIXEL_FORMATS_EXT        = 0x2000, 
     3400            WGL_DRAW_TO_WINDOW_EXT              = 0x2001, 
     3401            WGL_DRAW_TO_BITMAP_EXT              = 0x2002, 
     3402            WGL_ACCELERATION_EXT                = 0x2003, 
     3403            WGL_NEED_PALETTE_EXT                = 0x2004, 
     3404            WGL_NEED_SYSTEM_PALETTE_EXT         = 0x2005, 
     3405            WGL_SWAP_LAYER_BUFFERS_EXT          = 0x2006, 
     3406            WGL_SWAP_METHOD_EXT                 = 0x2007, 
     3407            WGL_NUMBER_OVERLAYS_EXT             = 0x2008, 
     3408            WGL_NUMBER_UNDERLAYS_EXT            = 0x2009, 
     3409            WGL_TRANSPARENT_EXT                 = 0x200A, 
     3410            WGL_TRANSPARENT_VALUE_EXT           = 0x200B, 
     3411            WGL_SHARE_DEPTH_EXT                 = 0x200C, 
     3412            WGL_SHARE_STENCIL_EXT               = 0x200D, 
     3413            WGL_SHARE_ACCUM_EXT                 = 0x200E, 
     3414            WGL_SUPPORT_GDI_EXT                 = 0x200F, 
     3415            WGL_SUPPORT_OPENGL_EXT              = 0x2010, 
     3416            WGL_DOUBLE_BUFFER_EXT               = 0x2011, 
     3417            WGL_STEREO_EXT                      = 0x2012, 
     3418            WGL_PIXEL_TYPE_EXT                  = 0x2013, 
     3419            WGL_COLOR_BITS_EXT                  = 0x2014, 
     3420            WGL_RED_BITS_EXT                    = 0x2015, 
     3421            WGL_RED_SHIFT_EXT                   = 0x2016, 
     3422            WGL_GREEN_BITS_EXT                  = 0x2017, 
     3423            WGL_GREEN_SHIFT_EXT                 = 0x2018, 
     3424            WGL_BLUE_BITS_EXT                   = 0x2019, 
     3425            WGL_BLUE_SHIFT_EXT                  = 0x201A, 
     3426            WGL_ALPHA_BITS_EXT                  = 0x201B, 
     3427            WGL_ALPHA_SHIFT_EXT                 = 0x201C, 
     3428            WGL_ACCUM_BITS_EXT                  = 0x201D, 
     3429            WGL_ACCUM_RED_BITS_EXT              = 0x201E, 
     3430            WGL_ACCUM_GREEN_BITS_EXT            = 0x201F, 
     3431            WGL_ACCUM_BLUE_BITS_EXT             = 0x2020, 
     3432            WGL_ACCUM_ALPHA_BITS_EXT            = 0x2021, 
     3433            WGL_DEPTH_BITS_EXT                  = 0x2022, 
     3434            WGL_STENCIL_BITS_EXT                = 0x2023, 
     3435            WGL_AUX_BUFFERS_EXT                 = 0x2024, 
     3436            WGL_NO_ACCELERATION_EXT             = 0x2025, 
     3437            WGL_GENERIC_ACCELERATION_EXT        = 0x2026, 
     3438            WGL_FULL_ACCELERATION_EXT           = 0x2027, 
     3439            WGL_SWAP_EXCHANGE_EXT               = 0x2028, 
     3440            WGL_SWAP_COPY_EXT                   = 0x2029, 
     3441            WGL_SWAP_UNDEFINED_EXT              = 0x202A, 
     3442            WGL_TYPE_RGBA_EXT                   = 0x202B, 
     3443            WGL_TYPE_COLORINDEX_EXT             = 0x202C, 
     3444 
     3445            // WGL_EXT_pixel_format_packed_float 
     3446            WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT    = 0x20A8, 
     3447        } 
     3448    } 
     3449 
     3450    version(DerelictGL_NV) 
     3451    { 
     3452        enum : GLenum 
     3453        { 
     3454            // WGL_NV_float_buffer 
     3455            WGL_FLOAT_COMPONENTS_NV                     = 0x20B0, 
     3456            WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV    = 0x20B1, 
     3457            WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV   = 0x20B2, 
     3458            WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV  = 0x20B3, 
     3459            WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = 0x20B4, 
     3460            WGL_TEXTURE_FLOAT_R_NV                      = 0x20B5, 
     3461            WGL_TEXTURE_FLOAT_RG_NV                     = 0x20B6, 
     3462            WGL_TEXTURE_FLOAT_RGB_NV                    = 0x20B7, 
     3463            WGL_TEXTURE_FLOAT_RGBA_NV                   = 0x20B8, 
     3464 
     3465            // WGL_NV_multisample_coverage 
     3466            WGL_COVERAGE_SAMPLES_NV             = 0x2042, 
     3467            WGL_COLOR_SAMPLES_NV                = 0x20B9, 
     3468 
     3469            // WGL_NV_render_depth_texture 
     3470            // WGL_NO_TEXTURE_ARB                       = 0x2077, <-- Declared in WGL_ARB_render_texture 
     3471            WGL_BIND_TO_TEXTURE_DEPTH_NV            = 0x20A3, 
     3472            WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV  = 0x20A4, 
     3473            WGL_DEPTH_TEXTURE_FORMAT_NV             = 0x20A5, 
     3474            WGL_TEXTURE_DEPTH_COMPONENT_NV          = 0x20A6, 
     3475            WGL_DEPTH_COMPONENT_NV                  = 0x20A7, 
     3476 
     3477            // WGL_NV_render_texture_rectangle 
     3478            WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV    = 0x20A0, 
     3479            WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV   = 0x20A1, 
     3480            WGL_TEXTURE_RECTANGLE_NV                = 0x20A2, 
     3481 
     3482            // WGL_NV_video_output 
     3483            WGL_BIND_TO_VIDEO_RGB_NV            = 0x20C0, 
     3484            WGL_BIND_TO_VIDEO_RGBA_NV           = 0x20C1, 
     3485            WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV  = 0x20C2, 
     3486            WGL_VIDEO_OUT_COLOR_NV              = 0x20C3, 
     3487            WGL_VIDEO_OUT_ALPHA_NV              = 0x20C4, 
     3488            WGL_VIDEO_OUT_DEPTH_NV              = 0x20C5, 
     3489            WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV    = 0x20C6, 
     3490            WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV    = 0x20C7, 
     3491            WGL_VIDEO_OUT_FRAME                 = 0x20C8, 
     3492            WGL_VIDEO_OUT_FIELD_1               = 0x20C9, 
     3493            WGL_VIDEO_OUT_FIELD_2               = 0x20CA, 
     3494            WGL_VIDEO_OUT_STACKED_FIELDS_1_2    = 0x20CB, 
     3495            WGL_VIDEO_OUT_STACKED_FIELDS_2_1    = 0x20CC, 
     3496        } 
     3497    } 
     3498 
     3499    version(DerelictGL_ATI) 
     3500    { 
     3501        enum : GLenum 
     3502        { 
     3503            // WGL_ATI_pixel_format_float 
     3504            WGL_TYPE_RGBA_FLOAT_ATI             = 0x21A0, 
     3505            GL_RGBA_FLOAT_MODE_ATI              = 0x8820, 
     3506            //GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI    = 0x8835, <-- Already declared above. 
     3507 
     3508            // WGL_ATI_render_texture_rectangle 
     3509            WGL_TEXTURE_RECTANGLE_ATI           = 0x21A5, 
     3510        } 
     3511    } 
     3512 
     3513    version(DerelictGL_AMD) 
     3514    { 
     3515        enum : GLenum 
     3516        { 
     3517            // WGL_AMD_gpu_association 
     3518            WGL_GPU_VENDOR_AMD                  = 0x1F00, 
     3519            WGL_GPU_RENDERER_STRING_AMD         = 0x1F01, 
     3520            WGL_GPU_OPENGL_VERSION_STRING_AMD   = 0x1F02, 
     3521            WGL_GPU_FASTEST_TARGET_GPUS_AMD     = 0x21A2, 
     3522            WGL_GPU_RAM_AMD                     = 0x21A3, 
     3523            WGL_GPU_CLOCK_AMD                   = 0x21A4, 
     3524            WGL_GPU_NUM_PIPES_AMD               = 0x21A5, 
     3525            WGL_GPU_NUM_SIMD_AMD                = 0x21A6, 
     3526            WGL_GPU_NUM_RB_AMD                  = 0x21A7, 
     3527            WGL_GPU_NUM_SPI_AMD                 = 0x21A8, 
     3528        } 
     3529    } 
     3530 
     3531    version(DerelictGL_I3D) 
     3532    { 
     3533        enum : GLenum 
     3534        { 
     3535            // WGL_I3D_digital_video_control 
     3536            WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D  = 0x2050, 
     3537            WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D        = 0x2051, 
     3538            WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D           = 0x2052, 
     3539            WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D           = 0x2053, 
     3540 
     3541            // WGL_I3D_gamma 
     3542            WGL_GAMMA_TABLE_SIZE_I3D            = 0x204E, 
     3543            WGL_GAMMA_EXCLUDE_DESKTOP_I3D       = 0x204F, 
     3544 
     3545            // WGL_I3D_genlock 
     3546            WGL_GENLOCK_SOURCE_MULTIVIEW_I3D        = 0x2044, 
     3547            WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D    = 0x2045, 
     3548            WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D   = 0x2046, 
     3549            WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D     = 0x2047, 
     3550            WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D     = 0x2048, 
     3551            WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D    = 0x2049, 
     3552            WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D     = 0x204A, 
     3553            WGL_GENLOCK_SOURCE_EDGE_RISING_I3D      = 0x204B, 
     3554            WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D        = 0x204C, 
     3555 
     3556            // WGL_I3D_image_buffer 
     3557            WGL_IMAGE_BUFFER_MIN_ACCESS_I3D         = 0x00000001, 
     3558            WGL_IMAGE_BUFFER_LOCK_I3D               = 0x00000002, 
     3559        } 
     3560    } 
     3561 
     3562    version(DerelictGL_3DFX) 
     3563    { 
     3564        enum : GLenum 
     3565        { 
     3566            // WGL_3DFX_multisample 
     3567            WGL_SAMPLE_BUFFERS_3DFX             = 0x2060, 
     3568            WGL_SAMPLES_3DFX                    = 0x2061, 
     3569        } 
     3570    } 
     3571 
     3572    version(DerelictGL_3DL) 
     3573    { 
     3574        enum : GLenum 
     3575        { 
     3576            // WGL_3DL_stereo_control 
     3577            WGL_STEREO_EMITTER_ENABLE_3DL       = 0x2055, 
     3578            WGL_STEREO_EMITTER_DISABLE_3DL      = 0x2056, 
     3579            WGL_STEREO_POLARITY_NORMAL_3DL      = 0x2057, 
     3580            WGL_STEREO_POLARITY_INVERT_3DL      = 0x2058, 
     3581        } 
    34483582    } 
    34493583} 
  • branches/Derelict2/DerelictUtil/derelict/util/wintypes.d

    r512 r513  
    4242    alias uint DWORD; 
    4343    alias ushort WORD; 
     44    alias ushort USHORT; 
    4445    alias uint UINT; 
    4546    alias int INT; 
     
    5152 
    5253    alias CCPTR LPCSTR; 
    53     alias void* LPCVOID; 
     54    alias void* LPVOID; 
    5455 
    5556    alias void* HANDLE; 
     
    141142    } 
    142143 
    143     struct VA_LIST 
    144     { 
    145     } 
     144    struct VA_LIST {} 
    146145 
    147146    enum : BYTE 
     
    215214    } 
    216215 
     216    struct RECT 
     217    { 
     218        LONG    left; 
     219        LONG    top; 
     220        LONG    right; 
     221        LONG    bottom; 
     222    } 
     223 
    217224    extern(Windows) 
    218225    { 
     
    226233        void FreeLibrary(HMODULE); 
    227234        DWORD GetLastError(); 
    228         DWORD FormatMessageA(DWORD, LPCVOID, DWORD, DWORD, LPCSTR, DWORD, VA_LIST*); 
     235        DWORD FormatMessageA(DWORD, in void*, DWORD, DWORD, LPCSTR, DWORD, VA_LIST*); 
    229236        HLOCAL LocalFree(HLOCAL); 
    230237    }