[REL] Dummy D3D DLL's that draws nothing in 3D mode
-
Yes. There’s an option to build only swrast. Build only swrast for gallium and everything else! Don’t build llvmpipe either!
You only need special stuff for configure, make and make install will work. Just make sure that you delete original mesa.
OR YOU CAN INSTALL libgl1-mesa-swx11 and forget all this busywork.
-
Status Update:
Loaded up an Amazon AWS VM tonight with Windows 2012 running under the AWS hypervisor (Xen). I used a 2 core VM with 7.5 GB RAM. I had used this server to run a 2D server previously. I decided to try Win Server 2012 (rather than 2008 ) as I already had an Image with BMS U4 made and ready to launch.
I connected via RDP, started BMS in Window mode and started a Rolling Fire campaign and put the server in the 3D world with a C-17 Ramp Starting at Kimhae. I disconnected the RDP and connected my client at 512 speed (no other clients). I then flew a SEAD mission out of Kunsan and everything seemed to work flawlessly. No lag or any other significant anomalies observed. It was a long mission so I was airborne for close to an hour. The AWS log said that I was running consistently at ~65% average load on the server while the campaign was running. Unfortunately I didn’t compare that load to leaving the server in 2D which I think would be interesting.
A quick question for sthalik. I turned off all the shaders in the configuration screen as directed. However, I can not get to the Setup screen in BMS to disable AA, AF, etc as I believe it requires DirectDraw which the VM does not have (BMS hangs if you try to enter the screen). So would having AA, AF running be adding overhead or it doesn’t matter? I guess I could disable those on a local machine and possibly upload the appropriate configuration files to the server (I think they are dx9display.dsp and windowconfig.dat).
Anyway, it was a quick test but I’m pretty impressed with the results so far. I’m off to try a different Xen based VM on a better gaming network and I’ll begin testing more clients. But so far what I’m seeing is pretty impressive.
Post any questions/suggestions here.
EDIT: I compared running a campaign in 2D versus 3D and there is very little difference in the amount of CPU and RAM being used.
-
Either add a sound card or delete particlesys.ini
It’s even in first post
-
Ok, I’ll try that (deleting the file… can’t add a soundcard). Thanks!
EDIT: Renaming particlesys.ini didn’t work… still crashes when accessing the Setup screen.
-
With linux mint x86 I was able to get into pit :woohoo: (I installed libgl1-mesa-swx11 from a debian repo. Good hint sthalik!)
“Bad” thing is, I see cockpit and other jets ‘n’ stuff ^^ Looks like the modified dlls are not loaded for some reason
ingame graphics
configure graphics
most sofisticated launch approach
the bms x86-dir
wine dll-settings
wine –version = wine-1.5.24-241-gff597d8
Any suggestions?
-
Well done comrad Stahlik. Dedicated version for BMS
-
Yes. There’s a hint:
apt-get purge wine
apt-get build-dep wine
apt-get install libgl1-mesa-swx11
install wine from my repo???
PROFIT!
Oh, you need to “git checkout wined3d-null”, don’t build default branch!!!
-
Thanks for the fast answer! I tried that, it didn’t work. I’ll restart from scratch with a debian testing. The libraries of linux mint - i used to compile wine - aren’t the newest, maybe there’s the error.
-
Bet you forgot to “git checkout wined3d-null” after cloning.
-
Yes, i just cloned, ./configure –prefix=/usr && make && sudo checkinstall (…)
:mrgreen:
Definitely a good point to change with debian (installing …).
-
So does it work on Linux for you? And y’all need to to read and follow instructions closely or I’ll suffer a nervous breakdown
DO NOT USE DLL’S ON LINUX IT’S ENOUGH TO BUILD WINE!!!
-
DO NOT USE DLL’S ON LINUX IT’S ENOUGH TO BUILD WINE!!!
Interesting Don’t panic if it’s not working it’s of course my fault so just relax. Due to speed I switched to my laptop. It’s compiling wine-hacks (this time proper) right now.
Update: Looks like it’s working! I’ll just check MP!
-
Assume everything worked fine
-
:sad:
SOMEONE forgot to install the swx11. Without it, BMS is quite memory hungry and slow but it works as suspected. As soon as I install mesa-swx11 (which automatically removes some graphic libs like glx) it won’t run anymore…
Falcon Crashlog (particlesys.ini renamed):
================================== CRASHLOG ===================================== Falcon BMS.exe caused an EXCEPTION_BREAKPOINT in: 0073:048875D1 Falcon BMS.exe, D3DDevice::SetDisplayMode()+625 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\ddstuff\d3ddevice.cpp, line 549 Exception handler called in UnhandledExceptionHandler. Bytes at CS:EIP: CC B8 01 00 00 00 5F 5E 5D 5B 81 C4 5C 04 00 00 Registers: EAX=0x05146178 EBX=0x04D2B2A0 ECX=0x00000000 EDX=0x0000004B ESI=0x00000001 EDI=0x00000000 EBP=0x05145718 ESP=0x0032F0F0 EIP=0x048875D1 FLG=0x00200206 CS=0x0073 DS=0x007B SS=0x007B ES=0x007B FS=0x0033 GS=0x003B Call Stack: 0073:048875D1 Falcon BMS.exe, D3DDevice::SetDisplayMode()+625 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\ddstuff\d3ddevice.cpp, line 549, Parameters(0x00000000 0x00000000 0x00000000 0x00000000) 0073:048875D1 Falcon BMS.exe, D3DDevice::SetDisplayMode()+625 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\ddstuff\d3ddevice.cpp, line 549, Parameters(0x00000000 0x00000000 0x00000000 0x00000000) 0073:048875D1 Falcon BMS.exe, D3DDevice::SetDisplayMode()+625 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\ddstuff\d3ddevice.cpp, line 549, Parameters(0x00000000 0x00000000 0x00000000 0x00000000) (repeats this until I close the programm)
I start everything with xinit :0 to use as little ressources as possible
#~/.xinitrc #WINEPREFIX=~/BMS/wine wine "C:\Falcon BMS 4.32\Config.exe" -nomovie -window WINEPREFIX=~/BMS/wine wine "C:\Falcon BMS 4.32\Bin\x86\Falcon BMS.exe" -nomovie #WINEPREFIX=~/BMS/wine wine ~/BMS/Shared/Falcon\ BMS\ 4.32\ Setup/Setup.exe -nomovie -window
-
You need to run BMS under tightvnc. Verify using the glxinfo command that a visual is present and obviously restart the tightvnc session after changing X11 libraries.
-
I want to say thank you for this post because to understand it, I had to research what Wine is and why its even being used for a headless BMS server. This was illuminating and I believe Linux and Wine poses a threat to MS as people can run Win apps at full speed without running Windows or VMs. Explains in part as to why MS’ move to get OEM PC vendors to use a secure boot to lock out any OS other than Win8. Did I get this right? (sorry if a bit OT).
-
It’s only for ARM though. Lobbying Restricted Boot for x86oids will take years, if not decades.
I’d rather run FPGA trash than Restricted Boot.
I’d rather run TTL.
-
I installed tightvncserver. I can connect there and try to start Falcon BMS in it but the problem is exactly the same.
Heres the output of glxinfo “inside” the running tightvncserver (I don’t really know what to look for):
trigger@linux-mint ~/.vnc $ cat ~/BMS/glxinfo name of display: :2 display: :2 screen: 0 direct rendering: Yes server glx vendor string: Brian Paul server glx version string: 1.4 Mesa 8.0.4 server glx extensions: GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap, GLX_MESA_release_buffers, GLX_ARB_get_proc_address, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer client glx vendor string: Brian Paul client glx version string: 1.4 Mesa 8.0.4 client glx extensions: GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap, GLX_MESA_release_buffers, GLX_ARB_get_proc_address, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer GLX version: 1.4 GLX extensions: GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap, GLX_MESA_release_buffers, GLX_ARB_get_proc_address, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer OpenGL vendor string: Brian Paul OpenGL renderer string: Mesa X11 OpenGL version string: 2.1 Mesa 8.0.4 OpenGL shading language version string: 1.20 OpenGL extensions: GL_ARB_multisample, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_copy_texture, GL_EXT_polygon_offset, GL_EXT_subtexture, GL_EXT_texture_object, GL_EXT_vertex_array, GL_EXT_compiled_vertex_array, GL_EXT_texture, GL_EXT_texture3D, GL_IBM_rasterpos_clip, GL_ARB_point_parameters, GL_EXT_draw_range_elements, GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_rescale_normal, GL_EXT_separate_specular_color, GL_EXT_texture_edge_clamp, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_ARB_multitexture, GL_IBM_multimode_draw_arrays, GL_IBM_texture_mirrored_repeat, GL_3DFX_texture_compression_FXT1, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_transpose_matrix, GL_EXT_blend_func_separate, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_secondary_color, GL_EXT_texture_env_add, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, GL_INGR_blend_func_separate, GL_MESA_resize_buffers, GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texgen_reflection, GL_NV_texture_env_combine4, GL_SUN_multi_draw_arrays, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_EXT_framebuffer_object, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_MESA_window_pos, GL_NV_packed_depth_stencil, GL_NV_texture_rectangle, GL_NV_vertex_program, GL_ARB_depth_texture, GL_ARB_occlusion_query, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, GL_ARB_window_pos, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_EXT_stencil_two_side, GL_EXT_texture_cube_map, GL_NV_depth_clamp, GL_NV_fragment_program, GL_NV_point_sprite, GL_NV_vertex_program1_1, GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ARB_draw_buffers, GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_shader_objects, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ATI_draw_buffers, GL_ATI_texture_env_combine3, GL_EXT_depth_bounds_test, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_ARB_depth_clamp, GL_ARB_fragment_program_shadow, GL_ARB_half_float_pixel, GL_ARB_occlusion_query2, GL_ARB_point_sprite, GL_ARB_shading_language_100, GL_ARB_sync, GL_ARB_texture_non_power_of_two, GL_ARB_vertex_buffer_object, GL_ATI_blend_equation_separate, GL_EXT_blend_equation_separate, GL_OES_read_format, GL_ARB_pixel_buffer_object, GL_ARB_texture_compression_rgtc, GL_ARB_texture_rectangle, GL_ATI_texture_compression_3dc, GL_EXT_pixel_buffer_object, GL_EXT_texture_compression_rgtc, GL_EXT_texture_mirror_clamp, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_shared_exponent, GL_ARB_framebuffer_object, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_packed_depth_stencil, GL_NV_fragment_program_option, GL_APPLE_object_purgeable, GL_ARB_vertex_array_object, GL_ATI_separate_stencil, GL_ATI_texture_mirror_once, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_gpu_program_parameters, GL_EXT_texture_array, GL_EXT_texture_compression_latc, GL_EXT_texture_sRGB_decode, GL_EXT_timer_query, GL_MESA_texture_array, GL_ARB_copy_buffer, GL_ARB_draw_instanced, GL_ARB_half_float_vertex, GL_ARB_map_buffer_range, GL_ARB_texture_rg, GL_ARB_texture_swizzle, GL_ARB_vertex_array_bgra, GL_EXT_separate_shader_objects, GL_EXT_texture_swizzle, GL_EXT_vertex_array_bgra, GL_NV_conditional_render, GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, GL_ARB_provoking_vertex, GL_EXT_provoking_vertex, GL_ARB_robustness, GL_ARB_texture_storage 1 GLX Visuals visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat ---------------------------------------------------------------------------- 0x022 24 tc 0 24 0 r y . 8 8 8 0 . . 0 16 8 16 16 16 0 0 0 None 1 GLXFBConfigs: visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat ---------------------------------------------------------------------------- 0x022 24 tc 0 24 0 r y . 8 8 8 0 . . 0 16 8 16 16 16 16 0 0 None
my ~/.vnc/xstartup
#!/bin/sh WINEPREFIX=~/BMS/wine wine "C:\Falcon BMS 4.32\Bin\x86\Falcon BMS.exe" -nomovie #glxinfo >> ~/BMS/glxinfo
how I launch tightvnc (I can connect and see what I usally see)
vncserver -geometry 1024x768 :2
output of xvnc & wine
trigger@linux-mint ~/.vnc $ tail -f linux-mint\:2.log 05/03/13 01:02:31 All Rights Reserved. 05/03/13 01:02:31 See http://www.tightvnc.com/ for information on TightVNC 05/03/13 01:02:31 Desktop name 'X' (linux-mint:2) 05/03/13 01:02:31 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t 05/03/13 01:02:31 Listening for VNC connections on TCP port 5902 Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring err:winediag:X11DRV_WineGL_InitOpenglInfo The Mesa OpenGL driver is using software rendering, most likely your OpenGL drivers haven't been installed correctly (using GL renderer "Mesa X11", version "2.1 Mesa 8.0.4"). fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Mesa X11"). fixme:win:EnumDisplayDevicesW ((null),0,0x32f4e4,0x00000000), stub! 05/03/13 01:02:39 Got connection from client 192.168.178.200 05/03/13 01:02:39 Using protocol version 3.8 05/03/13 01:02:39 Enabling TightVNC protocol extensions fixme:dbghelp_msc:codeview_add_type_enum_field_list Unsupported type 1404 in ENUM field list 05/03/13 01:02:43 Full-control authentication passed by 192.168.178.200 05/03/13 01:02:43 Pixel format for client 192.168.178.200: 05/03/13 01:02:43 8 bpp, depth 8 05/03/13 01:02:43 true colour: max r 7 g 7 b 3, shift r 0 g 3 b 6 05/03/13 01:02:43 Using tight encoding for client 192.168.178.200 05/03/13 01:02:43 rfbProcessClientNormalMessage: ignoring unknown encoding 8 05/03/13 01:02:43 Using compression level 6 for client 192.168.178.200 05/03/13 01:02:43 Enabling X-style cursor updates for client 192.168.178.200 05/03/13 01:02:43 Enabling cursor position updates for client 192.168.178.200 05/03/13 01:02:43 Using image quality level 6 for client 192.168.178.200 05/03/13 01:02:43 Enabling LastRect protocol extension for client 192.168.178.200 05/03/13 01:02:43 rfbProcessClientNormalMessage: ignoring unknown encoding -223 fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithDataSegs fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithHandleData fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpScanMemory ```(its spamming the error.txt just like before) Please feel free to take your time (at least a few days) to answer. I think we might cause each other stress ;) Your approach is definitely awesome, no matter how long some unworthy Loki struggles with reproducing the result :drink: ;)
-
Did you install libgl1-mesa-swx11-dev? Sorry for not mentioning this earlier. No issue, my fault.
Pay attention to config.log when configuring Wine. It shouldn’t die with –enable-opengl most importantly.
It seems like the error is at compile-time and not runtime. You pasted this line:
direct rendering: Yes
from glxinfo. Install the -dev package, recompile with --enable-opengl, when passed that option it’ll die immediately when opengl libs aren’t present.
No delay needed unless you need to. I’m anxious to have another person get this working on Linux
-
Hi sthalik,
I’m following you two, while attempting my out linux thing (I’m trying the Lubuntu 13.04 Alpha).
I’ve compiled the wine from your source,
When I launch BMS with particlesys.ini in place, I get a black screen. when I’m going into 3D without it I CTD in stead of going into the cockpit.
Crashlog is blaming particle sys.================================== CRASHLOG ===================================== Falcon BMS.exe caused an EXCEPTION_ACCESS_VIOLATION in: 0073:04496556 Falcon BMS.exe, ParticleSystem::LoadParameters()+5622 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\objects\particlesystem.cpp, line 3833+18 byte(s) Exception handler called in UnhandledExceptionHandler. Read from location 0x00000434 caused an access violation. Bytes at CS:EIP: D9 44 10 4C D9 1C 24 E8 3E 1C 3A 00 F3 0F 59 05 Registers: EAX=0x000003E8 EBX=0x00000001 ECX=0x00000020 EDX=0x00000000 ESI=0x07B1A240 EDI=0x00000000 EBP=0x0033EF01 ESP=0x0033ED1C EIP=0x04496556 FLG=0x00210216 CS=0x0073 DS=0x007B SS=0x007B ES=0x007B FS=0x0033 GS=0x003B Call Stack: 0073:04496556 Falcon BMS.exe, ParticleSystem::LoadParameters()+5622 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\objects\particlesystem.cpp, line 3833+18 byte(s), Parameters(0x00003500 0x00000000 0x00000000 0x00000000) 0073:04496556 Falcon BMS.exe, ParticleSystem::LoadParameters()+5622 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\objects\particlesystem.cpp, line 3833+18 byte(s), Parameters(0x00003500 0x00000000 0x00000000 0x00000000) 0073:04496556 Falcon BMS.exe, ParticleSystem::LoadParameters()+5622 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\objects\particlesystem.cpp, line 3833+18 byte(s), Parameters(0x00003500 0x00000000 0x00000000 0x00000000) 0073:04496556 Falcon BMS.exe, ParticleSystem::LoadParameters()+5622 byte(s), d:\wip\bms\svn\source\4.32-release\graphics\objects\particlesystem.cpp, line 3833+18 byte(s), Parameters(0x00003500 0x00000000 0x00000000 0x00000000)
Any thoughts?
In addition,
When I’m trying –enable-opengl on the wine config. he’s throwing “configure: WARNING: unrecognized options: --enable-opengl” at meand more to that I think that the lack of mesa-swx11 on everything later then ubuntu 11.10 has somewhat causing issues…
name of display: :0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.4 server glx extensions: GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_MESA_copy_sub_buffer client glx vendor string: Mesa Project and SGI client glx version string: 1.4 client glx extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_framebuffer_sRGB, GLX_EXT_create_context_es2_profile, GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event GLX version: 1.4 GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_multithread_makecurrent, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_EXT_texture_from_pixmap OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x301) OpenGL version string: 2.1 Mesa 9.0.2 OpenGL shading language version string: 1.20 OpenGL extensions: GL_ARB_multisample, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_copy_texture, GL_EXT_polygon_offset, GL_EXT_subtexture, GL_EXT_texture_object, GL_EXT_vertex_array, GL_EXT_compiled_vertex_array, GL_EXT_texture, GL_EXT_texture3D, GL_IBM_rasterpos_clip, GL_ARB_point_parameters, GL_EXT_draw_range_elements, GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_rescale_normal, GL_EXT_separate_specular_color, GL_EXT_texture_edge_clamp, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_ARB_multitexture, GL_IBM_multimode_draw_arrays, GL_IBM_texture_mirrored_repeat, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_transpose_matrix, GL_EXT_blend_func_separate, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_secondary_color, GL_EXT_texture_env_add, GL_EXT_texture_lod_bias, GL_INGR_blend_func_separate, GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texgen_reflection, GL_NV_texture_env_combine4, GL_SUN_multi_draw_arrays, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_EXT_framebuffer_object, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_MESA_window_pos, GL_NV_packed_depth_stencil, GL_NV_texture_rectangle, GL_ARB_depth_texture, GL_ARB_occlusion_query, GL_ARB_shadow, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, GL_ARB_window_pos, GL_EXT_stencil_two_side, GL_EXT_texture_cube_map, GL_NV_fog_distance, GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ARB_draw_buffers, GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_shader_objects, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ATI_draw_buffers, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_NV_primitive_restart, GL_ARB_fragment_program_shadow, GL_ARB_half_float_pixel, GL_ARB_occlusion_query2, GL_ARB_point_sprite, GL_ARB_shading_language_100, GL_ARB_sync, GL_ARB_texture_non_power_of_two, GL_ARB_vertex_buffer_object, GL_ATI_blend_equation_separate, GL_EXT_blend_equation_separate, GL_OES_read_format, GL_ARB_pixel_buffer_object, GL_ARB_texture_compression_rgtc, GL_ARB_texture_float, GL_ARB_texture_rectangle, GL_ATI_texture_compression_3dc, GL_EXT_packed_float, GL_EXT_pixel_buffer_object, GL_EXT_texture_compression_rgtc, GL_EXT_texture_mirror_clamp, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_shared_exponent, GL_ARB_framebuffer_object, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_packed_depth_stencil, GL_ARB_vertex_array_object, GL_ATI_separate_stencil, GL_ATI_texture_mirror_once, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_gpu_program_parameters, GL_EXT_texture_compression_latc, GL_EXT_texture_sRGB_decode, GL_OES_EGL_image, GL_ARB_copy_buffer, GL_ARB_draw_instanced, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays, GL_ARB_map_buffer_range, GL_ARB_texture_rg, GL_ARB_texture_swizzle, GL_ARB_vertex_array_bgra, GL_EXT_separate_shader_objects, GL_EXT_texture_swizzle, GL_EXT_vertex_array_bgra, GL_NV_conditional_render, GL_AMD_draw_buffers_blend, GL_ARB_ES2_compatibility, GL_ARB_debug_output, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, GL_ARB_provoking_vertex, GL_ARB_sampler_objects, GL_ARB_shader_texture_lod, GL_ARB_vertex_type_2_10_10_10_rev, GL_EXT_provoking_vertex, GL_EXT_texture_snorm, GL_MESA_texture_signed_rgba, GL_ARB_robustness, GL_ARB_texture_storage, GL_ARB_invalidate_subdata