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