1 /// WinGL bindings for D. Generated automatically by gldgen. 2 /// See https://github.com/rtbo/gldgen 3 module gfx.bindings.opengl.wgl; 4 5 version(Windows): 6 import core.stdc.config : c_ulong; 7 import core.sys.windows.windef; 8 import core.sys.windows.wingdi; 9 import gfx.bindings.opengl.loader : SymbolLoader; 10 import gfx.bindings.opengl.gl; 11 12 // Base Types 13 14 // Types for WGL_NV_gpu_affinity 15 alias PGPU_DEVICE = _GPU_DEVICE*; 16 17 // Handle declarations 18 alias HPBUFFERARB = void*; 19 alias HPBUFFEREXT = void*; 20 alias HGPUNV = void*; 21 alias HVIDEOOUTPUTDEVICENV = void*; 22 alias HVIDEOINPUTDEVICENV = void*; 23 alias HPVIDEODEV = void*; 24 25 // Struct definitions 26 // Structs for WGL_NV_gpu_affinity 27 struct _GPU_DEVICE { 28 DWORD cb; 29 CHAR[32] DeviceName; 30 CHAR[128] DeviceString; 31 DWORD Flags; 32 RECT rcVirtualScreen; 33 } 34 35 36 // Constants for WGL_VERSION_1_0 37 enum WGL_FONT_LINES = 0; 38 enum WGL_FONT_POLYGONS = 1; 39 enum WGL_SWAP_MAIN_PLANE = 0x00000001; 40 enum WGL_SWAP_OVERLAY1 = 0x00000002; 41 enum WGL_SWAP_OVERLAY2 = 0x00000004; 42 enum WGL_SWAP_OVERLAY3 = 0x00000008; 43 enum WGL_SWAP_OVERLAY4 = 0x00000010; 44 enum WGL_SWAP_OVERLAY5 = 0x00000020; 45 enum WGL_SWAP_OVERLAY6 = 0x00000040; 46 enum WGL_SWAP_OVERLAY7 = 0x00000080; 47 enum WGL_SWAP_OVERLAY8 = 0x00000100; 48 enum WGL_SWAP_OVERLAY9 = 0x00000200; 49 enum WGL_SWAP_OVERLAY10 = 0x00000400; 50 enum WGL_SWAP_OVERLAY11 = 0x00000800; 51 enum WGL_SWAP_OVERLAY12 = 0x00001000; 52 enum WGL_SWAP_OVERLAY13 = 0x00002000; 53 enum WGL_SWAP_OVERLAY14 = 0x00004000; 54 enum WGL_SWAP_OVERLAY15 = 0x00008000; 55 enum WGL_SWAP_UNDERLAY1 = 0x00010000; 56 enum WGL_SWAP_UNDERLAY2 = 0x00020000; 57 enum WGL_SWAP_UNDERLAY3 = 0x00040000; 58 enum WGL_SWAP_UNDERLAY4 = 0x00080000; 59 enum WGL_SWAP_UNDERLAY5 = 0x00100000; 60 enum WGL_SWAP_UNDERLAY6 = 0x00200000; 61 enum WGL_SWAP_UNDERLAY7 = 0x00400000; 62 enum WGL_SWAP_UNDERLAY8 = 0x00800000; 63 enum WGL_SWAP_UNDERLAY9 = 0x01000000; 64 enum WGL_SWAP_UNDERLAY10 = 0x02000000; 65 enum WGL_SWAP_UNDERLAY11 = 0x04000000; 66 enum WGL_SWAP_UNDERLAY12 = 0x08000000; 67 enum WGL_SWAP_UNDERLAY13 = 0x10000000; 68 enum WGL_SWAP_UNDERLAY14 = 0x20000000; 69 enum WGL_SWAP_UNDERLAY15 = 0x40000000; 70 71 // Constants for WGL_ARB_buffer_region 72 enum WGL_FRONT_COLOR_BUFFER_BIT_ARB = 0x00000001; 73 enum WGL_BACK_COLOR_BUFFER_BIT_ARB = 0x00000002; 74 enum WGL_DEPTH_BUFFER_BIT_ARB = 0x00000004; 75 enum WGL_STENCIL_BUFFER_BIT_ARB = 0x00000008; 76 77 // Constants for WGL_ARB_context_flush_control 78 enum WGL_CONTEXT_RELEASE_BEHAVIOR_ARB = 0x2097; 79 enum WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0; 80 enum WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = 0x2098; 81 82 // Constants for WGL_ARB_create_context 83 enum WGL_CONTEXT_DEBUG_BIT_ARB = 0x00000001; 84 enum WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x00000002; 85 enum WGL_CONTEXT_MAJOR_VERSION_ARB = 0x2091; 86 enum WGL_CONTEXT_MINOR_VERSION_ARB = 0x2092; 87 enum WGL_CONTEXT_LAYER_PLANE_ARB = 0x2093; 88 enum WGL_CONTEXT_FLAGS_ARB = 0x2094; 89 enum ERROR_INVALID_VERSION_ARB = 0x2095; 90 91 // Constants for WGL_ARB_create_context_no_error 92 enum WGL_CONTEXT_OPENGL_NO_ERROR_ARB = 0x31B3; 93 94 // Constants for WGL_ARB_create_context_profile 95 enum WGL_CONTEXT_PROFILE_MASK_ARB = 0x9126; 96 enum WGL_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001; 97 enum WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002; 98 enum ERROR_INVALID_PROFILE_ARB = 0x2096; 99 100 // Constants for WGL_ARB_create_context_robustness 101 enum WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB = 0x00000004; 102 enum WGL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252; 103 enum WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; 104 enum WGL_NO_RESET_NOTIFICATION_ARB = 0x8261; 105 106 // Constants for WGL_ARB_framebuffer_sRGB 107 enum WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = 0x20A9; 108 109 // Constants for WGL_ARB_make_current_read 110 enum ERROR_INVALID_PIXEL_TYPE_ARB = 0x2043; 111 enum ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = 0x2054; 112 113 // Constants for WGL_ARB_multisample 114 enum WGL_SAMPLE_BUFFERS_ARB = 0x2041; 115 enum WGL_SAMPLES_ARB = 0x2042; 116 117 // Constants for WGL_ARB_pbuffer 118 enum WGL_DRAW_TO_PBUFFER_ARB = 0x202D; 119 enum WGL_MAX_PBUFFER_PIXELS_ARB = 0x202E; 120 enum WGL_MAX_PBUFFER_WIDTH_ARB = 0x202F; 121 enum WGL_MAX_PBUFFER_HEIGHT_ARB = 0x2030; 122 enum WGL_PBUFFER_LARGEST_ARB = 0x2033; 123 enum WGL_PBUFFER_WIDTH_ARB = 0x2034; 124 enum WGL_PBUFFER_HEIGHT_ARB = 0x2035; 125 enum WGL_PBUFFER_LOST_ARB = 0x2036; 126 127 // Constants for WGL_ARB_pixel_format 128 enum WGL_NUMBER_PIXEL_FORMATS_ARB = 0x2000; 129 enum WGL_DRAW_TO_WINDOW_ARB = 0x2001; 130 enum WGL_DRAW_TO_BITMAP_ARB = 0x2002; 131 enum WGL_ACCELERATION_ARB = 0x2003; 132 enum WGL_NEED_PALETTE_ARB = 0x2004; 133 enum WGL_NEED_SYSTEM_PALETTE_ARB = 0x2005; 134 enum WGL_SWAP_LAYER_BUFFERS_ARB = 0x2006; 135 enum WGL_SWAP_METHOD_ARB = 0x2007; 136 enum WGL_NUMBER_OVERLAYS_ARB = 0x2008; 137 enum WGL_NUMBER_UNDERLAYS_ARB = 0x2009; 138 enum WGL_TRANSPARENT_ARB = 0x200A; 139 enum WGL_TRANSPARENT_RED_VALUE_ARB = 0x2037; 140 enum WGL_TRANSPARENT_GREEN_VALUE_ARB = 0x2038; 141 enum WGL_TRANSPARENT_BLUE_VALUE_ARB = 0x2039; 142 enum WGL_TRANSPARENT_ALPHA_VALUE_ARB = 0x203A; 143 enum WGL_TRANSPARENT_INDEX_VALUE_ARB = 0x203B; 144 enum WGL_SHARE_DEPTH_ARB = 0x200C; 145 enum WGL_SHARE_STENCIL_ARB = 0x200D; 146 enum WGL_SHARE_ACCUM_ARB = 0x200E; 147 enum WGL_SUPPORT_GDI_ARB = 0x200F; 148 enum WGL_SUPPORT_OPENGL_ARB = 0x2010; 149 enum WGL_DOUBLE_BUFFER_ARB = 0x2011; 150 enum WGL_STEREO_ARB = 0x2012; 151 enum WGL_PIXEL_TYPE_ARB = 0x2013; 152 enum WGL_COLOR_BITS_ARB = 0x2014; 153 enum WGL_RED_BITS_ARB = 0x2015; 154 enum WGL_RED_SHIFT_ARB = 0x2016; 155 enum WGL_GREEN_BITS_ARB = 0x2017; 156 enum WGL_GREEN_SHIFT_ARB = 0x2018; 157 enum WGL_BLUE_BITS_ARB = 0x2019; 158 enum WGL_BLUE_SHIFT_ARB = 0x201A; 159 enum WGL_ALPHA_BITS_ARB = 0x201B; 160 enum WGL_ALPHA_SHIFT_ARB = 0x201C; 161 enum WGL_ACCUM_BITS_ARB = 0x201D; 162 enum WGL_ACCUM_RED_BITS_ARB = 0x201E; 163 enum WGL_ACCUM_GREEN_BITS_ARB = 0x201F; 164 enum WGL_ACCUM_BLUE_BITS_ARB = 0x2020; 165 enum WGL_ACCUM_ALPHA_BITS_ARB = 0x2021; 166 enum WGL_DEPTH_BITS_ARB = 0x2022; 167 enum WGL_STENCIL_BITS_ARB = 0x2023; 168 enum WGL_AUX_BUFFERS_ARB = 0x2024; 169 enum WGL_NO_ACCELERATION_ARB = 0x2025; 170 enum WGL_GENERIC_ACCELERATION_ARB = 0x2026; 171 enum WGL_FULL_ACCELERATION_ARB = 0x2027; 172 enum WGL_SWAP_EXCHANGE_ARB = 0x2028; 173 enum WGL_SWAP_COPY_ARB = 0x2029; 174 enum WGL_SWAP_UNDEFINED_ARB = 0x202A; 175 enum WGL_TYPE_RGBA_ARB = 0x202B; 176 enum WGL_TYPE_COLORINDEX_ARB = 0x202C; 177 178 // Constants for WGL_ARB_pixel_format_float 179 enum WGL_TYPE_RGBA_FLOAT_ARB = 0x21A0; 180 181 // Constants for WGL_ARB_render_texture 182 enum WGL_BIND_TO_TEXTURE_RGB_ARB = 0x2070; 183 enum WGL_BIND_TO_TEXTURE_RGBA_ARB = 0x2071; 184 enum WGL_TEXTURE_FORMAT_ARB = 0x2072; 185 enum WGL_TEXTURE_TARGET_ARB = 0x2073; 186 enum WGL_MIPMAP_TEXTURE_ARB = 0x2074; 187 enum WGL_TEXTURE_RGB_ARB = 0x2075; 188 enum WGL_TEXTURE_RGBA_ARB = 0x2076; 189 enum WGL_NO_TEXTURE_ARB = 0x2077; 190 enum WGL_TEXTURE_CUBE_MAP_ARB = 0x2078; 191 enum WGL_TEXTURE_1D_ARB = 0x2079; 192 enum WGL_TEXTURE_2D_ARB = 0x207A; 193 enum WGL_MIPMAP_LEVEL_ARB = 0x207B; 194 enum WGL_CUBE_MAP_FACE_ARB = 0x207C; 195 enum WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x207D; 196 enum WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x207E; 197 enum WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x207F; 198 enum WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x2080; 199 enum WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x2081; 200 enum WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x2082; 201 enum WGL_FRONT_LEFT_ARB = 0x2083; 202 enum WGL_FRONT_RIGHT_ARB = 0x2084; 203 enum WGL_BACK_LEFT_ARB = 0x2085; 204 enum WGL_BACK_RIGHT_ARB = 0x2086; 205 enum WGL_AUX0_ARB = 0x2087; 206 enum WGL_AUX1_ARB = 0x2088; 207 enum WGL_AUX2_ARB = 0x2089; 208 enum WGL_AUX3_ARB = 0x208A; 209 enum WGL_AUX4_ARB = 0x208B; 210 enum WGL_AUX5_ARB = 0x208C; 211 enum WGL_AUX6_ARB = 0x208D; 212 enum WGL_AUX7_ARB = 0x208E; 213 enum WGL_AUX8_ARB = 0x208F; 214 enum WGL_AUX9_ARB = 0x2090; 215 216 // Constants for WGL_ARB_robustness_application_isolation 217 enum WGL_CONTEXT_RESET_ISOLATION_BIT_ARB = 0x00000008; 218 219 // Constants for WGL_3DFX_multisample 220 enum WGL_SAMPLE_BUFFERS_3DFX = 0x2060; 221 enum WGL_SAMPLES_3DFX = 0x2061; 222 223 // Constants for WGL_3DL_stereo_control 224 enum WGL_STEREO_EMITTER_ENABLE_3DL = 0x2055; 225 enum WGL_STEREO_EMITTER_DISABLE_3DL = 0x2056; 226 enum WGL_STEREO_POLARITY_NORMAL_3DL = 0x2057; 227 enum WGL_STEREO_POLARITY_INVERT_3DL = 0x2058; 228 229 // Constants for WGL_AMD_gpu_association 230 enum WGL_GPU_VENDOR_AMD = 0x1F00; 231 enum WGL_GPU_RENDERER_STRING_AMD = 0x1F01; 232 enum WGL_GPU_OPENGL_VERSION_STRING_AMD = 0x1F02; 233 enum WGL_GPU_FASTEST_TARGET_GPUS_AMD = 0x21A2; 234 enum WGL_GPU_RAM_AMD = 0x21A3; 235 enum WGL_GPU_CLOCK_AMD = 0x21A4; 236 enum WGL_GPU_NUM_PIPES_AMD = 0x21A5; 237 enum WGL_GPU_NUM_SIMD_AMD = 0x21A6; 238 enum WGL_GPU_NUM_RB_AMD = 0x21A7; 239 enum WGL_GPU_NUM_SPI_AMD = 0x21A8; 240 241 // Constants for WGL_ATI_pixel_format_float 242 enum WGL_TYPE_RGBA_FLOAT_ATI = 0x21A0; 243 244 // Constants for WGL_ATI_render_texture_rectangle 245 enum WGL_TEXTURE_RECTANGLE_ATI = 0x21A5; 246 247 // Constants for WGL_EXT_colorspace 248 enum WGL_COLORSPACE_EXT = 0x309D; 249 enum WGL_COLORSPACE_SRGB_EXT = 0x3089; 250 enum WGL_COLORSPACE_LINEAR_EXT = 0x308A; 251 252 // Constants for WGL_EXT_create_context_es2_profile 253 enum WGL_CONTEXT_ES2_PROFILE_BIT_EXT = 0x00000004; 254 255 // Constants for WGL_EXT_create_context_es_profile 256 enum WGL_CONTEXT_ES_PROFILE_BIT_EXT = 0x00000004; 257 258 // Constants for WGL_EXT_depth_float 259 enum WGL_DEPTH_FLOAT_EXT = 0x2040; 260 261 // Constants for WGL_EXT_framebuffer_sRGB 262 enum WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x20A9; 263 264 // Constants for WGL_EXT_make_current_read 265 enum ERROR_INVALID_PIXEL_TYPE_EXT = 0x2043; 266 267 // Constants for WGL_EXT_multisample 268 enum WGL_SAMPLE_BUFFERS_EXT = 0x2041; 269 enum WGL_SAMPLES_EXT = 0x2042; 270 271 // Constants for WGL_EXT_pbuffer 272 enum WGL_DRAW_TO_PBUFFER_EXT = 0x202D; 273 enum WGL_MAX_PBUFFER_PIXELS_EXT = 0x202E; 274 enum WGL_MAX_PBUFFER_WIDTH_EXT = 0x202F; 275 enum WGL_MAX_PBUFFER_HEIGHT_EXT = 0x2030; 276 enum WGL_OPTIMAL_PBUFFER_WIDTH_EXT = 0x2031; 277 enum WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = 0x2032; 278 enum WGL_PBUFFER_LARGEST_EXT = 0x2033; 279 enum WGL_PBUFFER_WIDTH_EXT = 0x2034; 280 enum WGL_PBUFFER_HEIGHT_EXT = 0x2035; 281 282 // Constants for WGL_EXT_pixel_format 283 enum WGL_NUMBER_PIXEL_FORMATS_EXT = 0x2000; 284 enum WGL_DRAW_TO_WINDOW_EXT = 0x2001; 285 enum WGL_DRAW_TO_BITMAP_EXT = 0x2002; 286 enum WGL_ACCELERATION_EXT = 0x2003; 287 enum WGL_NEED_PALETTE_EXT = 0x2004; 288 enum WGL_NEED_SYSTEM_PALETTE_EXT = 0x2005; 289 enum WGL_SWAP_LAYER_BUFFERS_EXT = 0x2006; 290 enum WGL_SWAP_METHOD_EXT = 0x2007; 291 enum WGL_NUMBER_OVERLAYS_EXT = 0x2008; 292 enum WGL_NUMBER_UNDERLAYS_EXT = 0x2009; 293 enum WGL_TRANSPARENT_EXT = 0x200A; 294 enum WGL_TRANSPARENT_VALUE_EXT = 0x200B; 295 enum WGL_SHARE_DEPTH_EXT = 0x200C; 296 enum WGL_SHARE_STENCIL_EXT = 0x200D; 297 enum WGL_SHARE_ACCUM_EXT = 0x200E; 298 enum WGL_SUPPORT_GDI_EXT = 0x200F; 299 enum WGL_SUPPORT_OPENGL_EXT = 0x2010; 300 enum WGL_DOUBLE_BUFFER_EXT = 0x2011; 301 enum WGL_STEREO_EXT = 0x2012; 302 enum WGL_PIXEL_TYPE_EXT = 0x2013; 303 enum WGL_COLOR_BITS_EXT = 0x2014; 304 enum WGL_RED_BITS_EXT = 0x2015; 305 enum WGL_RED_SHIFT_EXT = 0x2016; 306 enum WGL_GREEN_BITS_EXT = 0x2017; 307 enum WGL_GREEN_SHIFT_EXT = 0x2018; 308 enum WGL_BLUE_BITS_EXT = 0x2019; 309 enum WGL_BLUE_SHIFT_EXT = 0x201A; 310 enum WGL_ALPHA_BITS_EXT = 0x201B; 311 enum WGL_ALPHA_SHIFT_EXT = 0x201C; 312 enum WGL_ACCUM_BITS_EXT = 0x201D; 313 enum WGL_ACCUM_RED_BITS_EXT = 0x201E; 314 enum WGL_ACCUM_GREEN_BITS_EXT = 0x201F; 315 enum WGL_ACCUM_BLUE_BITS_EXT = 0x2020; 316 enum WGL_ACCUM_ALPHA_BITS_EXT = 0x2021; 317 enum WGL_DEPTH_BITS_EXT = 0x2022; 318 enum WGL_STENCIL_BITS_EXT = 0x2023; 319 enum WGL_AUX_BUFFERS_EXT = 0x2024; 320 enum WGL_NO_ACCELERATION_EXT = 0x2025; 321 enum WGL_GENERIC_ACCELERATION_EXT = 0x2026; 322 enum WGL_FULL_ACCELERATION_EXT = 0x2027; 323 enum WGL_SWAP_EXCHANGE_EXT = 0x2028; 324 enum WGL_SWAP_COPY_EXT = 0x2029; 325 enum WGL_SWAP_UNDEFINED_EXT = 0x202A; 326 enum WGL_TYPE_RGBA_EXT = 0x202B; 327 enum WGL_TYPE_COLORINDEX_EXT = 0x202C; 328 329 // Constants for WGL_EXT_pixel_format_packed_float 330 enum WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = 0x20A8; 331 332 // Constants for WGL_I3D_digital_video_control 333 enum WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = 0x2050; 334 enum WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = 0x2051; 335 enum WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = 0x2052; 336 enum WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = 0x2053; 337 338 // Constants for WGL_I3D_gamma 339 enum WGL_GAMMA_TABLE_SIZE_I3D = 0x204E; 340 enum WGL_GAMMA_EXCLUDE_DESKTOP_I3D = 0x204F; 341 342 // Constants for WGL_I3D_genlock 343 enum WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = 0x2044; 344 enum WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D = 0x2045; 345 enum WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D = 0x2046; 346 enum WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D = 0x2047; 347 enum WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = 0x2048; 348 enum WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = 0x2049; 349 enum WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = 0x204A; 350 enum WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = 0x204B; 351 enum WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = 0x204C; 352 353 // Constants for WGL_I3D_image_buffer 354 enum WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = 0x00000001; 355 enum WGL_IMAGE_BUFFER_LOCK_I3D = 0x00000002; 356 357 // Constants for WGL_NV_DX_interop 358 enum WGL_ACCESS_READ_ONLY_NV = 0x00000000; 359 enum WGL_ACCESS_READ_WRITE_NV = 0x00000001; 360 enum WGL_ACCESS_WRITE_DISCARD_NV = 0x00000002; 361 362 // Constants for WGL_NV_float_buffer 363 enum WGL_FLOAT_COMPONENTS_NV = 0x20B0; 364 enum WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = 0x20B1; 365 enum WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = 0x20B2; 366 enum WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = 0x20B3; 367 enum WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = 0x20B4; 368 enum WGL_TEXTURE_FLOAT_R_NV = 0x20B5; 369 enum WGL_TEXTURE_FLOAT_RG_NV = 0x20B6; 370 enum WGL_TEXTURE_FLOAT_RGB_NV = 0x20B7; 371 enum WGL_TEXTURE_FLOAT_RGBA_NV = 0x20B8; 372 373 // Constants for WGL_NV_gpu_affinity 374 enum ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV = 0x20D0; 375 enum ERROR_MISSING_AFFINITY_MASK_NV = 0x20D1; 376 377 // Constants for WGL_NV_multisample_coverage 378 enum WGL_COVERAGE_SAMPLES_NV = 0x2042; 379 enum WGL_COLOR_SAMPLES_NV = 0x20B9; 380 381 // Constants for WGL_NV_present_video 382 enum WGL_NUM_VIDEO_SLOTS_NV = 0x20F0; 383 384 // Constants for WGL_NV_render_depth_texture 385 enum WGL_BIND_TO_TEXTURE_DEPTH_NV = 0x20A3; 386 enum WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = 0x20A4; 387 enum WGL_DEPTH_TEXTURE_FORMAT_NV = 0x20A5; 388 enum WGL_TEXTURE_DEPTH_COMPONENT_NV = 0x20A6; 389 enum WGL_DEPTH_COMPONENT_NV = 0x20A7; 390 391 // Constants for WGL_NV_render_texture_rectangle 392 enum WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = 0x20A0; 393 enum WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = 0x20A1; 394 enum WGL_TEXTURE_RECTANGLE_NV = 0x20A2; 395 396 // Constants for WGL_NV_video_capture 397 enum WGL_UNIQUE_ID_NV = 0x20CE; 398 enum WGL_NUM_VIDEO_CAPTURE_SLOTS_NV = 0x20CF; 399 400 // Constants for WGL_NV_video_output 401 enum WGL_BIND_TO_VIDEO_RGB_NV = 0x20C0; 402 enum WGL_BIND_TO_VIDEO_RGBA_NV = 0x20C1; 403 enum WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV = 0x20C2; 404 enum WGL_VIDEO_OUT_COLOR_NV = 0x20C3; 405 enum WGL_VIDEO_OUT_ALPHA_NV = 0x20C4; 406 enum WGL_VIDEO_OUT_DEPTH_NV = 0x20C5; 407 enum WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV = 0x20C6; 408 enum WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV = 0x20C7; 409 enum WGL_VIDEO_OUT_FRAME = 0x20C8; 410 enum WGL_VIDEO_OUT_FIELD_1 = 0x20C9; 411 enum WGL_VIDEO_OUT_FIELD_2 = 0x20CA; 412 enum WGL_VIDEO_OUT_STACKED_FIELDS_1_2 = 0x20CB; 413 enum WGL_VIDEO_OUT_STACKED_FIELDS_2_1 = 0x20CC; 414 415 // Command pointer aliases 416 417 extern(C) nothrow @nogc { 418 419 // Command pointers for WGL_VERSION_1_0 420 alias PFN_wglCopyContext = BOOL function ( 421 HGLRC hglrcSrc, 422 HGLRC hglrcDst, 423 UINT mask, 424 ); 425 alias PFN_wglCreateContext = HGLRC function ( 426 HDC hDc, 427 ); 428 alias PFN_wglCreateLayerContext = HGLRC function ( 429 HDC hDc, 430 int level, 431 ); 432 alias PFN_wglDeleteContext = BOOL function ( 433 HGLRC oldContext, 434 ); 435 alias PFN_wglDescribeLayerPlane = BOOL function ( 436 HDC hDc, 437 int pixelFormat, 438 int layerPlane, 439 UINT nBytes, 440 const(LAYERPLANEDESCRIPTOR)* plpd, 441 ); 442 alias PFN_wglGetCurrentContext = HGLRC function (); 443 alias PFN_wglGetCurrentDC = HDC function (); 444 alias PFN_wglGetLayerPaletteEntries = int function ( 445 HDC hdc, 446 int iLayerPlane, 447 int iStart, 448 int cEntries, 449 const(COLORREF)* pcr, 450 ); 451 alias PFN_wglGetProcAddress = PROC function ( 452 LPCSTR lpszProc, 453 ); 454 alias PFN_wglMakeCurrent = BOOL function ( 455 HDC hDc, 456 HGLRC newContext, 457 ); 458 alias PFN_wglRealizeLayerPalette = BOOL function ( 459 HDC hdc, 460 int iLayerPlane, 461 BOOL bRealize, 462 ); 463 alias PFN_wglSetLayerPaletteEntries = int function ( 464 HDC hdc, 465 int iLayerPlane, 466 int iStart, 467 int cEntries, 468 const(COLORREF)* pcr, 469 ); 470 alias PFN_wglShareLists = BOOL function ( 471 HGLRC hrcSrvShare, 472 HGLRC hrcSrvSource, 473 ); 474 alias PFN_wglSwapLayerBuffers = BOOL function ( 475 HDC hdc, 476 UINT fuFlags, 477 ); 478 alias PFN_wglUseFontBitmaps = BOOL function ( 479 HDC hDC, 480 DWORD first, 481 DWORD count, 482 DWORD listBase, 483 ); 484 alias PFN_wglUseFontBitmapsA = BOOL function ( 485 HDC hDC, 486 DWORD first, 487 DWORD count, 488 DWORD listBase, 489 ); 490 alias PFN_wglUseFontBitmapsW = BOOL function ( 491 HDC hDC, 492 DWORD first, 493 DWORD count, 494 DWORD listBase, 495 ); 496 alias PFN_wglUseFontOutlines = BOOL function ( 497 HDC hDC, 498 DWORD first, 499 DWORD count, 500 DWORD listBase, 501 FLOAT deviation, 502 FLOAT extrusion, 503 int format, 504 LPGLYPHMETRICSFLOAT lpgmf, 505 ); 506 alias PFN_wglUseFontOutlinesA = BOOL function ( 507 HDC hDC, 508 DWORD first, 509 DWORD count, 510 DWORD listBase, 511 FLOAT deviation, 512 FLOAT extrusion, 513 int format, 514 LPGLYPHMETRICSFLOAT lpgmf, 515 ); 516 alias PFN_wglUseFontOutlinesW = BOOL function ( 517 HDC hDC, 518 DWORD first, 519 DWORD count, 520 DWORD listBase, 521 FLOAT deviation, 522 FLOAT extrusion, 523 int format, 524 LPGLYPHMETRICSFLOAT lpgmf, 525 ); 526 527 // Command pointers for WGL_ARB_buffer_region 528 alias PFN_wglCreateBufferRegionARB = HANDLE function ( 529 HDC hDC, 530 int iLayerPlane, 531 UINT uType, 532 ); 533 alias PFN_wglDeleteBufferRegionARB = VOID function ( 534 HANDLE hRegion, 535 ); 536 alias PFN_wglSaveBufferRegionARB = BOOL function ( 537 HANDLE hRegion, 538 int x, 539 int y, 540 int width, 541 int height, 542 ); 543 alias PFN_wglRestoreBufferRegionARB = BOOL function ( 544 HANDLE hRegion, 545 int x, 546 int y, 547 int width, 548 int height, 549 int xSrc, 550 int ySrc, 551 ); 552 553 // Command pointers for WGL_ARB_create_context 554 alias PFN_wglCreateContextAttribsARB = HGLRC function ( 555 HDC hDC, 556 HGLRC hShareContext, 557 const(int)* attribList, 558 ); 559 560 // Command pointers for WGL_ARB_extensions_string 561 alias PFN_wglGetExtensionsStringARB = const(char)* function ( 562 HDC hdc, 563 ); 564 565 // Command pointers for WGL_ARB_make_current_read 566 alias PFN_wglMakeContextCurrentARB = BOOL function ( 567 HDC hDrawDC, 568 HDC hReadDC, 569 HGLRC hglrc, 570 ); 571 alias PFN_wglGetCurrentReadDCARB = HDC function (); 572 573 // Command pointers for WGL_ARB_pbuffer 574 alias PFN_wglCreatePbufferARB = HPBUFFERARB function ( 575 HDC hDC, 576 int iPixelFormat, 577 int iWidth, 578 int iHeight, 579 const(int)* piAttribList, 580 ); 581 alias PFN_wglGetPbufferDCARB = HDC function ( 582 HPBUFFERARB hPbuffer, 583 ); 584 alias PFN_wglReleasePbufferDCARB = int function ( 585 HPBUFFERARB hPbuffer, 586 HDC hDC, 587 ); 588 alias PFN_wglDestroyPbufferARB = BOOL function ( 589 HPBUFFERARB hPbuffer, 590 ); 591 alias PFN_wglQueryPbufferARB = BOOL function ( 592 HPBUFFERARB hPbuffer, 593 int iAttribute, 594 int* piValue, 595 ); 596 597 // Command pointers for WGL_ARB_pixel_format 598 alias PFN_wglGetPixelFormatAttribivARB = BOOL function ( 599 HDC hdc, 600 int iPixelFormat, 601 int iLayerPlane, 602 UINT nAttributes, 603 const(int)* piAttributes, 604 int* piValues, 605 ); 606 alias PFN_wglGetPixelFormatAttribfvARB = BOOL function ( 607 HDC hdc, 608 int iPixelFormat, 609 int iLayerPlane, 610 UINT nAttributes, 611 const(int)* piAttributes, 612 FLOAT* pfValues, 613 ); 614 alias PFN_wglChoosePixelFormatARB = BOOL function ( 615 HDC hdc, 616 const(int)* piAttribIList, 617 const(FLOAT)* pfAttribFList, 618 UINT nMaxFormats, 619 int* piFormats, 620 UINT* nNumFormats, 621 ); 622 623 // Command pointers for WGL_ARB_render_texture 624 alias PFN_wglBindTexImageARB = BOOL function ( 625 HPBUFFERARB hPbuffer, 626 int iBuffer, 627 ); 628 alias PFN_wglReleaseTexImageARB = BOOL function ( 629 HPBUFFERARB hPbuffer, 630 int iBuffer, 631 ); 632 alias PFN_wglSetPbufferAttribARB = BOOL function ( 633 HPBUFFERARB hPbuffer, 634 const(int)* piAttribList, 635 ); 636 637 // Command pointers for WGL_3DL_stereo_control 638 alias PFN_wglSetStereoEmitterState3DL = BOOL function ( 639 HDC hDC, 640 UINT uState, 641 ); 642 643 // Command pointers for WGL_AMD_gpu_association 644 alias PFN_wglGetGPUIDsAMD = UINT function ( 645 UINT maxCount, 646 UINT* ids, 647 ); 648 alias PFN_wglGetGPUInfoAMD = INT function ( 649 UINT id, 650 int property, 651 GLenum dataType, 652 UINT size, 653 void* data, 654 ); 655 alias PFN_wglGetContextGPUIDAMD = UINT function ( 656 HGLRC hglrc, 657 ); 658 alias PFN_wglCreateAssociatedContextAMD = HGLRC function ( 659 UINT id, 660 ); 661 alias PFN_wglCreateAssociatedContextAttribsAMD = HGLRC function ( 662 UINT id, 663 HGLRC hShareContext, 664 const(int)* attribList, 665 ); 666 alias PFN_wglDeleteAssociatedContextAMD = BOOL function ( 667 HGLRC hglrc, 668 ); 669 alias PFN_wglMakeAssociatedContextCurrentAMD = BOOL function ( 670 HGLRC hglrc, 671 ); 672 alias PFN_wglGetCurrentAssociatedContextAMD = HGLRC function (); 673 alias PFN_wglBlitContextFramebufferAMD = VOID function ( 674 HGLRC dstCtx, 675 GLint srcX0, 676 GLint srcY0, 677 GLint srcX1, 678 GLint srcY1, 679 GLint dstX0, 680 GLint dstY0, 681 GLint dstX1, 682 GLint dstY1, 683 GLbitfield mask, 684 GLenum filter, 685 ); 686 687 // Command pointers for WGL_EXT_display_color_table 688 alias PFN_wglCreateDisplayColorTableEXT = GLboolean function ( 689 GLushort id, 690 ); 691 alias PFN_wglLoadDisplayColorTableEXT = GLboolean function ( 692 const(GLushort)* table, 693 GLuint length, 694 ); 695 alias PFN_wglBindDisplayColorTableEXT = GLboolean function ( 696 GLushort id, 697 ); 698 alias PFN_wglDestroyDisplayColorTableEXT = VOID function ( 699 GLushort id, 700 ); 701 702 // Command pointers for WGL_EXT_extensions_string 703 alias PFN_wglGetExtensionsStringEXT = const(char)* function (); 704 705 // Command pointers for WGL_EXT_make_current_read 706 alias PFN_wglMakeContextCurrentEXT = BOOL function ( 707 HDC hDrawDC, 708 HDC hReadDC, 709 HGLRC hglrc, 710 ); 711 alias PFN_wglGetCurrentReadDCEXT = HDC function (); 712 713 // Command pointers for WGL_EXT_pbuffer 714 alias PFN_wglCreatePbufferEXT = HPBUFFEREXT function ( 715 HDC hDC, 716 int iPixelFormat, 717 int iWidth, 718 int iHeight, 719 const(int)* piAttribList, 720 ); 721 alias PFN_wglGetPbufferDCEXT = HDC function ( 722 HPBUFFEREXT hPbuffer, 723 ); 724 alias PFN_wglReleasePbufferDCEXT = int function ( 725 HPBUFFEREXT hPbuffer, 726 HDC hDC, 727 ); 728 alias PFN_wglDestroyPbufferEXT = BOOL function ( 729 HPBUFFEREXT hPbuffer, 730 ); 731 alias PFN_wglQueryPbufferEXT = BOOL function ( 732 HPBUFFEREXT hPbuffer, 733 int iAttribute, 734 int* piValue, 735 ); 736 737 // Command pointers for WGL_EXT_pixel_format 738 alias PFN_wglGetPixelFormatAttribivEXT = BOOL function ( 739 HDC hdc, 740 int iPixelFormat, 741 int iLayerPlane, 742 UINT nAttributes, 743 int* piAttributes, 744 int* piValues, 745 ); 746 alias PFN_wglGetPixelFormatAttribfvEXT = BOOL function ( 747 HDC hdc, 748 int iPixelFormat, 749 int iLayerPlane, 750 UINT nAttributes, 751 int* piAttributes, 752 FLOAT* pfValues, 753 ); 754 alias PFN_wglChoosePixelFormatEXT = BOOL function ( 755 HDC hdc, 756 const(int)* piAttribIList, 757 const(FLOAT)* pfAttribFList, 758 UINT nMaxFormats, 759 int* piFormats, 760 UINT* nNumFormats, 761 ); 762 763 // Command pointers for WGL_EXT_swap_control 764 alias PFN_wglSwapIntervalEXT = BOOL function ( 765 int interval, 766 ); 767 alias PFN_wglGetSwapIntervalEXT = int function (); 768 769 // Command pointers for WGL_I3D_digital_video_control 770 alias PFN_wglGetDigitalVideoParametersI3D = BOOL function ( 771 HDC hDC, 772 int iAttribute, 773 int* piValue, 774 ); 775 alias PFN_wglSetDigitalVideoParametersI3D = BOOL function ( 776 HDC hDC, 777 int iAttribute, 778 const(int)* piValue, 779 ); 780 781 // Command pointers for WGL_I3D_gamma 782 alias PFN_wglGetGammaTableParametersI3D = BOOL function ( 783 HDC hDC, 784 int iAttribute, 785 int* piValue, 786 ); 787 alias PFN_wglSetGammaTableParametersI3D = BOOL function ( 788 HDC hDC, 789 int iAttribute, 790 const(int)* piValue, 791 ); 792 alias PFN_wglGetGammaTableI3D = BOOL function ( 793 HDC hDC, 794 int iEntries, 795 USHORT* puRed, 796 USHORT* puGreen, 797 USHORT* puBlue, 798 ); 799 alias PFN_wglSetGammaTableI3D = BOOL function ( 800 HDC hDC, 801 int iEntries, 802 const(USHORT)* puRed, 803 const(USHORT)* puGreen, 804 const(USHORT)* puBlue, 805 ); 806 807 // Command pointers for WGL_I3D_genlock 808 alias PFN_wglEnableGenlockI3D = BOOL function ( 809 HDC hDC, 810 ); 811 alias PFN_wglDisableGenlockI3D = BOOL function ( 812 HDC hDC, 813 ); 814 alias PFN_wglIsEnabledGenlockI3D = BOOL function ( 815 HDC hDC, 816 BOOL* pFlag, 817 ); 818 alias PFN_wglGenlockSourceI3D = BOOL function ( 819 HDC hDC, 820 UINT uSource, 821 ); 822 alias PFN_wglGetGenlockSourceI3D = BOOL function ( 823 HDC hDC, 824 UINT* uSource, 825 ); 826 alias PFN_wglGenlockSourceEdgeI3D = BOOL function ( 827 HDC hDC, 828 UINT uEdge, 829 ); 830 alias PFN_wglGetGenlockSourceEdgeI3D = BOOL function ( 831 HDC hDC, 832 UINT* uEdge, 833 ); 834 alias PFN_wglGenlockSampleRateI3D = BOOL function ( 835 HDC hDC, 836 UINT uRate, 837 ); 838 alias PFN_wglGetGenlockSampleRateI3D = BOOL function ( 839 HDC hDC, 840 UINT* uRate, 841 ); 842 alias PFN_wglGenlockSourceDelayI3D = BOOL function ( 843 HDC hDC, 844 UINT uDelay, 845 ); 846 alias PFN_wglGetGenlockSourceDelayI3D = BOOL function ( 847 HDC hDC, 848 UINT* uDelay, 849 ); 850 alias PFN_wglQueryGenlockMaxSourceDelayI3D = BOOL function ( 851 HDC hDC, 852 UINT* uMaxLineDelay, 853 UINT* uMaxPixelDelay, 854 ); 855 856 // Command pointers for WGL_I3D_image_buffer 857 alias PFN_wglCreateImageBufferI3D = LPVOID function ( 858 HDC hDC, 859 DWORD dwSize, 860 UINT uFlags, 861 ); 862 alias PFN_wglDestroyImageBufferI3D = BOOL function ( 863 HDC hDC, 864 LPVOID pAddress, 865 ); 866 alias PFN_wglAssociateImageBufferEventsI3D = BOOL function ( 867 HDC hDC, 868 const(HANDLE)* pEvent, 869 const(LPVOID)* pAddress, 870 const(DWORD)* pSize, 871 UINT count, 872 ); 873 alias PFN_wglReleaseImageBufferEventsI3D = BOOL function ( 874 HDC hDC, 875 const(LPVOID)* pAddress, 876 UINT count, 877 ); 878 879 // Command pointers for WGL_I3D_swap_frame_lock 880 alias PFN_wglEnableFrameLockI3D = BOOL function (); 881 alias PFN_wglDisableFrameLockI3D = BOOL function (); 882 alias PFN_wglIsEnabledFrameLockI3D = BOOL function ( 883 BOOL* pFlag, 884 ); 885 alias PFN_wglQueryFrameLockMasterI3D = BOOL function ( 886 BOOL* pFlag, 887 ); 888 889 // Command pointers for WGL_I3D_swap_frame_usage 890 alias PFN_wglGetFrameUsageI3D = BOOL function ( 891 float* pUsage, 892 ); 893 alias PFN_wglBeginFrameTrackingI3D = BOOL function (); 894 alias PFN_wglEndFrameTrackingI3D = BOOL function (); 895 alias PFN_wglQueryFrameTrackingI3D = BOOL function ( 896 DWORD* pFrameCount, 897 DWORD* pMissedFrames, 898 float* pLastMissedUsage, 899 ); 900 901 // Command pointers for WGL_NV_DX_interop 902 alias PFN_wglDXSetResourceShareHandleNV = BOOL function ( 903 void* dxObject, 904 HANDLE shareHandle, 905 ); 906 alias PFN_wglDXOpenDeviceNV = HANDLE function ( 907 void* dxDevice, 908 ); 909 alias PFN_wglDXCloseDeviceNV = BOOL function ( 910 HANDLE hDevice, 911 ); 912 alias PFN_wglDXRegisterObjectNV = HANDLE function ( 913 HANDLE hDevice, 914 void* dxObject, 915 GLuint name, 916 GLenum type, 917 GLenum access, 918 ); 919 alias PFN_wglDXUnregisterObjectNV = BOOL function ( 920 HANDLE hDevice, 921 HANDLE hObject, 922 ); 923 alias PFN_wglDXObjectAccessNV = BOOL function ( 924 HANDLE hObject, 925 GLenum access, 926 ); 927 alias PFN_wglDXLockObjectsNV = BOOL function ( 928 HANDLE hDevice, 929 GLint count, 930 HANDLE* hObjects, 931 ); 932 alias PFN_wglDXUnlockObjectsNV = BOOL function ( 933 HANDLE hDevice, 934 GLint count, 935 HANDLE* hObjects, 936 ); 937 938 // Command pointers for WGL_NV_copy_image 939 alias PFN_wglCopyImageSubDataNV = BOOL function ( 940 HGLRC hSrcRC, 941 GLuint srcName, 942 GLenum srcTarget, 943 GLint srcLevel, 944 GLint srcX, 945 GLint srcY, 946 GLint srcZ, 947 HGLRC hDstRC, 948 GLuint dstName, 949 GLenum dstTarget, 950 GLint dstLevel, 951 GLint dstX, 952 GLint dstY, 953 GLint dstZ, 954 GLsizei width, 955 GLsizei height, 956 GLsizei depth, 957 ); 958 959 // Command pointers for WGL_NV_delay_before_swap 960 alias PFN_wglDelayBeforeSwapNV = BOOL function ( 961 HDC hDC, 962 GLfloat seconds, 963 ); 964 965 // Command pointers for WGL_NV_gpu_affinity 966 alias PFN_wglEnumGpusNV = BOOL function ( 967 UINT iGpuIndex, 968 HGPUNV* phGpu, 969 ); 970 alias PFN_wglEnumGpuDevicesNV = BOOL function ( 971 HGPUNV hGpu, 972 UINT iDeviceIndex, 973 PGPU_DEVICE lpGpuDevice, 974 ); 975 alias PFN_wglCreateAffinityDCNV = HDC function ( 976 const(HGPUNV)* phGpuList, 977 ); 978 alias PFN_wglEnumGpusFromAffinityDCNV = BOOL function ( 979 HDC hAffinityDC, 980 UINT iGpuIndex, 981 HGPUNV* hGpu, 982 ); 983 alias PFN_wglDeleteDCNV = BOOL function ( 984 HDC hdc, 985 ); 986 987 // Command pointers for WGL_NV_present_video 988 alias PFN_wglEnumerateVideoDevicesNV = int function ( 989 HDC hDC, 990 HVIDEOOUTPUTDEVICENV* phDeviceList, 991 ); 992 alias PFN_wglBindVideoDeviceNV = BOOL function ( 993 HDC hDC, 994 uint uVideoSlot, 995 HVIDEOOUTPUTDEVICENV hVideoDevice, 996 const(int)* piAttribList, 997 ); 998 alias PFN_wglQueryCurrentContextNV = BOOL function ( 999 int iAttribute, 1000 int* piValue, 1001 ); 1002 1003 // Command pointers for WGL_NV_swap_group 1004 alias PFN_wglJoinSwapGroupNV = BOOL function ( 1005 HDC hDC, 1006 GLuint group, 1007 ); 1008 alias PFN_wglBindSwapBarrierNV = BOOL function ( 1009 GLuint group, 1010 GLuint barrier, 1011 ); 1012 alias PFN_wglQuerySwapGroupNV = BOOL function ( 1013 HDC hDC, 1014 GLuint* group, 1015 GLuint* barrier, 1016 ); 1017 alias PFN_wglQueryMaxSwapGroupsNV = BOOL function ( 1018 HDC hDC, 1019 GLuint* maxGroups, 1020 GLuint* maxBarriers, 1021 ); 1022 alias PFN_wglQueryFrameCountNV = BOOL function ( 1023 HDC hDC, 1024 GLuint* count, 1025 ); 1026 alias PFN_wglResetFrameCountNV = BOOL function ( 1027 HDC hDC, 1028 ); 1029 1030 // Command pointers for WGL_NV_vertex_array_range 1031 alias PFN_wglAllocateMemoryNV = void * function ( 1032 GLsizei size, 1033 GLfloat readfreq, 1034 GLfloat writefreq, 1035 GLfloat priority, 1036 ); 1037 alias PFN_wglFreeMemoryNV = void function ( 1038 void* pointer, 1039 ); 1040 1041 // Command pointers for WGL_NV_video_capture 1042 alias PFN_wglBindVideoCaptureDeviceNV = BOOL function ( 1043 UINT uVideoSlot, 1044 HVIDEOINPUTDEVICENV hDevice, 1045 ); 1046 alias PFN_wglEnumerateVideoCaptureDevicesNV = UINT function ( 1047 HDC hDc, 1048 HVIDEOINPUTDEVICENV* phDeviceList, 1049 ); 1050 alias PFN_wglLockVideoCaptureDeviceNV = BOOL function ( 1051 HDC hDc, 1052 HVIDEOINPUTDEVICENV hDevice, 1053 ); 1054 alias PFN_wglQueryVideoCaptureDeviceNV = BOOL function ( 1055 HDC hDc, 1056 HVIDEOINPUTDEVICENV hDevice, 1057 int iAttribute, 1058 int* piValue, 1059 ); 1060 alias PFN_wglReleaseVideoCaptureDeviceNV = BOOL function ( 1061 HDC hDc, 1062 HVIDEOINPUTDEVICENV hDevice, 1063 ); 1064 1065 // Command pointers for WGL_NV_video_output 1066 alias PFN_wglGetVideoDeviceNV = BOOL function ( 1067 HDC hDC, 1068 int numDevices, 1069 HPVIDEODEV* hVideoDevice, 1070 ); 1071 alias PFN_wglReleaseVideoDeviceNV = BOOL function ( 1072 HPVIDEODEV hVideoDevice, 1073 ); 1074 alias PFN_wglBindVideoImageNV = BOOL function ( 1075 HPVIDEODEV hVideoDevice, 1076 HPBUFFERARB hPbuffer, 1077 int iVideoBuffer, 1078 ); 1079 alias PFN_wglReleaseVideoImageNV = BOOL function ( 1080 HPBUFFERARB hPbuffer, 1081 int iVideoBuffer, 1082 ); 1083 alias PFN_wglSendPbufferToVideoNV = BOOL function ( 1084 HPBUFFERARB hPbuffer, 1085 int iBufferType, 1086 c_ulong* pulCounterPbuffer, 1087 BOOL bBlock, 1088 ); 1089 alias PFN_wglGetVideoInfoNV = BOOL function ( 1090 HPVIDEODEV hpVideoDevice, 1091 c_ulong* pulCounterOutputPbuffer, 1092 c_ulong* pulCounterOutputVideo, 1093 ); 1094 1095 // Command pointers for WGL_OML_sync_control 1096 alias PFN_wglGetSyncValuesOML = BOOL function ( 1097 HDC hdc, 1098 INT64* ust, 1099 INT64* msc, 1100 INT64* sbc, 1101 ); 1102 alias PFN_wglGetMscRateOML = BOOL function ( 1103 HDC hdc, 1104 INT32* numerator, 1105 INT32* denominator, 1106 ); 1107 alias PFN_wglSwapBuffersMscOML = INT64 function ( 1108 HDC hdc, 1109 INT64 target_msc, 1110 INT64 divisor, 1111 INT64 remainder, 1112 ); 1113 alias PFN_wglSwapLayerBuffersMscOML = INT64 function ( 1114 HDC hdc, 1115 int fuPlanes, 1116 INT64 target_msc, 1117 INT64 divisor, 1118 INT64 remainder, 1119 ); 1120 alias PFN_wglWaitForMscOML = BOOL function ( 1121 HDC hdc, 1122 INT64 target_msc, 1123 INT64 divisor, 1124 INT64 remainder, 1125 INT64* ust, 1126 INT64* msc, 1127 INT64* sbc, 1128 ); 1129 alias PFN_wglWaitForSbcOML = BOOL function ( 1130 HDC hdc, 1131 INT64 target_sbc, 1132 INT64* ust, 1133 INT64* msc, 1134 INT64* sbc, 1135 ); 1136 } 1137 1138 /// WglVersion describes the version of WinGL 1139 enum WglVersion { 1140 wgl10 = 10, 1141 } 1142 1143 /// WinGL loader base class 1144 final class Wgl { 1145 this(SymbolLoader loader) { 1146 1147 // WGL_VERSION_1_0 1148 _CopyContext = cast(PFN_wglCopyContext)loadSymbol(loader, "wglCopyContext", []); 1149 _CreateContext = cast(PFN_wglCreateContext)loadSymbol(loader, "wglCreateContext", []); 1150 _CreateLayerContext = cast(PFN_wglCreateLayerContext)loadSymbol(loader, "wglCreateLayerContext", []); 1151 _DeleteContext = cast(PFN_wglDeleteContext)loadSymbol(loader, "wglDeleteContext", []); 1152 _DescribeLayerPlane = cast(PFN_wglDescribeLayerPlane)loadSymbol(loader, "wglDescribeLayerPlane", []); 1153 _GetCurrentContext = cast(PFN_wglGetCurrentContext)loadSymbol(loader, "wglGetCurrentContext", []); 1154 _GetCurrentDC = cast(PFN_wglGetCurrentDC)loadSymbol(loader, "wglGetCurrentDC", []); 1155 _GetLayerPaletteEntries = cast(PFN_wglGetLayerPaletteEntries)loadSymbol(loader, "wglGetLayerPaletteEntries", []); 1156 _GetProcAddress = cast(PFN_wglGetProcAddress)loadSymbol(loader, "wglGetProcAddress", []); 1157 _MakeCurrent = cast(PFN_wglMakeCurrent)loadSymbol(loader, "wglMakeCurrent", []); 1158 _RealizeLayerPalette = cast(PFN_wglRealizeLayerPalette)loadSymbol(loader, "wglRealizeLayerPalette", []); 1159 _SetLayerPaletteEntries = cast(PFN_wglSetLayerPaletteEntries)loadSymbol(loader, "wglSetLayerPaletteEntries", []); 1160 _ShareLists = cast(PFN_wglShareLists)loadSymbol(loader, "wglShareLists", []); 1161 _SwapLayerBuffers = cast(PFN_wglSwapLayerBuffers)loadSymbol(loader, "wglSwapLayerBuffers", []); 1162 _UseFontBitmaps = cast(PFN_wglUseFontBitmaps)loadSymbol(loader, "wglUseFontBitmaps", []); 1163 _UseFontBitmapsA = cast(PFN_wglUseFontBitmapsA)loadSymbol(loader, "wglUseFontBitmapsA", []); 1164 _UseFontBitmapsW = cast(PFN_wglUseFontBitmapsW)loadSymbol(loader, "wglUseFontBitmapsW", []); 1165 _UseFontOutlines = cast(PFN_wglUseFontOutlines)loadSymbol(loader, "wglUseFontOutlines", []); 1166 _UseFontOutlinesA = cast(PFN_wglUseFontOutlinesA)loadSymbol(loader, "wglUseFontOutlinesA", []); 1167 _UseFontOutlinesW = cast(PFN_wglUseFontOutlinesW)loadSymbol(loader, "wglUseFontOutlinesW", []); 1168 1169 // WGL_ARB_buffer_region, 1170 _CreateBufferRegionARB = cast(PFN_wglCreateBufferRegionARB)loadSymbol(loader, "wglCreateBufferRegionARB", []); 1171 _DeleteBufferRegionARB = cast(PFN_wglDeleteBufferRegionARB)loadSymbol(loader, "wglDeleteBufferRegionARB", []); 1172 _SaveBufferRegionARB = cast(PFN_wglSaveBufferRegionARB)loadSymbol(loader, "wglSaveBufferRegionARB", []); 1173 _RestoreBufferRegionARB = cast(PFN_wglRestoreBufferRegionARB)loadSymbol(loader, "wglRestoreBufferRegionARB", []); 1174 1175 // WGL_ARB_create_context, 1176 _CreateContextAttribsARB = cast(PFN_wglCreateContextAttribsARB)loadSymbol(loader, "wglCreateContextAttribsARB", []); 1177 1178 // WGL_ARB_extensions_string, 1179 _GetExtensionsStringARB = cast(PFN_wglGetExtensionsStringARB)loadSymbol(loader, "wglGetExtensionsStringARB", []); 1180 1181 // WGL_ARB_make_current_read, 1182 _MakeContextCurrentARB = cast(PFN_wglMakeContextCurrentARB)loadSymbol(loader, "wglMakeContextCurrentARB", []); 1183 _GetCurrentReadDCARB = cast(PFN_wglGetCurrentReadDCARB)loadSymbol(loader, "wglGetCurrentReadDCARB", []); 1184 1185 // WGL_ARB_pbuffer, 1186 _CreatePbufferARB = cast(PFN_wglCreatePbufferARB)loadSymbol(loader, "wglCreatePbufferARB", []); 1187 _GetPbufferDCARB = cast(PFN_wglGetPbufferDCARB)loadSymbol(loader, "wglGetPbufferDCARB", []); 1188 _ReleasePbufferDCARB = cast(PFN_wglReleasePbufferDCARB)loadSymbol(loader, "wglReleasePbufferDCARB", []); 1189 _DestroyPbufferARB = cast(PFN_wglDestroyPbufferARB)loadSymbol(loader, "wglDestroyPbufferARB", []); 1190 _QueryPbufferARB = cast(PFN_wglQueryPbufferARB)loadSymbol(loader, "wglQueryPbufferARB", []); 1191 1192 // WGL_ARB_pixel_format, 1193 _GetPixelFormatAttribivARB = cast(PFN_wglGetPixelFormatAttribivARB)loadSymbol(loader, "wglGetPixelFormatAttribivARB", []); 1194 _GetPixelFormatAttribfvARB = cast(PFN_wglGetPixelFormatAttribfvARB)loadSymbol(loader, "wglGetPixelFormatAttribfvARB", []); 1195 _ChoosePixelFormatARB = cast(PFN_wglChoosePixelFormatARB)loadSymbol(loader, "wglChoosePixelFormatARB", []); 1196 1197 // WGL_ARB_render_texture, 1198 _BindTexImageARB = cast(PFN_wglBindTexImageARB)loadSymbol(loader, "wglBindTexImageARB", []); 1199 _ReleaseTexImageARB = cast(PFN_wglReleaseTexImageARB)loadSymbol(loader, "wglReleaseTexImageARB", []); 1200 _SetPbufferAttribARB = cast(PFN_wglSetPbufferAttribARB)loadSymbol(loader, "wglSetPbufferAttribARB", []); 1201 1202 // WGL_3DL_stereo_control, 1203 _SetStereoEmitterState3DL = cast(PFN_wglSetStereoEmitterState3DL)loadSymbol(loader, "wglSetStereoEmitterState3DL", []); 1204 1205 // WGL_AMD_gpu_association, 1206 _GetGPUIDsAMD = cast(PFN_wglGetGPUIDsAMD)loadSymbol(loader, "wglGetGPUIDsAMD", []); 1207 _GetGPUInfoAMD = cast(PFN_wglGetGPUInfoAMD)loadSymbol(loader, "wglGetGPUInfoAMD", []); 1208 _GetContextGPUIDAMD = cast(PFN_wglGetContextGPUIDAMD)loadSymbol(loader, "wglGetContextGPUIDAMD", []); 1209 _CreateAssociatedContextAMD = cast(PFN_wglCreateAssociatedContextAMD)loadSymbol(loader, "wglCreateAssociatedContextAMD", []); 1210 _CreateAssociatedContextAttribsAMD = cast(PFN_wglCreateAssociatedContextAttribsAMD)loadSymbol(loader, "wglCreateAssociatedContextAttribsAMD", []); 1211 _DeleteAssociatedContextAMD = cast(PFN_wglDeleteAssociatedContextAMD)loadSymbol(loader, "wglDeleteAssociatedContextAMD", []); 1212 _MakeAssociatedContextCurrentAMD = cast(PFN_wglMakeAssociatedContextCurrentAMD)loadSymbol(loader, "wglMakeAssociatedContextCurrentAMD", []); 1213 _GetCurrentAssociatedContextAMD = cast(PFN_wglGetCurrentAssociatedContextAMD)loadSymbol(loader, "wglGetCurrentAssociatedContextAMD", []); 1214 _BlitContextFramebufferAMD = cast(PFN_wglBlitContextFramebufferAMD)loadSymbol(loader, "wglBlitContextFramebufferAMD", []); 1215 1216 // WGL_EXT_display_color_table, 1217 _CreateDisplayColorTableEXT = cast(PFN_wglCreateDisplayColorTableEXT)loadSymbol(loader, "wglCreateDisplayColorTableEXT", []); 1218 _LoadDisplayColorTableEXT = cast(PFN_wglLoadDisplayColorTableEXT)loadSymbol(loader, "wglLoadDisplayColorTableEXT", []); 1219 _BindDisplayColorTableEXT = cast(PFN_wglBindDisplayColorTableEXT)loadSymbol(loader, "wglBindDisplayColorTableEXT", []); 1220 _DestroyDisplayColorTableEXT = cast(PFN_wglDestroyDisplayColorTableEXT)loadSymbol(loader, "wglDestroyDisplayColorTableEXT", []); 1221 1222 // WGL_EXT_extensions_string, 1223 _GetExtensionsStringEXT = cast(PFN_wglGetExtensionsStringEXT)loadSymbol(loader, "wglGetExtensionsStringEXT", []); 1224 1225 // WGL_EXT_make_current_read, 1226 _MakeContextCurrentEXT = cast(PFN_wglMakeContextCurrentEXT)loadSymbol(loader, "wglMakeContextCurrentEXT", []); 1227 _GetCurrentReadDCEXT = cast(PFN_wglGetCurrentReadDCEXT)loadSymbol(loader, "wglGetCurrentReadDCEXT", []); 1228 1229 // WGL_EXT_pbuffer, 1230 _CreatePbufferEXT = cast(PFN_wglCreatePbufferEXT)loadSymbol(loader, "wglCreatePbufferEXT", []); 1231 _GetPbufferDCEXT = cast(PFN_wglGetPbufferDCEXT)loadSymbol(loader, "wglGetPbufferDCEXT", []); 1232 _ReleasePbufferDCEXT = cast(PFN_wglReleasePbufferDCEXT)loadSymbol(loader, "wglReleasePbufferDCEXT", []); 1233 _DestroyPbufferEXT = cast(PFN_wglDestroyPbufferEXT)loadSymbol(loader, "wglDestroyPbufferEXT", []); 1234 _QueryPbufferEXT = cast(PFN_wglQueryPbufferEXT)loadSymbol(loader, "wglQueryPbufferEXT", []); 1235 1236 // WGL_EXT_pixel_format, 1237 _GetPixelFormatAttribivEXT = cast(PFN_wglGetPixelFormatAttribivEXT)loadSymbol(loader, "wglGetPixelFormatAttribivEXT", []); 1238 _GetPixelFormatAttribfvEXT = cast(PFN_wglGetPixelFormatAttribfvEXT)loadSymbol(loader, "wglGetPixelFormatAttribfvEXT", []); 1239 _ChoosePixelFormatEXT = cast(PFN_wglChoosePixelFormatEXT)loadSymbol(loader, "wglChoosePixelFormatEXT", []); 1240 1241 // WGL_EXT_swap_control, 1242 _SwapIntervalEXT = cast(PFN_wglSwapIntervalEXT)loadSymbol(loader, "wglSwapIntervalEXT", []); 1243 _GetSwapIntervalEXT = cast(PFN_wglGetSwapIntervalEXT)loadSymbol(loader, "wglGetSwapIntervalEXT", []); 1244 1245 // WGL_I3D_digital_video_control, 1246 _GetDigitalVideoParametersI3D = cast(PFN_wglGetDigitalVideoParametersI3D)loadSymbol(loader, "wglGetDigitalVideoParametersI3D", []); 1247 _SetDigitalVideoParametersI3D = cast(PFN_wglSetDigitalVideoParametersI3D)loadSymbol(loader, "wglSetDigitalVideoParametersI3D", []); 1248 1249 // WGL_I3D_gamma, 1250 _GetGammaTableParametersI3D = cast(PFN_wglGetGammaTableParametersI3D)loadSymbol(loader, "wglGetGammaTableParametersI3D", []); 1251 _SetGammaTableParametersI3D = cast(PFN_wglSetGammaTableParametersI3D)loadSymbol(loader, "wglSetGammaTableParametersI3D", []); 1252 _GetGammaTableI3D = cast(PFN_wglGetGammaTableI3D)loadSymbol(loader, "wglGetGammaTableI3D", []); 1253 _SetGammaTableI3D = cast(PFN_wglSetGammaTableI3D)loadSymbol(loader, "wglSetGammaTableI3D", []); 1254 1255 // WGL_I3D_genlock, 1256 _EnableGenlockI3D = cast(PFN_wglEnableGenlockI3D)loadSymbol(loader, "wglEnableGenlockI3D", []); 1257 _DisableGenlockI3D = cast(PFN_wglDisableGenlockI3D)loadSymbol(loader, "wglDisableGenlockI3D", []); 1258 _IsEnabledGenlockI3D = cast(PFN_wglIsEnabledGenlockI3D)loadSymbol(loader, "wglIsEnabledGenlockI3D", []); 1259 _GenlockSourceI3D = cast(PFN_wglGenlockSourceI3D)loadSymbol(loader, "wglGenlockSourceI3D", []); 1260 _GetGenlockSourceI3D = cast(PFN_wglGetGenlockSourceI3D)loadSymbol(loader, "wglGetGenlockSourceI3D", []); 1261 _GenlockSourceEdgeI3D = cast(PFN_wglGenlockSourceEdgeI3D)loadSymbol(loader, "wglGenlockSourceEdgeI3D", []); 1262 _GetGenlockSourceEdgeI3D = cast(PFN_wglGetGenlockSourceEdgeI3D)loadSymbol(loader, "wglGetGenlockSourceEdgeI3D", []); 1263 _GenlockSampleRateI3D = cast(PFN_wglGenlockSampleRateI3D)loadSymbol(loader, "wglGenlockSampleRateI3D", []); 1264 _GetGenlockSampleRateI3D = cast(PFN_wglGetGenlockSampleRateI3D)loadSymbol(loader, "wglGetGenlockSampleRateI3D", []); 1265 _GenlockSourceDelayI3D = cast(PFN_wglGenlockSourceDelayI3D)loadSymbol(loader, "wglGenlockSourceDelayI3D", []); 1266 _GetGenlockSourceDelayI3D = cast(PFN_wglGetGenlockSourceDelayI3D)loadSymbol(loader, "wglGetGenlockSourceDelayI3D", []); 1267 _QueryGenlockMaxSourceDelayI3D = cast(PFN_wglQueryGenlockMaxSourceDelayI3D)loadSymbol(loader, "wglQueryGenlockMaxSourceDelayI3D", []); 1268 1269 // WGL_I3D_image_buffer, 1270 _CreateImageBufferI3D = cast(PFN_wglCreateImageBufferI3D)loadSymbol(loader, "wglCreateImageBufferI3D", []); 1271 _DestroyImageBufferI3D = cast(PFN_wglDestroyImageBufferI3D)loadSymbol(loader, "wglDestroyImageBufferI3D", []); 1272 _AssociateImageBufferEventsI3D = cast(PFN_wglAssociateImageBufferEventsI3D)loadSymbol(loader, "wglAssociateImageBufferEventsI3D", []); 1273 _ReleaseImageBufferEventsI3D = cast(PFN_wglReleaseImageBufferEventsI3D)loadSymbol(loader, "wglReleaseImageBufferEventsI3D", []); 1274 1275 // WGL_I3D_swap_frame_lock, 1276 _EnableFrameLockI3D = cast(PFN_wglEnableFrameLockI3D)loadSymbol(loader, "wglEnableFrameLockI3D", []); 1277 _DisableFrameLockI3D = cast(PFN_wglDisableFrameLockI3D)loadSymbol(loader, "wglDisableFrameLockI3D", []); 1278 _IsEnabledFrameLockI3D = cast(PFN_wglIsEnabledFrameLockI3D)loadSymbol(loader, "wglIsEnabledFrameLockI3D", []); 1279 _QueryFrameLockMasterI3D = cast(PFN_wglQueryFrameLockMasterI3D)loadSymbol(loader, "wglQueryFrameLockMasterI3D", []); 1280 1281 // WGL_I3D_swap_frame_usage, 1282 _GetFrameUsageI3D = cast(PFN_wglGetFrameUsageI3D)loadSymbol(loader, "wglGetFrameUsageI3D", []); 1283 _BeginFrameTrackingI3D = cast(PFN_wglBeginFrameTrackingI3D)loadSymbol(loader, "wglBeginFrameTrackingI3D", []); 1284 _EndFrameTrackingI3D = cast(PFN_wglEndFrameTrackingI3D)loadSymbol(loader, "wglEndFrameTrackingI3D", []); 1285 _QueryFrameTrackingI3D = cast(PFN_wglQueryFrameTrackingI3D)loadSymbol(loader, "wglQueryFrameTrackingI3D", []); 1286 1287 // WGL_NV_DX_interop, 1288 _DXSetResourceShareHandleNV = cast(PFN_wglDXSetResourceShareHandleNV)loadSymbol(loader, "wglDXSetResourceShareHandleNV", []); 1289 _DXOpenDeviceNV = cast(PFN_wglDXOpenDeviceNV)loadSymbol(loader, "wglDXOpenDeviceNV", []); 1290 _DXCloseDeviceNV = cast(PFN_wglDXCloseDeviceNV)loadSymbol(loader, "wglDXCloseDeviceNV", []); 1291 _DXRegisterObjectNV = cast(PFN_wglDXRegisterObjectNV)loadSymbol(loader, "wglDXRegisterObjectNV", []); 1292 _DXUnregisterObjectNV = cast(PFN_wglDXUnregisterObjectNV)loadSymbol(loader, "wglDXUnregisterObjectNV", []); 1293 _DXObjectAccessNV = cast(PFN_wglDXObjectAccessNV)loadSymbol(loader, "wglDXObjectAccessNV", []); 1294 _DXLockObjectsNV = cast(PFN_wglDXLockObjectsNV)loadSymbol(loader, "wglDXLockObjectsNV", []); 1295 _DXUnlockObjectsNV = cast(PFN_wglDXUnlockObjectsNV)loadSymbol(loader, "wglDXUnlockObjectsNV", []); 1296 1297 // WGL_NV_copy_image, 1298 _CopyImageSubDataNV = cast(PFN_wglCopyImageSubDataNV)loadSymbol(loader, "wglCopyImageSubDataNV", []); 1299 1300 // WGL_NV_delay_before_swap, 1301 _DelayBeforeSwapNV = cast(PFN_wglDelayBeforeSwapNV)loadSymbol(loader, "wglDelayBeforeSwapNV", []); 1302 1303 // WGL_NV_gpu_affinity, 1304 _EnumGpusNV = cast(PFN_wglEnumGpusNV)loadSymbol(loader, "wglEnumGpusNV", []); 1305 _EnumGpuDevicesNV = cast(PFN_wglEnumGpuDevicesNV)loadSymbol(loader, "wglEnumGpuDevicesNV", []); 1306 _CreateAffinityDCNV = cast(PFN_wglCreateAffinityDCNV)loadSymbol(loader, "wglCreateAffinityDCNV", []); 1307 _EnumGpusFromAffinityDCNV = cast(PFN_wglEnumGpusFromAffinityDCNV)loadSymbol(loader, "wglEnumGpusFromAffinityDCNV", []); 1308 _DeleteDCNV = cast(PFN_wglDeleteDCNV)loadSymbol(loader, "wglDeleteDCNV", []); 1309 1310 // WGL_NV_present_video, 1311 _EnumerateVideoDevicesNV = cast(PFN_wglEnumerateVideoDevicesNV)loadSymbol(loader, "wglEnumerateVideoDevicesNV", []); 1312 _BindVideoDeviceNV = cast(PFN_wglBindVideoDeviceNV)loadSymbol(loader, "wglBindVideoDeviceNV", []); 1313 _QueryCurrentContextNV = cast(PFN_wglQueryCurrentContextNV)loadSymbol(loader, "wglQueryCurrentContextNV", []); 1314 1315 // WGL_NV_swap_group, 1316 _JoinSwapGroupNV = cast(PFN_wglJoinSwapGroupNV)loadSymbol(loader, "wglJoinSwapGroupNV", []); 1317 _BindSwapBarrierNV = cast(PFN_wglBindSwapBarrierNV)loadSymbol(loader, "wglBindSwapBarrierNV", []); 1318 _QuerySwapGroupNV = cast(PFN_wglQuerySwapGroupNV)loadSymbol(loader, "wglQuerySwapGroupNV", []); 1319 _QueryMaxSwapGroupsNV = cast(PFN_wglQueryMaxSwapGroupsNV)loadSymbol(loader, "wglQueryMaxSwapGroupsNV", []); 1320 _QueryFrameCountNV = cast(PFN_wglQueryFrameCountNV)loadSymbol(loader, "wglQueryFrameCountNV", []); 1321 _ResetFrameCountNV = cast(PFN_wglResetFrameCountNV)loadSymbol(loader, "wglResetFrameCountNV", []); 1322 1323 // WGL_NV_vertex_array_range, 1324 _AllocateMemoryNV = cast(PFN_wglAllocateMemoryNV)loadSymbol(loader, "wglAllocateMemoryNV", []); 1325 _FreeMemoryNV = cast(PFN_wglFreeMemoryNV)loadSymbol(loader, "wglFreeMemoryNV", []); 1326 1327 // WGL_NV_video_capture, 1328 _BindVideoCaptureDeviceNV = cast(PFN_wglBindVideoCaptureDeviceNV)loadSymbol(loader, "wglBindVideoCaptureDeviceNV", []); 1329 _EnumerateVideoCaptureDevicesNV = cast(PFN_wglEnumerateVideoCaptureDevicesNV)loadSymbol(loader, "wglEnumerateVideoCaptureDevicesNV", []); 1330 _LockVideoCaptureDeviceNV = cast(PFN_wglLockVideoCaptureDeviceNV)loadSymbol(loader, "wglLockVideoCaptureDeviceNV", []); 1331 _QueryVideoCaptureDeviceNV = cast(PFN_wglQueryVideoCaptureDeviceNV)loadSymbol(loader, "wglQueryVideoCaptureDeviceNV", []); 1332 _ReleaseVideoCaptureDeviceNV = cast(PFN_wglReleaseVideoCaptureDeviceNV)loadSymbol(loader, "wglReleaseVideoCaptureDeviceNV", []); 1333 1334 // WGL_NV_video_output, 1335 _GetVideoDeviceNV = cast(PFN_wglGetVideoDeviceNV)loadSymbol(loader, "wglGetVideoDeviceNV", []); 1336 _ReleaseVideoDeviceNV = cast(PFN_wglReleaseVideoDeviceNV)loadSymbol(loader, "wglReleaseVideoDeviceNV", []); 1337 _BindVideoImageNV = cast(PFN_wglBindVideoImageNV)loadSymbol(loader, "wglBindVideoImageNV", []); 1338 _ReleaseVideoImageNV = cast(PFN_wglReleaseVideoImageNV)loadSymbol(loader, "wglReleaseVideoImageNV", []); 1339 _SendPbufferToVideoNV = cast(PFN_wglSendPbufferToVideoNV)loadSymbol(loader, "wglSendPbufferToVideoNV", []); 1340 _GetVideoInfoNV = cast(PFN_wglGetVideoInfoNV)loadSymbol(loader, "wglGetVideoInfoNV", []); 1341 1342 // WGL_OML_sync_control, 1343 _GetSyncValuesOML = cast(PFN_wglGetSyncValuesOML)loadSymbol(loader, "wglGetSyncValuesOML", []); 1344 _GetMscRateOML = cast(PFN_wglGetMscRateOML)loadSymbol(loader, "wglGetMscRateOML", []); 1345 _SwapBuffersMscOML = cast(PFN_wglSwapBuffersMscOML)loadSymbol(loader, "wglSwapBuffersMscOML", []); 1346 _SwapLayerBuffersMscOML = cast(PFN_wglSwapLayerBuffersMscOML)loadSymbol(loader, "wglSwapLayerBuffersMscOML", []); 1347 _WaitForMscOML = cast(PFN_wglWaitForMscOML)loadSymbol(loader, "wglWaitForMscOML", []); 1348 _WaitForSbcOML = cast(PFN_wglWaitForSbcOML)loadSymbol(loader, "wglWaitForSbcOML", []); 1349 } 1350 1351 private static void* loadSymbol(SymbolLoader loader, in string name, in string[] aliases) { 1352 void* sym = loader(name); 1353 if (sym) return sym; 1354 foreach (n; aliases) { 1355 sym = loader(n); 1356 if (sym) return sym; 1357 } 1358 return null; 1359 } 1360 1361 /// Commands for WGL_VERSION_1_0 1362 public BOOL CopyContext (HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask) const { 1363 assert(_CopyContext !is null, "WinGL command wglCopyContext was not loaded"); 1364 return _CopyContext (hglrcSrc, hglrcDst, mask); 1365 } 1366 /// ditto 1367 public HGLRC CreateContext (HDC hDc) const { 1368 assert(_CreateContext !is null, "WinGL command wglCreateContext was not loaded"); 1369 return _CreateContext (hDc); 1370 } 1371 /// ditto 1372 public HGLRC CreateLayerContext (HDC hDc, int level) const { 1373 assert(_CreateLayerContext !is null, "WinGL command wglCreateLayerContext was not loaded"); 1374 return _CreateLayerContext (hDc, level); 1375 } 1376 /// ditto 1377 public BOOL DeleteContext (HGLRC oldContext) const { 1378 assert(_DeleteContext !is null, "WinGL command wglDeleteContext was not loaded"); 1379 return _DeleteContext (oldContext); 1380 } 1381 /// ditto 1382 public BOOL DescribeLayerPlane (HDC hDc, int pixelFormat, int layerPlane, UINT nBytes, const(LAYERPLANEDESCRIPTOR)* plpd) const { 1383 assert(_DescribeLayerPlane !is null, "WinGL command wglDescribeLayerPlane was not loaded"); 1384 return _DescribeLayerPlane (hDc, pixelFormat, layerPlane, nBytes, plpd); 1385 } 1386 /// ditto 1387 public HGLRC GetCurrentContext () const { 1388 assert(_GetCurrentContext !is null, "WinGL command wglGetCurrentContext was not loaded"); 1389 return _GetCurrentContext (); 1390 } 1391 /// ditto 1392 public HDC GetCurrentDC () const { 1393 assert(_GetCurrentDC !is null, "WinGL command wglGetCurrentDC was not loaded"); 1394 return _GetCurrentDC (); 1395 } 1396 /// ditto 1397 public int GetLayerPaletteEntries (HDC hdc, int iLayerPlane, int iStart, int cEntries, const(COLORREF)* pcr) const { 1398 assert(_GetLayerPaletteEntries !is null, "WinGL command wglGetLayerPaletteEntries was not loaded"); 1399 return _GetLayerPaletteEntries (hdc, iLayerPlane, iStart, cEntries, pcr); 1400 } 1401 /// ditto 1402 public PROC GetProcAddress (LPCSTR lpszProc) const { 1403 assert(_GetProcAddress !is null, "WinGL command wglGetProcAddress was not loaded"); 1404 return _GetProcAddress (lpszProc); 1405 } 1406 /// ditto 1407 public BOOL MakeCurrent (HDC hDc, HGLRC newContext) const { 1408 assert(_MakeCurrent !is null, "WinGL command wglMakeCurrent was not loaded"); 1409 return _MakeCurrent (hDc, newContext); 1410 } 1411 /// ditto 1412 public BOOL RealizeLayerPalette (HDC hdc, int iLayerPlane, BOOL bRealize) const { 1413 assert(_RealizeLayerPalette !is null, "WinGL command wglRealizeLayerPalette was not loaded"); 1414 return _RealizeLayerPalette (hdc, iLayerPlane, bRealize); 1415 } 1416 /// ditto 1417 public int SetLayerPaletteEntries (HDC hdc, int iLayerPlane, int iStart, int cEntries, const(COLORREF)* pcr) const { 1418 assert(_SetLayerPaletteEntries !is null, "WinGL command wglSetLayerPaletteEntries was not loaded"); 1419 return _SetLayerPaletteEntries (hdc, iLayerPlane, iStart, cEntries, pcr); 1420 } 1421 /// ditto 1422 public BOOL ShareLists (HGLRC hrcSrvShare, HGLRC hrcSrvSource) const { 1423 assert(_ShareLists !is null, "WinGL command wglShareLists was not loaded"); 1424 return _ShareLists (hrcSrvShare, hrcSrvSource); 1425 } 1426 /// ditto 1427 public BOOL SwapLayerBuffers (HDC hdc, UINT fuFlags) const { 1428 assert(_SwapLayerBuffers !is null, "WinGL command wglSwapLayerBuffers was not loaded"); 1429 return _SwapLayerBuffers (hdc, fuFlags); 1430 } 1431 /// ditto 1432 public BOOL UseFontBitmaps (HDC hDC, DWORD first, DWORD count, DWORD listBase) const { 1433 assert(_UseFontBitmaps !is null, "WinGL command wglUseFontBitmaps was not loaded"); 1434 return _UseFontBitmaps (hDC, first, count, listBase); 1435 } 1436 /// ditto 1437 public BOOL UseFontBitmapsA (HDC hDC, DWORD first, DWORD count, DWORD listBase) const { 1438 assert(_UseFontBitmapsA !is null, "WinGL command wglUseFontBitmapsA was not loaded"); 1439 return _UseFontBitmapsA (hDC, first, count, listBase); 1440 } 1441 /// ditto 1442 public BOOL UseFontBitmapsW (HDC hDC, DWORD first, DWORD count, DWORD listBase) const { 1443 assert(_UseFontBitmapsW !is null, "WinGL command wglUseFontBitmapsW was not loaded"); 1444 return _UseFontBitmapsW (hDC, first, count, listBase); 1445 } 1446 /// ditto 1447 public BOOL UseFontOutlines (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf) const { 1448 assert(_UseFontOutlines !is null, "WinGL command wglUseFontOutlines was not loaded"); 1449 return _UseFontOutlines (hDC, first, count, listBase, deviation, extrusion, format, lpgmf); 1450 } 1451 /// ditto 1452 public BOOL UseFontOutlinesA (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf) const { 1453 assert(_UseFontOutlinesA !is null, "WinGL command wglUseFontOutlinesA was not loaded"); 1454 return _UseFontOutlinesA (hDC, first, count, listBase, deviation, extrusion, format, lpgmf); 1455 } 1456 /// ditto 1457 public BOOL UseFontOutlinesW (HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf) const { 1458 assert(_UseFontOutlinesW !is null, "WinGL command wglUseFontOutlinesW was not loaded"); 1459 return _UseFontOutlinesW (hDC, first, count, listBase, deviation, extrusion, format, lpgmf); 1460 } 1461 1462 /// Commands for WGL_ARB_buffer_region 1463 public HANDLE CreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType) const { 1464 assert(_CreateBufferRegionARB !is null, "WinGL command wglCreateBufferRegionARB was not loaded"); 1465 return _CreateBufferRegionARB (hDC, iLayerPlane, uType); 1466 } 1467 /// ditto 1468 public VOID DeleteBufferRegionARB (HANDLE hRegion) const { 1469 assert(_DeleteBufferRegionARB !is null, "WinGL command wglDeleteBufferRegionARB was not loaded"); 1470 return _DeleteBufferRegionARB (hRegion); 1471 } 1472 /// ditto 1473 public BOOL SaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height) const { 1474 assert(_SaveBufferRegionARB !is null, "WinGL command wglSaveBufferRegionARB was not loaded"); 1475 return _SaveBufferRegionARB (hRegion, x, y, width, height); 1476 } 1477 /// ditto 1478 public BOOL RestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc) const { 1479 assert(_RestoreBufferRegionARB !is null, "WinGL command wglRestoreBufferRegionARB was not loaded"); 1480 return _RestoreBufferRegionARB (hRegion, x, y, width, height, xSrc, ySrc); 1481 } 1482 1483 /// Commands for WGL_ARB_create_context 1484 public HGLRC CreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const(int)* attribList) const { 1485 assert(_CreateContextAttribsARB !is null, "WinGL command wglCreateContextAttribsARB was not loaded"); 1486 return _CreateContextAttribsARB (hDC, hShareContext, attribList); 1487 } 1488 1489 /// Commands for WGL_ARB_extensions_string 1490 public const(char)* GetExtensionsStringARB (HDC hdc) const { 1491 assert(_GetExtensionsStringARB !is null, "WinGL command wglGetExtensionsStringARB was not loaded"); 1492 return _GetExtensionsStringARB (hdc); 1493 } 1494 1495 /// Commands for WGL_ARB_make_current_read 1496 public BOOL MakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc) const { 1497 assert(_MakeContextCurrentARB !is null, "WinGL command wglMakeContextCurrentARB was not loaded"); 1498 return _MakeContextCurrentARB (hDrawDC, hReadDC, hglrc); 1499 } 1500 /// ditto 1501 public HDC GetCurrentReadDCARB () const { 1502 assert(_GetCurrentReadDCARB !is null, "WinGL command wglGetCurrentReadDCARB was not loaded"); 1503 return _GetCurrentReadDCARB (); 1504 } 1505 1506 /// Commands for WGL_ARB_pbuffer 1507 public HPBUFFERARB CreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const(int)* piAttribList) const { 1508 assert(_CreatePbufferARB !is null, "WinGL command wglCreatePbufferARB was not loaded"); 1509 return _CreatePbufferARB (hDC, iPixelFormat, iWidth, iHeight, piAttribList); 1510 } 1511 /// ditto 1512 public HDC GetPbufferDCARB (HPBUFFERARB hPbuffer) const { 1513 assert(_GetPbufferDCARB !is null, "WinGL command wglGetPbufferDCARB was not loaded"); 1514 return _GetPbufferDCARB (hPbuffer); 1515 } 1516 /// ditto 1517 public int ReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC) const { 1518 assert(_ReleasePbufferDCARB !is null, "WinGL command wglReleasePbufferDCARB was not loaded"); 1519 return _ReleasePbufferDCARB (hPbuffer, hDC); 1520 } 1521 /// ditto 1522 public BOOL DestroyPbufferARB (HPBUFFERARB hPbuffer) const { 1523 assert(_DestroyPbufferARB !is null, "WinGL command wglDestroyPbufferARB was not loaded"); 1524 return _DestroyPbufferARB (hPbuffer); 1525 } 1526 /// ditto 1527 public BOOL QueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int* piValue) const { 1528 assert(_QueryPbufferARB !is null, "WinGL command wglQueryPbufferARB was not loaded"); 1529 return _QueryPbufferARB (hPbuffer, iAttribute, piValue); 1530 } 1531 1532 /// Commands for WGL_ARB_pixel_format 1533 public BOOL GetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const(int)* piAttributes, int* piValues) const { 1534 assert(_GetPixelFormatAttribivARB !is null, "WinGL command wglGetPixelFormatAttribivARB was not loaded"); 1535 return _GetPixelFormatAttribivARB (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); 1536 } 1537 /// ditto 1538 public BOOL GetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const(int)* piAttributes, FLOAT* pfValues) const { 1539 assert(_GetPixelFormatAttribfvARB !is null, "WinGL command wglGetPixelFormatAttribfvARB was not loaded"); 1540 return _GetPixelFormatAttribfvARB (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); 1541 } 1542 /// ditto 1543 public BOOL ChoosePixelFormatARB (HDC hdc, const(int)* piAttribIList, const(FLOAT)* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats) const { 1544 assert(_ChoosePixelFormatARB !is null, "WinGL command wglChoosePixelFormatARB was not loaded"); 1545 return _ChoosePixelFormatARB (hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats); 1546 } 1547 1548 /// Commands for WGL_ARB_render_texture 1549 public BOOL BindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer) const { 1550 assert(_BindTexImageARB !is null, "WinGL command wglBindTexImageARB was not loaded"); 1551 return _BindTexImageARB (hPbuffer, iBuffer); 1552 } 1553 /// ditto 1554 public BOOL ReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer) const { 1555 assert(_ReleaseTexImageARB !is null, "WinGL command wglReleaseTexImageARB was not loaded"); 1556 return _ReleaseTexImageARB (hPbuffer, iBuffer); 1557 } 1558 /// ditto 1559 public BOOL SetPbufferAttribARB (HPBUFFERARB hPbuffer, const(int)* piAttribList) const { 1560 assert(_SetPbufferAttribARB !is null, "WinGL command wglSetPbufferAttribARB was not loaded"); 1561 return _SetPbufferAttribARB (hPbuffer, piAttribList); 1562 } 1563 1564 /// Commands for WGL_3DL_stereo_control 1565 public BOOL SetStereoEmitterState3DL (HDC hDC, UINT uState) const { 1566 assert(_SetStereoEmitterState3DL !is null, "WinGL command wglSetStereoEmitterState3DL was not loaded"); 1567 return _SetStereoEmitterState3DL (hDC, uState); 1568 } 1569 1570 /// Commands for WGL_AMD_gpu_association 1571 public UINT GetGPUIDsAMD (UINT maxCount, UINT* ids) const { 1572 assert(_GetGPUIDsAMD !is null, "WinGL command wglGetGPUIDsAMD was not loaded"); 1573 return _GetGPUIDsAMD (maxCount, ids); 1574 } 1575 /// ditto 1576 public INT GetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void* data) const { 1577 assert(_GetGPUInfoAMD !is null, "WinGL command wglGetGPUInfoAMD was not loaded"); 1578 return _GetGPUInfoAMD (id, property, dataType, size, data); 1579 } 1580 /// ditto 1581 public UINT GetContextGPUIDAMD (HGLRC hglrc) const { 1582 assert(_GetContextGPUIDAMD !is null, "WinGL command wglGetContextGPUIDAMD was not loaded"); 1583 return _GetContextGPUIDAMD (hglrc); 1584 } 1585 /// ditto 1586 public HGLRC CreateAssociatedContextAMD (UINT id) const { 1587 assert(_CreateAssociatedContextAMD !is null, "WinGL command wglCreateAssociatedContextAMD was not loaded"); 1588 return _CreateAssociatedContextAMD (id); 1589 } 1590 /// ditto 1591 public HGLRC CreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const(int)* attribList) const { 1592 assert(_CreateAssociatedContextAttribsAMD !is null, "WinGL command wglCreateAssociatedContextAttribsAMD was not loaded"); 1593 return _CreateAssociatedContextAttribsAMD (id, hShareContext, attribList); 1594 } 1595 /// ditto 1596 public BOOL DeleteAssociatedContextAMD (HGLRC hglrc) const { 1597 assert(_DeleteAssociatedContextAMD !is null, "WinGL command wglDeleteAssociatedContextAMD was not loaded"); 1598 return _DeleteAssociatedContextAMD (hglrc); 1599 } 1600 /// ditto 1601 public BOOL MakeAssociatedContextCurrentAMD (HGLRC hglrc) const { 1602 assert(_MakeAssociatedContextCurrentAMD !is null, "WinGL command wglMakeAssociatedContextCurrentAMD was not loaded"); 1603 return _MakeAssociatedContextCurrentAMD (hglrc); 1604 } 1605 /// ditto 1606 public HGLRC GetCurrentAssociatedContextAMD () const { 1607 assert(_GetCurrentAssociatedContextAMD !is null, "WinGL command wglGetCurrentAssociatedContextAMD was not loaded"); 1608 return _GetCurrentAssociatedContextAMD (); 1609 } 1610 /// ditto 1611 public VOID BlitContextFramebufferAMD (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) const { 1612 assert(_BlitContextFramebufferAMD !is null, "WinGL command wglBlitContextFramebufferAMD was not loaded"); 1613 return _BlitContextFramebufferAMD (dstCtx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 1614 } 1615 1616 /// Commands for WGL_EXT_display_color_table 1617 public GLboolean CreateDisplayColorTableEXT (GLushort id) const { 1618 assert(_CreateDisplayColorTableEXT !is null, "WinGL command wglCreateDisplayColorTableEXT was not loaded"); 1619 return _CreateDisplayColorTableEXT (id); 1620 } 1621 /// ditto 1622 public GLboolean LoadDisplayColorTableEXT (const(GLushort)* table, GLuint length) const { 1623 assert(_LoadDisplayColorTableEXT !is null, "WinGL command wglLoadDisplayColorTableEXT was not loaded"); 1624 return _LoadDisplayColorTableEXT (table, length); 1625 } 1626 /// ditto 1627 public GLboolean BindDisplayColorTableEXT (GLushort id) const { 1628 assert(_BindDisplayColorTableEXT !is null, "WinGL command wglBindDisplayColorTableEXT was not loaded"); 1629 return _BindDisplayColorTableEXT (id); 1630 } 1631 /// ditto 1632 public VOID DestroyDisplayColorTableEXT (GLushort id) const { 1633 assert(_DestroyDisplayColorTableEXT !is null, "WinGL command wglDestroyDisplayColorTableEXT was not loaded"); 1634 return _DestroyDisplayColorTableEXT (id); 1635 } 1636 1637 /// Commands for WGL_EXT_extensions_string 1638 public const(char)* GetExtensionsStringEXT () const { 1639 assert(_GetExtensionsStringEXT !is null, "WinGL command wglGetExtensionsStringEXT was not loaded"); 1640 return _GetExtensionsStringEXT (); 1641 } 1642 1643 /// Commands for WGL_EXT_make_current_read 1644 public BOOL MakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc) const { 1645 assert(_MakeContextCurrentEXT !is null, "WinGL command wglMakeContextCurrentEXT was not loaded"); 1646 return _MakeContextCurrentEXT (hDrawDC, hReadDC, hglrc); 1647 } 1648 /// ditto 1649 public HDC GetCurrentReadDCEXT () const { 1650 assert(_GetCurrentReadDCEXT !is null, "WinGL command wglGetCurrentReadDCEXT was not loaded"); 1651 return _GetCurrentReadDCEXT (); 1652 } 1653 1654 /// Commands for WGL_EXT_pbuffer 1655 public HPBUFFEREXT CreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const(int)* piAttribList) const { 1656 assert(_CreatePbufferEXT !is null, "WinGL command wglCreatePbufferEXT was not loaded"); 1657 return _CreatePbufferEXT (hDC, iPixelFormat, iWidth, iHeight, piAttribList); 1658 } 1659 /// ditto 1660 public HDC GetPbufferDCEXT (HPBUFFEREXT hPbuffer) const { 1661 assert(_GetPbufferDCEXT !is null, "WinGL command wglGetPbufferDCEXT was not loaded"); 1662 return _GetPbufferDCEXT (hPbuffer); 1663 } 1664 /// ditto 1665 public int ReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC) const { 1666 assert(_ReleasePbufferDCEXT !is null, "WinGL command wglReleasePbufferDCEXT was not loaded"); 1667 return _ReleasePbufferDCEXT (hPbuffer, hDC); 1668 } 1669 /// ditto 1670 public BOOL DestroyPbufferEXT (HPBUFFEREXT hPbuffer) const { 1671 assert(_DestroyPbufferEXT !is null, "WinGL command wglDestroyPbufferEXT was not loaded"); 1672 return _DestroyPbufferEXT (hPbuffer); 1673 } 1674 /// ditto 1675 public BOOL QueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue) const { 1676 assert(_QueryPbufferEXT !is null, "WinGL command wglQueryPbufferEXT was not loaded"); 1677 return _QueryPbufferEXT (hPbuffer, iAttribute, piValue); 1678 } 1679 1680 /// Commands for WGL_EXT_pixel_format 1681 public BOOL GetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int* piValues) const { 1682 assert(_GetPixelFormatAttribivEXT !is null, "WinGL command wglGetPixelFormatAttribivEXT was not loaded"); 1683 return _GetPixelFormatAttribivEXT (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); 1684 } 1685 /// ditto 1686 public BOOL GetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT* pfValues) const { 1687 assert(_GetPixelFormatAttribfvEXT !is null, "WinGL command wglGetPixelFormatAttribfvEXT was not loaded"); 1688 return _GetPixelFormatAttribfvEXT (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); 1689 } 1690 /// ditto 1691 public BOOL ChoosePixelFormatEXT (HDC hdc, const(int)* piAttribIList, const(FLOAT)* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats) const { 1692 assert(_ChoosePixelFormatEXT !is null, "WinGL command wglChoosePixelFormatEXT was not loaded"); 1693 return _ChoosePixelFormatEXT (hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats); 1694 } 1695 1696 /// Commands for WGL_EXT_swap_control 1697 public BOOL SwapIntervalEXT (int interval) const { 1698 assert(_SwapIntervalEXT !is null, "WinGL command wglSwapIntervalEXT was not loaded"); 1699 return _SwapIntervalEXT (interval); 1700 } 1701 /// ditto 1702 public int GetSwapIntervalEXT () const { 1703 assert(_GetSwapIntervalEXT !is null, "WinGL command wglGetSwapIntervalEXT was not loaded"); 1704 return _GetSwapIntervalEXT (); 1705 } 1706 1707 /// Commands for WGL_I3D_digital_video_control 1708 public BOOL GetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int* piValue) const { 1709 assert(_GetDigitalVideoParametersI3D !is null, "WinGL command wglGetDigitalVideoParametersI3D was not loaded"); 1710 return _GetDigitalVideoParametersI3D (hDC, iAttribute, piValue); 1711 } 1712 /// ditto 1713 public BOOL SetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const(int)* piValue) const { 1714 assert(_SetDigitalVideoParametersI3D !is null, "WinGL command wglSetDigitalVideoParametersI3D was not loaded"); 1715 return _SetDigitalVideoParametersI3D (hDC, iAttribute, piValue); 1716 } 1717 1718 /// Commands for WGL_I3D_gamma 1719 public BOOL GetGammaTableParametersI3D (HDC hDC, int iAttribute, int* piValue) const { 1720 assert(_GetGammaTableParametersI3D !is null, "WinGL command wglGetGammaTableParametersI3D was not loaded"); 1721 return _GetGammaTableParametersI3D (hDC, iAttribute, piValue); 1722 } 1723 /// ditto 1724 public BOOL SetGammaTableParametersI3D (HDC hDC, int iAttribute, const(int)* piValue) const { 1725 assert(_SetGammaTableParametersI3D !is null, "WinGL command wglSetGammaTableParametersI3D was not loaded"); 1726 return _SetGammaTableParametersI3D (hDC, iAttribute, piValue); 1727 } 1728 /// ditto 1729 public BOOL GetGammaTableI3D (HDC hDC, int iEntries, USHORT* puRed, USHORT* puGreen, USHORT* puBlue) const { 1730 assert(_GetGammaTableI3D !is null, "WinGL command wglGetGammaTableI3D was not loaded"); 1731 return _GetGammaTableI3D (hDC, iEntries, puRed, puGreen, puBlue); 1732 } 1733 /// ditto 1734 public BOOL SetGammaTableI3D (HDC hDC, int iEntries, const(USHORT)* puRed, const(USHORT)* puGreen, const(USHORT)* puBlue) const { 1735 assert(_SetGammaTableI3D !is null, "WinGL command wglSetGammaTableI3D was not loaded"); 1736 return _SetGammaTableI3D (hDC, iEntries, puRed, puGreen, puBlue); 1737 } 1738 1739 /// Commands for WGL_I3D_genlock 1740 public BOOL EnableGenlockI3D (HDC hDC) const { 1741 assert(_EnableGenlockI3D !is null, "WinGL command wglEnableGenlockI3D was not loaded"); 1742 return _EnableGenlockI3D (hDC); 1743 } 1744 /// ditto 1745 public BOOL DisableGenlockI3D (HDC hDC) const { 1746 assert(_DisableGenlockI3D !is null, "WinGL command wglDisableGenlockI3D was not loaded"); 1747 return _DisableGenlockI3D (hDC); 1748 } 1749 /// ditto 1750 public BOOL IsEnabledGenlockI3D (HDC hDC, BOOL* pFlag) const { 1751 assert(_IsEnabledGenlockI3D !is null, "WinGL command wglIsEnabledGenlockI3D was not loaded"); 1752 return _IsEnabledGenlockI3D (hDC, pFlag); 1753 } 1754 /// ditto 1755 public BOOL GenlockSourceI3D (HDC hDC, UINT uSource) const { 1756 assert(_GenlockSourceI3D !is null, "WinGL command wglGenlockSourceI3D was not loaded"); 1757 return _GenlockSourceI3D (hDC, uSource); 1758 } 1759 /// ditto 1760 public BOOL GetGenlockSourceI3D (HDC hDC, UINT* uSource) const { 1761 assert(_GetGenlockSourceI3D !is null, "WinGL command wglGetGenlockSourceI3D was not loaded"); 1762 return _GetGenlockSourceI3D (hDC, uSource); 1763 } 1764 /// ditto 1765 public BOOL GenlockSourceEdgeI3D (HDC hDC, UINT uEdge) const { 1766 assert(_GenlockSourceEdgeI3D !is null, "WinGL command wglGenlockSourceEdgeI3D was not loaded"); 1767 return _GenlockSourceEdgeI3D (hDC, uEdge); 1768 } 1769 /// ditto 1770 public BOOL GetGenlockSourceEdgeI3D (HDC hDC, UINT* uEdge) const { 1771 assert(_GetGenlockSourceEdgeI3D !is null, "WinGL command wglGetGenlockSourceEdgeI3D was not loaded"); 1772 return _GetGenlockSourceEdgeI3D (hDC, uEdge); 1773 } 1774 /// ditto 1775 public BOOL GenlockSampleRateI3D (HDC hDC, UINT uRate) const { 1776 assert(_GenlockSampleRateI3D !is null, "WinGL command wglGenlockSampleRateI3D was not loaded"); 1777 return _GenlockSampleRateI3D (hDC, uRate); 1778 } 1779 /// ditto 1780 public BOOL GetGenlockSampleRateI3D (HDC hDC, UINT* uRate) const { 1781 assert(_GetGenlockSampleRateI3D !is null, "WinGL command wglGetGenlockSampleRateI3D was not loaded"); 1782 return _GetGenlockSampleRateI3D (hDC, uRate); 1783 } 1784 /// ditto 1785 public BOOL GenlockSourceDelayI3D (HDC hDC, UINT uDelay) const { 1786 assert(_GenlockSourceDelayI3D !is null, "WinGL command wglGenlockSourceDelayI3D was not loaded"); 1787 return _GenlockSourceDelayI3D (hDC, uDelay); 1788 } 1789 /// ditto 1790 public BOOL GetGenlockSourceDelayI3D (HDC hDC, UINT* uDelay) const { 1791 assert(_GetGenlockSourceDelayI3D !is null, "WinGL command wglGetGenlockSourceDelayI3D was not loaded"); 1792 return _GetGenlockSourceDelayI3D (hDC, uDelay); 1793 } 1794 /// ditto 1795 public BOOL QueryGenlockMaxSourceDelayI3D (HDC hDC, UINT* uMaxLineDelay, UINT* uMaxPixelDelay) const { 1796 assert(_QueryGenlockMaxSourceDelayI3D !is null, "WinGL command wglQueryGenlockMaxSourceDelayI3D was not loaded"); 1797 return _QueryGenlockMaxSourceDelayI3D (hDC, uMaxLineDelay, uMaxPixelDelay); 1798 } 1799 1800 /// Commands for WGL_I3D_image_buffer 1801 public LPVOID CreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags) const { 1802 assert(_CreateImageBufferI3D !is null, "WinGL command wglCreateImageBufferI3D was not loaded"); 1803 return _CreateImageBufferI3D (hDC, dwSize, uFlags); 1804 } 1805 /// ditto 1806 public BOOL DestroyImageBufferI3D (HDC hDC, LPVOID pAddress) const { 1807 assert(_DestroyImageBufferI3D !is null, "WinGL command wglDestroyImageBufferI3D was not loaded"); 1808 return _DestroyImageBufferI3D (hDC, pAddress); 1809 } 1810 /// ditto 1811 public BOOL AssociateImageBufferEventsI3D (HDC hDC, const(HANDLE)* pEvent, const(LPVOID)* pAddress, const(DWORD)* pSize, UINT count) const { 1812 assert(_AssociateImageBufferEventsI3D !is null, "WinGL command wglAssociateImageBufferEventsI3D was not loaded"); 1813 return _AssociateImageBufferEventsI3D (hDC, pEvent, pAddress, pSize, count); 1814 } 1815 /// ditto 1816 public BOOL ReleaseImageBufferEventsI3D (HDC hDC, const(LPVOID)* pAddress, UINT count) const { 1817 assert(_ReleaseImageBufferEventsI3D !is null, "WinGL command wglReleaseImageBufferEventsI3D was not loaded"); 1818 return _ReleaseImageBufferEventsI3D (hDC, pAddress, count); 1819 } 1820 1821 /// Commands for WGL_I3D_swap_frame_lock 1822 public BOOL EnableFrameLockI3D () const { 1823 assert(_EnableFrameLockI3D !is null, "WinGL command wglEnableFrameLockI3D was not loaded"); 1824 return _EnableFrameLockI3D (); 1825 } 1826 /// ditto 1827 public BOOL DisableFrameLockI3D () const { 1828 assert(_DisableFrameLockI3D !is null, "WinGL command wglDisableFrameLockI3D was not loaded"); 1829 return _DisableFrameLockI3D (); 1830 } 1831 /// ditto 1832 public BOOL IsEnabledFrameLockI3D (BOOL* pFlag) const { 1833 assert(_IsEnabledFrameLockI3D !is null, "WinGL command wglIsEnabledFrameLockI3D was not loaded"); 1834 return _IsEnabledFrameLockI3D (pFlag); 1835 } 1836 /// ditto 1837 public BOOL QueryFrameLockMasterI3D (BOOL* pFlag) const { 1838 assert(_QueryFrameLockMasterI3D !is null, "WinGL command wglQueryFrameLockMasterI3D was not loaded"); 1839 return _QueryFrameLockMasterI3D (pFlag); 1840 } 1841 1842 /// Commands for WGL_I3D_swap_frame_usage 1843 public BOOL GetFrameUsageI3D (float* pUsage) const { 1844 assert(_GetFrameUsageI3D !is null, "WinGL command wglGetFrameUsageI3D was not loaded"); 1845 return _GetFrameUsageI3D (pUsage); 1846 } 1847 /// ditto 1848 public BOOL BeginFrameTrackingI3D () const { 1849 assert(_BeginFrameTrackingI3D !is null, "WinGL command wglBeginFrameTrackingI3D was not loaded"); 1850 return _BeginFrameTrackingI3D (); 1851 } 1852 /// ditto 1853 public BOOL EndFrameTrackingI3D () const { 1854 assert(_EndFrameTrackingI3D !is null, "WinGL command wglEndFrameTrackingI3D was not loaded"); 1855 return _EndFrameTrackingI3D (); 1856 } 1857 /// ditto 1858 public BOOL QueryFrameTrackingI3D (DWORD* pFrameCount, DWORD* pMissedFrames, float* pLastMissedUsage) const { 1859 assert(_QueryFrameTrackingI3D !is null, "WinGL command wglQueryFrameTrackingI3D was not loaded"); 1860 return _QueryFrameTrackingI3D (pFrameCount, pMissedFrames, pLastMissedUsage); 1861 } 1862 1863 /// Commands for WGL_NV_DX_interop 1864 public BOOL DXSetResourceShareHandleNV (void* dxObject, HANDLE shareHandle) const { 1865 assert(_DXSetResourceShareHandleNV !is null, "WinGL command wglDXSetResourceShareHandleNV was not loaded"); 1866 return _DXSetResourceShareHandleNV (dxObject, shareHandle); 1867 } 1868 /// ditto 1869 public HANDLE DXOpenDeviceNV (void* dxDevice) const { 1870 assert(_DXOpenDeviceNV !is null, "WinGL command wglDXOpenDeviceNV was not loaded"); 1871 return _DXOpenDeviceNV (dxDevice); 1872 } 1873 /// ditto 1874 public BOOL DXCloseDeviceNV (HANDLE hDevice) const { 1875 assert(_DXCloseDeviceNV !is null, "WinGL command wglDXCloseDeviceNV was not loaded"); 1876 return _DXCloseDeviceNV (hDevice); 1877 } 1878 /// ditto 1879 public HANDLE DXRegisterObjectNV (HANDLE hDevice, void* dxObject, GLuint name, GLenum type, GLenum access) const { 1880 assert(_DXRegisterObjectNV !is null, "WinGL command wglDXRegisterObjectNV was not loaded"); 1881 return _DXRegisterObjectNV (hDevice, dxObject, name, type, access); 1882 } 1883 /// ditto 1884 public BOOL DXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject) const { 1885 assert(_DXUnregisterObjectNV !is null, "WinGL command wglDXUnregisterObjectNV was not loaded"); 1886 return _DXUnregisterObjectNV (hDevice, hObject); 1887 } 1888 /// ditto 1889 public BOOL DXObjectAccessNV (HANDLE hObject, GLenum access) const { 1890 assert(_DXObjectAccessNV !is null, "WinGL command wglDXObjectAccessNV was not loaded"); 1891 return _DXObjectAccessNV (hObject, access); 1892 } 1893 /// ditto 1894 public BOOL DXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE* hObjects) const { 1895 assert(_DXLockObjectsNV !is null, "WinGL command wglDXLockObjectsNV was not loaded"); 1896 return _DXLockObjectsNV (hDevice, count, hObjects); 1897 } 1898 /// ditto 1899 public BOOL DXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE* hObjects) const { 1900 assert(_DXUnlockObjectsNV !is null, "WinGL command wglDXUnlockObjectsNV was not loaded"); 1901 return _DXUnlockObjectsNV (hDevice, count, hObjects); 1902 } 1903 1904 /// Commands for WGL_NV_copy_image 1905 public BOOL CopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth) const { 1906 assert(_CopyImageSubDataNV !is null, "WinGL command wglCopyImageSubDataNV was not loaded"); 1907 return _CopyImageSubDataNV (hSrcRC, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, hDstRC, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); 1908 } 1909 1910 /// Commands for WGL_NV_delay_before_swap 1911 public BOOL DelayBeforeSwapNV (HDC hDC, GLfloat seconds) const { 1912 assert(_DelayBeforeSwapNV !is null, "WinGL command wglDelayBeforeSwapNV was not loaded"); 1913 return _DelayBeforeSwapNV (hDC, seconds); 1914 } 1915 1916 /// Commands for WGL_NV_gpu_affinity 1917 public BOOL EnumGpusNV (UINT iGpuIndex, HGPUNV* phGpu) const { 1918 assert(_EnumGpusNV !is null, "WinGL command wglEnumGpusNV was not loaded"); 1919 return _EnumGpusNV (iGpuIndex, phGpu); 1920 } 1921 /// ditto 1922 public BOOL EnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice) const { 1923 assert(_EnumGpuDevicesNV !is null, "WinGL command wglEnumGpuDevicesNV was not loaded"); 1924 return _EnumGpuDevicesNV (hGpu, iDeviceIndex, lpGpuDevice); 1925 } 1926 /// ditto 1927 public HDC CreateAffinityDCNV (const(HGPUNV)* phGpuList) const { 1928 assert(_CreateAffinityDCNV !is null, "WinGL command wglCreateAffinityDCNV was not loaded"); 1929 return _CreateAffinityDCNV (phGpuList); 1930 } 1931 /// ditto 1932 public BOOL EnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV* hGpu) const { 1933 assert(_EnumGpusFromAffinityDCNV !is null, "WinGL command wglEnumGpusFromAffinityDCNV was not loaded"); 1934 return _EnumGpusFromAffinityDCNV (hAffinityDC, iGpuIndex, hGpu); 1935 } 1936 /// ditto 1937 public BOOL DeleteDCNV (HDC hdc) const { 1938 assert(_DeleteDCNV !is null, "WinGL command wglDeleteDCNV was not loaded"); 1939 return _DeleteDCNV (hdc); 1940 } 1941 1942 /// Commands for WGL_NV_present_video 1943 public int EnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV* phDeviceList) const { 1944 assert(_EnumerateVideoDevicesNV !is null, "WinGL command wglEnumerateVideoDevicesNV was not loaded"); 1945 return _EnumerateVideoDevicesNV (hDC, phDeviceList); 1946 } 1947 /// ditto 1948 public BOOL BindVideoDeviceNV (HDC hDC, uint uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const(int)* piAttribList) const { 1949 assert(_BindVideoDeviceNV !is null, "WinGL command wglBindVideoDeviceNV was not loaded"); 1950 return _BindVideoDeviceNV (hDC, uVideoSlot, hVideoDevice, piAttribList); 1951 } 1952 /// ditto 1953 public BOOL QueryCurrentContextNV (int iAttribute, int* piValue) const { 1954 assert(_QueryCurrentContextNV !is null, "WinGL command wglQueryCurrentContextNV was not loaded"); 1955 return _QueryCurrentContextNV (iAttribute, piValue); 1956 } 1957 1958 /// Commands for WGL_NV_swap_group 1959 public BOOL JoinSwapGroupNV (HDC hDC, GLuint group) const { 1960 assert(_JoinSwapGroupNV !is null, "WinGL command wglJoinSwapGroupNV was not loaded"); 1961 return _JoinSwapGroupNV (hDC, group); 1962 } 1963 /// ditto 1964 public BOOL BindSwapBarrierNV (GLuint group, GLuint barrier) const { 1965 assert(_BindSwapBarrierNV !is null, "WinGL command wglBindSwapBarrierNV was not loaded"); 1966 return _BindSwapBarrierNV (group, barrier); 1967 } 1968 /// ditto 1969 public BOOL QuerySwapGroupNV (HDC hDC, GLuint* group, GLuint* barrier) const { 1970 assert(_QuerySwapGroupNV !is null, "WinGL command wglQuerySwapGroupNV was not loaded"); 1971 return _QuerySwapGroupNV (hDC, group, barrier); 1972 } 1973 /// ditto 1974 public BOOL QueryMaxSwapGroupsNV (HDC hDC, GLuint* maxGroups, GLuint* maxBarriers) const { 1975 assert(_QueryMaxSwapGroupsNV !is null, "WinGL command wglQueryMaxSwapGroupsNV was not loaded"); 1976 return _QueryMaxSwapGroupsNV (hDC, maxGroups, maxBarriers); 1977 } 1978 /// ditto 1979 public BOOL QueryFrameCountNV (HDC hDC, GLuint* count) const { 1980 assert(_QueryFrameCountNV !is null, "WinGL command wglQueryFrameCountNV was not loaded"); 1981 return _QueryFrameCountNV (hDC, count); 1982 } 1983 /// ditto 1984 public BOOL ResetFrameCountNV (HDC hDC) const { 1985 assert(_ResetFrameCountNV !is null, "WinGL command wglResetFrameCountNV was not loaded"); 1986 return _ResetFrameCountNV (hDC); 1987 } 1988 1989 /// Commands for WGL_NV_vertex_array_range 1990 public void * AllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority) const { 1991 assert(_AllocateMemoryNV !is null, "WinGL command wglAllocateMemoryNV was not loaded"); 1992 return _AllocateMemoryNV (size, readfreq, writefreq, priority); 1993 } 1994 /// ditto 1995 public void FreeMemoryNV (void* pointer) const { 1996 assert(_FreeMemoryNV !is null, "WinGL command wglFreeMemoryNV was not loaded"); 1997 return _FreeMemoryNV (pointer); 1998 } 1999 2000 /// Commands for WGL_NV_video_capture 2001 public BOOL BindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice) const { 2002 assert(_BindVideoCaptureDeviceNV !is null, "WinGL command wglBindVideoCaptureDeviceNV was not loaded"); 2003 return _BindVideoCaptureDeviceNV (uVideoSlot, hDevice); 2004 } 2005 /// ditto 2006 public UINT EnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV* phDeviceList) const { 2007 assert(_EnumerateVideoCaptureDevicesNV !is null, "WinGL command wglEnumerateVideoCaptureDevicesNV was not loaded"); 2008 return _EnumerateVideoCaptureDevicesNV (hDc, phDeviceList); 2009 } 2010 /// ditto 2011 public BOOL LockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice) const { 2012 assert(_LockVideoCaptureDeviceNV !is null, "WinGL command wglLockVideoCaptureDeviceNV was not loaded"); 2013 return _LockVideoCaptureDeviceNV (hDc, hDevice); 2014 } 2015 /// ditto 2016 public BOOL QueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int* piValue) const { 2017 assert(_QueryVideoCaptureDeviceNV !is null, "WinGL command wglQueryVideoCaptureDeviceNV was not loaded"); 2018 return _QueryVideoCaptureDeviceNV (hDc, hDevice, iAttribute, piValue); 2019 } 2020 /// ditto 2021 public BOOL ReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice) const { 2022 assert(_ReleaseVideoCaptureDeviceNV !is null, "WinGL command wglReleaseVideoCaptureDeviceNV was not loaded"); 2023 return _ReleaseVideoCaptureDeviceNV (hDc, hDevice); 2024 } 2025 2026 /// Commands for WGL_NV_video_output 2027 public BOOL GetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice) const { 2028 assert(_GetVideoDeviceNV !is null, "WinGL command wglGetVideoDeviceNV was not loaded"); 2029 return _GetVideoDeviceNV (hDC, numDevices, hVideoDevice); 2030 } 2031 /// ditto 2032 public BOOL ReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice) const { 2033 assert(_ReleaseVideoDeviceNV !is null, "WinGL command wglReleaseVideoDeviceNV was not loaded"); 2034 return _ReleaseVideoDeviceNV (hVideoDevice); 2035 } 2036 /// ditto 2037 public BOOL BindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer) const { 2038 assert(_BindVideoImageNV !is null, "WinGL command wglBindVideoImageNV was not loaded"); 2039 return _BindVideoImageNV (hVideoDevice, hPbuffer, iVideoBuffer); 2040 } 2041 /// ditto 2042 public BOOL ReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer) const { 2043 assert(_ReleaseVideoImageNV !is null, "WinGL command wglReleaseVideoImageNV was not loaded"); 2044 return _ReleaseVideoImageNV (hPbuffer, iVideoBuffer); 2045 } 2046 /// ditto 2047 public BOOL SendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, c_ulong* pulCounterPbuffer, BOOL bBlock) const { 2048 assert(_SendPbufferToVideoNV !is null, "WinGL command wglSendPbufferToVideoNV was not loaded"); 2049 return _SendPbufferToVideoNV (hPbuffer, iBufferType, pulCounterPbuffer, bBlock); 2050 } 2051 /// ditto 2052 public BOOL GetVideoInfoNV (HPVIDEODEV hpVideoDevice, c_ulong* pulCounterOutputPbuffer, c_ulong* pulCounterOutputVideo) const { 2053 assert(_GetVideoInfoNV !is null, "WinGL command wglGetVideoInfoNV was not loaded"); 2054 return _GetVideoInfoNV (hpVideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo); 2055 } 2056 2057 /// Commands for WGL_OML_sync_control 2058 public BOOL GetSyncValuesOML (HDC hdc, INT64* ust, INT64* msc, INT64* sbc) const { 2059 assert(_GetSyncValuesOML !is null, "WinGL command wglGetSyncValuesOML was not loaded"); 2060 return _GetSyncValuesOML (hdc, ust, msc, sbc); 2061 } 2062 /// ditto 2063 public BOOL GetMscRateOML (HDC hdc, INT32* numerator, INT32* denominator) const { 2064 assert(_GetMscRateOML !is null, "WinGL command wglGetMscRateOML was not loaded"); 2065 return _GetMscRateOML (hdc, numerator, denominator); 2066 } 2067 /// ditto 2068 public INT64 SwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder) const { 2069 assert(_SwapBuffersMscOML !is null, "WinGL command wglSwapBuffersMscOML was not loaded"); 2070 return _SwapBuffersMscOML (hdc, target_msc, divisor, remainder); 2071 } 2072 /// ditto 2073 public INT64 SwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder) const { 2074 assert(_SwapLayerBuffersMscOML !is null, "WinGL command wglSwapLayerBuffersMscOML was not loaded"); 2075 return _SwapLayerBuffersMscOML (hdc, fuPlanes, target_msc, divisor, remainder); 2076 } 2077 /// ditto 2078 public BOOL WaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64* msc, INT64* sbc) const { 2079 assert(_WaitForMscOML !is null, "WinGL command wglWaitForMscOML was not loaded"); 2080 return _WaitForMscOML (hdc, target_msc, divisor, remainder, ust, msc, sbc); 2081 } 2082 /// ditto 2083 public BOOL WaitForSbcOML (HDC hdc, INT64 target_sbc, INT64* ust, INT64* msc, INT64* sbc) const { 2084 assert(_WaitForSbcOML !is null, "WinGL command wglWaitForSbcOML was not loaded"); 2085 return _WaitForSbcOML (hdc, target_sbc, ust, msc, sbc); 2086 } 2087 2088 // WGL_VERSION_1_0 2089 private PFN_wglCopyContext _CopyContext; 2090 private PFN_wglCreateContext _CreateContext; 2091 private PFN_wglCreateLayerContext _CreateLayerContext; 2092 private PFN_wglDeleteContext _DeleteContext; 2093 private PFN_wglDescribeLayerPlane _DescribeLayerPlane; 2094 private PFN_wglGetCurrentContext _GetCurrentContext; 2095 private PFN_wglGetCurrentDC _GetCurrentDC; 2096 private PFN_wglGetLayerPaletteEntries _GetLayerPaletteEntries; 2097 private PFN_wglGetProcAddress _GetProcAddress; 2098 private PFN_wglMakeCurrent _MakeCurrent; 2099 private PFN_wglRealizeLayerPalette _RealizeLayerPalette; 2100 private PFN_wglSetLayerPaletteEntries _SetLayerPaletteEntries; 2101 private PFN_wglShareLists _ShareLists; 2102 private PFN_wglSwapLayerBuffers _SwapLayerBuffers; 2103 private PFN_wglUseFontBitmaps _UseFontBitmaps; 2104 private PFN_wglUseFontBitmapsA _UseFontBitmapsA; 2105 private PFN_wglUseFontBitmapsW _UseFontBitmapsW; 2106 private PFN_wglUseFontOutlines _UseFontOutlines; 2107 private PFN_wglUseFontOutlinesA _UseFontOutlinesA; 2108 private PFN_wglUseFontOutlinesW _UseFontOutlinesW; 2109 2110 // WGL_ARB_buffer_region, 2111 private PFN_wglCreateBufferRegionARB _CreateBufferRegionARB; 2112 private PFN_wglDeleteBufferRegionARB _DeleteBufferRegionARB; 2113 private PFN_wglSaveBufferRegionARB _SaveBufferRegionARB; 2114 private PFN_wglRestoreBufferRegionARB _RestoreBufferRegionARB; 2115 2116 // WGL_ARB_create_context, 2117 private PFN_wglCreateContextAttribsARB _CreateContextAttribsARB; 2118 2119 // WGL_ARB_extensions_string, 2120 private PFN_wglGetExtensionsStringARB _GetExtensionsStringARB; 2121 2122 // WGL_ARB_make_current_read, 2123 private PFN_wglMakeContextCurrentARB _MakeContextCurrentARB; 2124 private PFN_wglGetCurrentReadDCARB _GetCurrentReadDCARB; 2125 2126 // WGL_ARB_pbuffer, 2127 private PFN_wglCreatePbufferARB _CreatePbufferARB; 2128 private PFN_wglGetPbufferDCARB _GetPbufferDCARB; 2129 private PFN_wglReleasePbufferDCARB _ReleasePbufferDCARB; 2130 private PFN_wglDestroyPbufferARB _DestroyPbufferARB; 2131 private PFN_wglQueryPbufferARB _QueryPbufferARB; 2132 2133 // WGL_ARB_pixel_format, 2134 private PFN_wglGetPixelFormatAttribivARB _GetPixelFormatAttribivARB; 2135 private PFN_wglGetPixelFormatAttribfvARB _GetPixelFormatAttribfvARB; 2136 private PFN_wglChoosePixelFormatARB _ChoosePixelFormatARB; 2137 2138 // WGL_ARB_render_texture, 2139 private PFN_wglBindTexImageARB _BindTexImageARB; 2140 private PFN_wglReleaseTexImageARB _ReleaseTexImageARB; 2141 private PFN_wglSetPbufferAttribARB _SetPbufferAttribARB; 2142 2143 // WGL_3DL_stereo_control, 2144 private PFN_wglSetStereoEmitterState3DL _SetStereoEmitterState3DL; 2145 2146 // WGL_AMD_gpu_association, 2147 private PFN_wglGetGPUIDsAMD _GetGPUIDsAMD; 2148 private PFN_wglGetGPUInfoAMD _GetGPUInfoAMD; 2149 private PFN_wglGetContextGPUIDAMD _GetContextGPUIDAMD; 2150 private PFN_wglCreateAssociatedContextAMD _CreateAssociatedContextAMD; 2151 private PFN_wglCreateAssociatedContextAttribsAMD _CreateAssociatedContextAttribsAMD; 2152 private PFN_wglDeleteAssociatedContextAMD _DeleteAssociatedContextAMD; 2153 private PFN_wglMakeAssociatedContextCurrentAMD _MakeAssociatedContextCurrentAMD; 2154 private PFN_wglGetCurrentAssociatedContextAMD _GetCurrentAssociatedContextAMD; 2155 private PFN_wglBlitContextFramebufferAMD _BlitContextFramebufferAMD; 2156 2157 // WGL_EXT_display_color_table, 2158 private PFN_wglCreateDisplayColorTableEXT _CreateDisplayColorTableEXT; 2159 private PFN_wglLoadDisplayColorTableEXT _LoadDisplayColorTableEXT; 2160 private PFN_wglBindDisplayColorTableEXT _BindDisplayColorTableEXT; 2161 private PFN_wglDestroyDisplayColorTableEXT _DestroyDisplayColorTableEXT; 2162 2163 // WGL_EXT_extensions_string, 2164 private PFN_wglGetExtensionsStringEXT _GetExtensionsStringEXT; 2165 2166 // WGL_EXT_make_current_read, 2167 private PFN_wglMakeContextCurrentEXT _MakeContextCurrentEXT; 2168 private PFN_wglGetCurrentReadDCEXT _GetCurrentReadDCEXT; 2169 2170 // WGL_EXT_pbuffer, 2171 private PFN_wglCreatePbufferEXT _CreatePbufferEXT; 2172 private PFN_wglGetPbufferDCEXT _GetPbufferDCEXT; 2173 private PFN_wglReleasePbufferDCEXT _ReleasePbufferDCEXT; 2174 private PFN_wglDestroyPbufferEXT _DestroyPbufferEXT; 2175 private PFN_wglQueryPbufferEXT _QueryPbufferEXT; 2176 2177 // WGL_EXT_pixel_format, 2178 private PFN_wglGetPixelFormatAttribivEXT _GetPixelFormatAttribivEXT; 2179 private PFN_wglGetPixelFormatAttribfvEXT _GetPixelFormatAttribfvEXT; 2180 private PFN_wglChoosePixelFormatEXT _ChoosePixelFormatEXT; 2181 2182 // WGL_EXT_swap_control, 2183 private PFN_wglSwapIntervalEXT _SwapIntervalEXT; 2184 private PFN_wglGetSwapIntervalEXT _GetSwapIntervalEXT; 2185 2186 // WGL_I3D_digital_video_control, 2187 private PFN_wglGetDigitalVideoParametersI3D _GetDigitalVideoParametersI3D; 2188 private PFN_wglSetDigitalVideoParametersI3D _SetDigitalVideoParametersI3D; 2189 2190 // WGL_I3D_gamma, 2191 private PFN_wglGetGammaTableParametersI3D _GetGammaTableParametersI3D; 2192 private PFN_wglSetGammaTableParametersI3D _SetGammaTableParametersI3D; 2193 private PFN_wglGetGammaTableI3D _GetGammaTableI3D; 2194 private PFN_wglSetGammaTableI3D _SetGammaTableI3D; 2195 2196 // WGL_I3D_genlock, 2197 private PFN_wglEnableGenlockI3D _EnableGenlockI3D; 2198 private PFN_wglDisableGenlockI3D _DisableGenlockI3D; 2199 private PFN_wglIsEnabledGenlockI3D _IsEnabledGenlockI3D; 2200 private PFN_wglGenlockSourceI3D _GenlockSourceI3D; 2201 private PFN_wglGetGenlockSourceI3D _GetGenlockSourceI3D; 2202 private PFN_wglGenlockSourceEdgeI3D _GenlockSourceEdgeI3D; 2203 private PFN_wglGetGenlockSourceEdgeI3D _GetGenlockSourceEdgeI3D; 2204 private PFN_wglGenlockSampleRateI3D _GenlockSampleRateI3D; 2205 private PFN_wglGetGenlockSampleRateI3D _GetGenlockSampleRateI3D; 2206 private PFN_wglGenlockSourceDelayI3D _GenlockSourceDelayI3D; 2207 private PFN_wglGetGenlockSourceDelayI3D _GetGenlockSourceDelayI3D; 2208 private PFN_wglQueryGenlockMaxSourceDelayI3D _QueryGenlockMaxSourceDelayI3D; 2209 2210 // WGL_I3D_image_buffer, 2211 private PFN_wglCreateImageBufferI3D _CreateImageBufferI3D; 2212 private PFN_wglDestroyImageBufferI3D _DestroyImageBufferI3D; 2213 private PFN_wglAssociateImageBufferEventsI3D _AssociateImageBufferEventsI3D; 2214 private PFN_wglReleaseImageBufferEventsI3D _ReleaseImageBufferEventsI3D; 2215 2216 // WGL_I3D_swap_frame_lock, 2217 private PFN_wglEnableFrameLockI3D _EnableFrameLockI3D; 2218 private PFN_wglDisableFrameLockI3D _DisableFrameLockI3D; 2219 private PFN_wglIsEnabledFrameLockI3D _IsEnabledFrameLockI3D; 2220 private PFN_wglQueryFrameLockMasterI3D _QueryFrameLockMasterI3D; 2221 2222 // WGL_I3D_swap_frame_usage, 2223 private PFN_wglGetFrameUsageI3D _GetFrameUsageI3D; 2224 private PFN_wglBeginFrameTrackingI3D _BeginFrameTrackingI3D; 2225 private PFN_wglEndFrameTrackingI3D _EndFrameTrackingI3D; 2226 private PFN_wglQueryFrameTrackingI3D _QueryFrameTrackingI3D; 2227 2228 // WGL_NV_DX_interop, 2229 private PFN_wglDXSetResourceShareHandleNV _DXSetResourceShareHandleNV; 2230 private PFN_wglDXOpenDeviceNV _DXOpenDeviceNV; 2231 private PFN_wglDXCloseDeviceNV _DXCloseDeviceNV; 2232 private PFN_wglDXRegisterObjectNV _DXRegisterObjectNV; 2233 private PFN_wglDXUnregisterObjectNV _DXUnregisterObjectNV; 2234 private PFN_wglDXObjectAccessNV _DXObjectAccessNV; 2235 private PFN_wglDXLockObjectsNV _DXLockObjectsNV; 2236 private PFN_wglDXUnlockObjectsNV _DXUnlockObjectsNV; 2237 2238 // WGL_NV_copy_image, 2239 private PFN_wglCopyImageSubDataNV _CopyImageSubDataNV; 2240 2241 // WGL_NV_delay_before_swap, 2242 private PFN_wglDelayBeforeSwapNV _DelayBeforeSwapNV; 2243 2244 // WGL_NV_gpu_affinity, 2245 private PFN_wglEnumGpusNV _EnumGpusNV; 2246 private PFN_wglEnumGpuDevicesNV _EnumGpuDevicesNV; 2247 private PFN_wglCreateAffinityDCNV _CreateAffinityDCNV; 2248 private PFN_wglEnumGpusFromAffinityDCNV _EnumGpusFromAffinityDCNV; 2249 private PFN_wglDeleteDCNV _DeleteDCNV; 2250 2251 // WGL_NV_present_video, 2252 private PFN_wglEnumerateVideoDevicesNV _EnumerateVideoDevicesNV; 2253 private PFN_wglBindVideoDeviceNV _BindVideoDeviceNV; 2254 private PFN_wglQueryCurrentContextNV _QueryCurrentContextNV; 2255 2256 // WGL_NV_swap_group, 2257 private PFN_wglJoinSwapGroupNV _JoinSwapGroupNV; 2258 private PFN_wglBindSwapBarrierNV _BindSwapBarrierNV; 2259 private PFN_wglQuerySwapGroupNV _QuerySwapGroupNV; 2260 private PFN_wglQueryMaxSwapGroupsNV _QueryMaxSwapGroupsNV; 2261 private PFN_wglQueryFrameCountNV _QueryFrameCountNV; 2262 private PFN_wglResetFrameCountNV _ResetFrameCountNV; 2263 2264 // WGL_NV_vertex_array_range, 2265 private PFN_wglAllocateMemoryNV _AllocateMemoryNV; 2266 private PFN_wglFreeMemoryNV _FreeMemoryNV; 2267 2268 // WGL_NV_video_capture, 2269 private PFN_wglBindVideoCaptureDeviceNV _BindVideoCaptureDeviceNV; 2270 private PFN_wglEnumerateVideoCaptureDevicesNV _EnumerateVideoCaptureDevicesNV; 2271 private PFN_wglLockVideoCaptureDeviceNV _LockVideoCaptureDeviceNV; 2272 private PFN_wglQueryVideoCaptureDeviceNV _QueryVideoCaptureDeviceNV; 2273 private PFN_wglReleaseVideoCaptureDeviceNV _ReleaseVideoCaptureDeviceNV; 2274 2275 // WGL_NV_video_output, 2276 private PFN_wglGetVideoDeviceNV _GetVideoDeviceNV; 2277 private PFN_wglReleaseVideoDeviceNV _ReleaseVideoDeviceNV; 2278 private PFN_wglBindVideoImageNV _BindVideoImageNV; 2279 private PFN_wglReleaseVideoImageNV _ReleaseVideoImageNV; 2280 private PFN_wglSendPbufferToVideoNV _SendPbufferToVideoNV; 2281 private PFN_wglGetVideoInfoNV _GetVideoInfoNV; 2282 2283 // WGL_OML_sync_control, 2284 private PFN_wglGetSyncValuesOML _GetSyncValuesOML; 2285 private PFN_wglGetMscRateOML _GetMscRateOML; 2286 private PFN_wglSwapBuffersMscOML _SwapBuffersMscOML; 2287 private PFN_wglSwapLayerBuffersMscOML _SwapLayerBuffersMscOML; 2288 private PFN_wglWaitForMscOML _WaitForMscOML; 2289 private PFN_wglWaitForSbcOML _WaitForSbcOML; 2290 }