; Converted to asm by Franck Charlet
;
; Notes:
;
;  Listed support is for current drivers and should really only be used
;  as a guideline.  ISV should still use glGetString() and
;  wglGetExtensionsString() to determine the exact set of supported
;  GL and WGL extensions.
;
;

;
; WGL_ARB_extensions_string
;
;  Support:
;   Rage 128         based : Supported
;   Radeon 7xxx      based : Supported
;   Radeon 8xxx/9000 based : Supported
;   Radeon 9500/9700 based : Supported
;

ifndef WGL_ARB_extensions_string
WGL_ARB_extensions_string equ 1

PFNWGLGETEXTENSIONSSTRINGARBPROC_proto typedef proto :dword
PFNWGLGETEXTENSIONSSTRINGARBPROC typedef ptr PFNWGLGETEXTENSIONSSTRINGARBPROC_proto

endif ; WGL_ARB_extensions_string

;
; WGL_ARB_pixel_format
;
;  Support:
;   Rage 128         based : Supported
;   Radeon 7xxx      based : Supported
;   Radeon 8xxx/9000 based : Supported
;   Radeon 9500/9700 based : Supported
;
ifndef WGL_ARB_pixel_format
WGL_ARB_pixel_format equ 1

WGL_NUMBER_PIXEL_FORMATS_ARB        equ 02000h
WGL_DRAW_TO_WINDOW_ARB              equ 02001h
WGL_DRAW_TO_BITMAP_ARB              equ 02002h
WGL_ACCELERATION_ARB                equ 02003h
WGL_NEED_PALETTE_ARB                equ 02004h
WGL_NEED_SYSTEM_PALETTE_ARB         equ 02005h
WGL_SWAP_LAYER_BUFFERS_ARB          equ 02006h
WGL_SWAP_METHOD_ARB                 equ 02007h
WGL_NUMBER_OVERLAYS_ARB             equ 02008h
WGL_NUMBER_UNDERLAYS_ARB            equ 02009h
WGL_TRANSPARENT_ARB                 equ 0200Ah
WGL_TRANSPARENT_RED_VALUE_ARB       equ 02037h
WGL_TRANSPARENT_GREEN_VALUE_ARB     equ 02038h
WGL_TRANSPARENT_BLUE_VALUE_ARB      equ 02039h
WGL_TRANSPARENT_ALPHA_VALUE_ARB     equ 0203Ah
WGL_TRANSPARENT_INDEX_VALUE_ARB     equ 0203Bh
WGL_SHARE_DEPTH_ARB                 equ 0200Ch
WGL_SHARE_STENCIL_ARB               equ 0200Dh
WGL_SHARE_ACCUM_ARB                 equ 0200Eh
WGL_SUPPORT_GDI_ARB                 equ 0200Fh
WGL_SUPPORT_OPENGL_ARB              equ 02010h
WGL_DOUBLE_BUFFER_ARB               equ 02011h
WGL_STEREO_ARB                      equ 02012h
WGL_PIXEL_TYPE_ARB                  equ 02013h
WGL_COLOR_BITS_ARB                  equ 02014h
WGL_RED_BITS_ARB                    equ 02015h
WGL_RED_SHIFT_ARB                   equ 02016h
WGL_GREEN_BITS_ARB                  equ 02017h
WGL_GREEN_SHIFT_ARB                 equ 02018h
WGL_BLUE_BITS_ARB                   equ 02019h
WGL_BLUE_SHIFT_ARB                  equ 0201Ah
WGL_ALPHA_BITS_ARB                  equ 0201Bh
WGL_ALPHA_SHIFT_ARB                 equ 0201Ch
WGL_ACCUM_BITS_ARB                  equ 0201Dh
WGL_ACCUM_RED_BITS_ARB              equ 0201Eh
WGL_ACCUM_GREEN_BITS_ARB            equ 0201Fh
WGL_ACCUM_BLUE_BITS_ARB             equ 02020h
WGL_ACCUM_ALPHA_BITS_ARB            equ 02021h
WGL_DEPTH_BITS_ARB                  equ 02022h
WGL_STENCIL_BITS_ARB                equ 02023h
WGL_AUX_BUFFERS_ARB                 equ 02024h
WGL_NO_ACCELERATION_ARB             equ 02025h
WGL_GENERIC_ACCELERATION_ARB        equ 02026h
WGL_FULL_ACCELERATION_ARB           equ 02027h
WGL_SWAP_EXCHANGE_ARB               equ 02028h
WGL_SWAP_COPY_ARB                   equ 02029h
WGL_SWAP_UNDEFINED_ARB              equ 0202Ah
WGL_TYPE_RGBA_ARB                   equ 0202Bh
WGL_TYPE_COLORINDEX_ARB             equ 0202Ch


PFNWGLGETPIXELFORMATATTRIBIVARBPROC_proto typedef proto :dword, :dword, :dword, :dword, :dword, :dword
PFNWGLGETPIXELFORMATATTRIBIVARBPROC typedef ptr PFNWGLGETPIXELFORMATATTRIBIVARBPROC_proto
PFNWGLGETPIXELFORMATATTRIBFVARBPROC_proto typedef proto :dword, :dword, :dword, :dword, :dword, :dword
PFNWGLGETPIXELFORMATATTRIBFVARBPROC typedef ptr PFNWGLGETPIXELFORMATATTRIBFVARBPROC_proto
PFNWGLCHOOSEPIXELFORMATARBPROC_proto typedef proto :dword, :dword, :dword, :dword, :dword ,:dword
PFNWGLCHOOSEPIXELFORMATARBPROC typedef ptr PFNWGLCHOOSEPIXELFORMATARBPROC_proto

endif ; WGL_ARB_pixel_format

;
; WGL_ARB_make_current_read
;
;  Support:
;   Rage 128         based : Supported
;   Radeon 7xxx      based : Supported
;   Radeon 8xxx/9000 based : Supported
;   Radeon 9500/9700 based : Supported
;
ifndef WGL_ARB_make_current_read
WGL_ARB_make_current_read equ 1

PFNWGLMAKECONTEXTCURRENTARBPROC_proto typedef proto :dword, :dword, :dword
PFNWGLMAKECONTEXTCURRENTARBPROC typedef ptr PFNWGLMAKECONTEXTCURRENTARBPROC_proto
PFNWGLGETCURRENTREADDCARBPROC_proto typedef proto
PFNWGLGETCURRENTREADDCARBPROC typedef ptr PFNWGLGETCURRENTREADDCARBPROC_proto

endif ; WGL_ARB_make_current_read

;
; WGL_ARB_multisample
;
;  Support:
;   Rage 128         based : Not Supported
;   Radeon 7xxx      based : Not Supported
;   Radeon 8xxx/9000 based : Not Supported
;   Radeon 9500/9700 based : Supported
;
ifndef WGL_ARB_multisample
WGL_ARB_multisample equ 1

WGL_SAMPLE_BUFFERS_ARB              equ 02041h
WGL_SAMPLES_ARB                     equ 02042h

endif ; WGL_ARB_multisample

;
; WGL_ARB_pbuffer
;
;  Support:
;   Rage 128         based : Not Supported
;   Radeon 7xxx      based : Supported
;   Radeon 8xxx/9000 based : Supported
;   Radeon 9500/9700 based : Supported
;
ifndef WGL_ARB_pbuffer
WGL_ARB_pbuffer equ 1

WGL_DRAW_TO_PBUFFER_ARB              equ 0202Dh
WGL_MAX_PBUFFER_PIXELS_ARB           equ 0202Eh
WGL_MAX_PBUFFER_WIDTH_ARB            equ 0202Fh
WGL_MAX_PBUFFER_HEIGHT_ARB           equ 02030h
WGL_PBUFFER_LARGEST_ARB              equ 02033h
WGL_PBUFFER_WIDTH_ARB                equ 02034h
WGL_PBUFFER_HEIGHT_ARB               equ 02035h
WGL_PBUFFER_LOST_ARB                 equ 02036h

;DECLARE_HANDLE(HPBUFFERARB);

PFNWGLCREATEPBUFFERARBPROC_proto typedef proto :dword, :dword, :dword, :dword, :dword
PFNWGLCREATEPBUFFERARBPROC typedef ptr PFNWGLCREATEPBUFFERARBPROC_proto
PFNWGLGETPBUFFERDCARBPROC_proto typedef proto :dword
PFNWGLGETPBUFFERDCARBPROC typedef ptr PFNWGLGETPBUFFERDCARBPROC_proto
PFNWGLRELEASEPBUFFERDCARBPROC_proto typedef proto :dword, :dword
PFNWGLRELEASEPBUFFERDCARBPROC typedef ptr PFNWGLRELEASEPBUFFERDCARBPROC_proto
PFNWGLDESTROYPBUFFERARBPROC_proto typedef proto :dword
PFNWGLDESTROYPBUFFERARBPROC typedef ptr PFNWGLDESTROYPBUFFERARBPROC_proto
PFNWGLQUERYPBUFFERARBPROC_proto typedef proto :dword, :dword, :dword
PFNWGLQUERYPBUFFERARBPROC typedef ptr PFNWGLQUERYPBUFFERARBPROC_proto

endif ; WGL_ARB_pbuffer

;
; WGL_ARB_render_texture
;
;  Support:
;   Rage 128         based : Not Supported
;   Radeon 7xxx      based : Supported
;   Radeon 8xxx/9000 based : Supported
;   Radeon 9500/9700 based : Supported
;
ifndef WGL_ARB_render_texture
WGL_ARB_render_texture equ 1

WGL_BIND_TO_TEXTURE_RGB_ARB         equ 02070h
WGL_BIND_TO_TEXTURE_RGBA_ARB        equ 02071h
WGL_TEXTURE_FORMAT_ARB              equ 02072h
WGL_TEXTURE_TARGET_ARB              equ 02073h
WGL_MIPMAP_TEXTURE_ARB              equ 02074h
WGL_TEXTURE_RGB_ARB                 equ 02075h
WGL_TEXTURE_RGBA_ARB                equ 02076h
WGL_NO_TEXTURE_ARB                  equ 02077h
WGL_TEXTURE_CUBE_MAP_ARB            equ 02078h
WGL_TEXTURE_1D_ARB                  equ 02079h
WGL_TEXTURE_2D_ARB                  equ 0207Ah
WGL_MIPMAP_LEVEL_ARB                equ 0207Bh
WGL_CUBE_MAP_FACE_ARB               equ 0207Ch
WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB equ 0207Dh
WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB equ 0207Eh
WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB equ 0207Fh
WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB equ 02080h
WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB equ 02081h
WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB equ 02082h
WGL_FRONT_LEFT_ARB                  equ 02083h
WGL_FRONT_RIGHT_ARB                 equ 02084h
WGL_BACK_LEFT_ARB                   equ 02085h
WGL_BACK_RIGHT_ARB                  equ 02086h
WGL_AUX0_ARB                        equ 02087h
WGL_AUX1_ARB                        equ 02088h
WGL_AUX2_ARB                        equ 02089h
WGL_AUX3_ARB                        equ 0208Ah
WGL_AUX4_ARB                        equ 0208Bh
WGL_AUX5_ARB                        equ 0208Ch
WGL_AUX6_ARB                        equ 0208Dh
WGL_AUX7_ARB                        equ 0208Eh
WGL_AUX8_ARB                        equ 0208Fh
WGL_AUX9_ARB                        equ 02090h

PFNWGLBINDTEXIMAGEARBPROC_proto typedef proto :dword, :dword
PFNWGLBINDTEXIMAGEARBPROC typedef ptr PFNWGLBINDTEXIMAGEARBPROC_proto
PFNWGLRELEASETEXIMAGEARBPROC_proto typedef proto :dword, :dword
PFNWGLRELEASETEXIMAGEARBPROC typedef ptr PFNWGLRELEASETEXIMAGEARBPROC_proto
PFNWGLSETPBUFFERATTRIBARBPROC_proto typedef proto :dword, :dword
PFNWGLSETPBUFFERATTRIBARBPROC typedef ptr PFNWGLSETPBUFFERATTRIBARBPROC_proto

endif


;
; WGL_EXT_extensions_string
;
;  Support:
;   Rage 128         based : Supported
;   Radeon 7xxx      based : Supported
;   Radeon 8xxx/9000 based : Supported
;   Radeon 9500/9700 based : Supported
;
ifndef WGL_EXT_extensions_string
WGL_EXT_extensions_string equ 1

PFNWGLGETEXTENSIONSSTRINGEXTPROC_proto typedef proto
PFNWGLGETEXTENSIONSSTRINGEXTPROC typedef ptr PFNWGLGETEXTENSIONSSTRINGEXTPROC_proto

endif ; WGL_EXT_extensions_string

;
; WGL_EXT_swap_control
;
;  Support:
;   Rage 128         based : Supported
;   Radeon 7xxx      based : Supported
;   Radeon 8xxx/9000 based : Supported
;   Radeon 9500/9700 based : Supported
;
ifndef WGL_EXT_swap_control
WGL_EXT_swap_control equ 1

PFNWGLSWAPINTERVALEXTPROC_proto typedef proto :dword
PFNWGLSWAPINTERVALEXTPROC typedef ptr PFNWGLSWAPINTERVALEXTPROC_proto
PFNWGLGETSWAPINTERVALEXTPROC_proto typedef proto
PFNWGLGETSWAPINTERVALEXTPROC typedef ptr PFNWGLGETSWAPINTERVALEXTPROC_proto

endif ; WGL_EXT_swap_control

;
; WGL_ATI_pixel_format_float
;
;  Support:
;   Rage 128         based : Not Supported
;   Radeon 7xxx      based : Not Supported
;   Radeon 8xxx/9000 based : Not Supported
;   Radeon 9500/9700 based : Supported
;
ifndef WGL_ATI_pixel_format_float
WGL_ATI_pixel_format_float equ 1

WGL_TYPE_RGBA_FLOAT_ATI             equ 021A0h
GL_TYPE_RGBA_FLOAT_ATI              equ 08820h
GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI  equ 08835h

endif
