I'm trying to pin down the cause of some recurrent shader errors I get from the asteroid-billboard model in YAH. These errors have been recorded with both official ATI drivers for my card and the unofficial Omega Drivers, and in both Shaders Full and Shaders Simple modes. They don't cause any ongoing issues in Simple Shader mode, but I think may be a factor in Oolite freezing on me in Shaders Full mode.
Anyway I've just tried running a debug build through gdb in Full Shaders, and spawned the offending billboards using the console. The game didn't freeze but on exiting normally I got what appears to be a relevant message from GDB. Does it help?
Log file:
GDB output:14:56:44.531 [log.header]: Opening log for Oolite version 1.75.4 (x86-32 debug) under Windows at 2011-11-13 14:56:44 +0000.
1 processor detected.
Build options: spoken messages, mass/fuel pricing, JavaScript console support, OXP verifier, localization tools, debug GraphViz support, JavaScript profiling.
Note that the contents of the log file can be adjusted by editing logcontrol.plist.
14:56:45.031 [display.mode.list.native]: Windows native resolution detected: 1280 x 800
14:56:47.484 [joystick.init]: Number of joysticks detected: 0
14:56:52.375 [searchPaths.dumpAll]: Unrestricted mode - resource paths:
Resources
../AddOns
../AddOns/AA_griff_shipset_all_in_1.oxp
../AddOns/AB_neolite-companion.oxp
../AddOns/AC_neolite-wolfies.oxp
../AddOns/Aquatics 2.24.oxp
../AddOns/Basic-debug.oxp
../AddOns/behemoth 2.6.oxp
../AddOns/BGS-A1.3.5.oxp
../AddOns/BountyScannerv2.0.oxp
../AddOns/BountyStatus 1.00.oxp
../AddOns/Breakable_HUD_IFF_Scanner.oxp
../AddOns/Breakable_Shield_Generators.oxp
../AddOns/Breakable_TorusDrive.oxp
../AddOns/Breakable_WitchDrive.oxp
../AddOns/Cabal_Common_Library1.4.5.oxp
../AddOns/change_default_jameson_ship.oxp
../AddOns/cobraClipper 1.1.1.oxp
../AddOns/DeepSpacePirates 1.3.oxp
../AddOns/Dredgers 2.4.5.oxp
../AddOns/Escape_Capsule_Locator 1.1.oxp
../AddOns/Escort Contracts 1.4.1.oxp
../AddOns/Flight Log 1.03.oxp
../AddOns/Fuel Station 1.32.oxp
../AddOns/Generation Ships.oxp
../AddOns/Green Gecko v1.0.oxp
../AddOns/griff_boa_prototype_normalmapped.oxp
../AddOns/griff_cobraIII _(alt)_subent missiles_multidecal.oxp
../AddOns/griff_rock_hermit_halfsize_textures.oxp
../AddOns/HyperCargo 1.04.oxp
../AddOns/Illegal_goods_tweak_1.5.oxp
../AddOns/impcourier2.oxp
../AddOns/Military Fuel Injectors 1.00.oxp
../AddOns/neocaduceus.oxp
../AddOns/neolite.oxp
../AddOns/OXPConfig2.0.4.oxp
../AddOns/Pirate_coves 1.3.oxp
../AddOns/PlanetFall 1.41.oxp
../AddOns/Police_Scanner_Upgrade 1.3.oxp
../AddOns/railgun.oxp
../AddOns/RandomHits1.4.11.oxp
../AddOns/RepairBots 2.03.oxp
../AddOns/Retro Rockets 1.00.oxp
../AddOns/Rock_Hermit_Locator1.3.2.oxp
../AddOns/sell_equipment.oxp
../AddOns/ShieldEqualizer+Capacitors(v1.3).oxp
../AddOns/Snoopers2.1.2.oxp
../AddOns/staer9_chopped_cobraV1.1.oxp
../AddOns/Stealth 1.04.oxp
../AddOns/Superhubv1.2.oxp
../AddOns/System_Redux.oxp
../AddOns/TalkativeCompass_1.0.3.oxp
../AddOns/Target Autolock Plus 1.12.oxp
../AddOns/Target Reticle 1.2.1.oxp
../AddOns/TCAT 1.10.oxp
../AddOns/thargoidcarrier.oxp
../AddOns/thargoid_wars 4.5.3.oxp
../AddOns/thargoid_wars 4.5.4.oxp
../AddOns/Thargorn_Threat 1.5.oxp
../AddOns/Tori2.01.oxp
../AddOns/transhab.oxp
../AddOns/Transports 2.52.oxp
../AddOns/UPS-courier v1.7.7.oxp
../AddOns/Vector1.5.oxp
../AddOns/Vortex 1.21.oxp
../AddOns/wormhole_restoration.oxp
../AddOns/WPB1.1.oxp
../AddOns/YOUR_AD_HERE.oxp
../AddOns/YOUR_AD_HERE_set_A.oxp
../AddOns/YOUR_AD_HERE_set_B.oxp
../AddOns/YOUR_AD_HERE_set_C.oxp
../AddOns/YOUR_AD_HERE_set_D.oxp
../AddOns/YOUR_AD_HERE_set_E.oxp
../AddOns/YOUR_AD_HERE_set_F.oxp
../AddOns/YOUR_AD_HERE_set_G.oxp
../AddOns/YOUR_AD_HERE_Z.oxp
../AddOns/Z_GrOovy_System_Stations.oxp
14:56:52.375 [rendering.opengl.version]: OpenGL renderer version: 2.1.8543 ("2.1.8543 Release"). Vendor: "ATI Technologies Inc.". Renderer: "ATI MOBILITY RADEON X700".
14:56:52.375 [rendering.opengl.extensions]: OpenGL extensions (94):
GL_EXT_abgr, GL_ARB_texture_env_crossbar, GL_ARB_shadow, GL_EXT_texture_edge_clamp, GL_EXT_separate_specular_color, GL_EXT_blend_minmax, GL_EXT_texture_object, GL_ARB_texture_env_add, GL_ATI_meminfo, GL_EXT_texture_cube_map, GL_EXT_texture_env_dot3, GL_EXT_framebuffer_blit, GL_ARB_texture_env_dot3, GL_ARB_shadow_ambient, GL_EXT_framebuffer_object, GL_EXT_blend_subtract, GL_EXT_copy_texture, GL_ARB_multitexture, GL_EXT_stencil_wrap, GL_ARB_texture_border_clamp, GL_ARB_texture_env_combine, GL_EXT_texgen_reflection, GL_EXT_framebuffer_multisample, GL_SGIS_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_packed_pixels, GL_SGIS_texture_lod, GL_ARB_depth_texture, GL_ARB_transpose_matrix, GL_ARB_occlusion_query, GL_NV_texgen_reflection, GL_ARB_shading_language_100, GL_ARB_fragment_program_shadow, GL_EXT_rescale_normal, GL_EXT_gpu_program_parameters, GL_ATI_fragment_shader, GL_ARB_map_buffer_range, GL_ATI_texture_float, GL_ARB_pixel_buffer_object, GL_EXT_secondary_color, GL_ARB_texture_mirrored_repeat, GL_EXT_draw_range_elements, GL_EXT_blend_equation_separate, GL_ARB_half_float_pixel, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_ARB_half_float_vertex, WGL_EXT_swap_control, GL_EXT_texture_swizzle, GL_SGIS_generate_mipmap, GL_ARB_texture_rectangle, GL_ARB_texture_non_power_of_two, GL_ARB_point_sprite, GL_EXT_texture_compression_s3tc, GL_EXT_packed_depth_stencil, GL_ARB_vertex_shader, GL_ARB_vertex_buffer_object, GL_WIN_swap_hint, GL_ARB_shader_objects, GL_EXT_texture_mirror_clamp, GL_ATI_separate_stencil, GL_ARB_framebuffer_object, GL_EXT_texture_rectangle, GL_ARB_fragment_shader, GL_KTX_buffer_region, GL_EXT_texture3D, GL_EXT_fog_coord, GL_EXT_subtexture, GL_ARB_window_pos, GL_EXT_point_parameters, GL_ARB_fragment_program, GL_EXT_texture_env_combine, GL_ARB_vertex_program, GL_EXT_compiled_vertex_array, GL_EXT_bgra, GL_ARB_texture_cube_map, GL_ARB_point_parameters, GL_EXT_vertex_array, GL_ARB_multisample, GL_ARB_vertex_array_object, GL_ARB_draw_buffers, GL_EXT_multi_draw_arrays, GL_ATI_draw_buffers, GL_ARB_texture_compression, GL_AMD_performance_monitor, GL_EXT_blend_func_separate, GL_ATI_texture_env_combine3, GL_ARB_texture_float, GL_EXT_texture_sRGB, GL_EXT_shadow_funcs, GL_ATI_texture_compression_3dc, GL_EXT_blend_color, GL_NV_blend_square, GL_ATI_envmap_bumpmap
14:56:52.437 [rendering.opengl.shader.support]: Shaders are supported.
14:57:00.156 [script.load.world.listAll]: Loaded 77 world scripts:
aquatics_equipment 1.1
aquatics_populator 2.24
behemoth 2.6
BGS-M 1.3.4
Bounty Scanner 2.0 2.00
Bounty Status Display 1.00
Breakable_HUD_IFF_Scanner 1.1
Breakable_Shield_Generators 1.0
Breakable_TorusDrive 1.0
Breakable_WitchDrive 1.1
Cabal_Common_Briefing 1.4.5
Cabal_Common_Comms 1.4.5
Cabal_Common_Functions 1.4.5
Cabal_Common_Keyboard 1.4.5
Cabal_Common_Music 1.4.5
Cabal_Common_OXPStrength 1.4.5
Caduceus Damage Control Node 2.0
clipperschedule 1.1.1
deep_space_dredger 2.4.5
deep_space_pirates 1.3
ecl_SAR_worldscript.js 1.1
ECM_jammerScript 1.00
el_viejo_green_gecko 1.0
escapePodLocator.js 1.1
Escort_Contracts 1.4.2
Escort_Contracts_Rep 1.4.1
FlightLog 1.02
FuelStation-Setup 1.31
Generation Ships 1.3
gg-character 0.1
HyperCargo 1.04
illegal_goods_missions 1.5
illegal_goods_tweak 1.5
mil_injectors.js 1.00
oolite-cloaking-device 1.75.4
oolite-constrictor-hunt 1.75.4
oolite-nova 1.75.4
oolite-thargoid-plans 1.75.4
oolite-trumbles 1.75.4
OXPConfig 2.0.4
PAGroove_superhubPopulator 1.1
Pi-Forty-Two Con stores 4.1.7
Pirate_Coves 1.3
PlanetFall 1.40
Police_Scanner_Upgrade 1.3
railgun 1.3
Random_Hits 1.4.11
Repair system 2.03
reticle_target_sensitive 1.2.1
rockHermit_Locator 1.3.3
sell_equipment 1.4
shieldequalizercapacitors 1.3
snoopers 2.1.2
stealth_missionScript 1.04
System Redux 1.2.2
Talkative Space Compass 1.0.3
targetAutolock 1.11
TCAT_masterScript 1.0
TCAT_missionScript 1.0
Test
thargoid_wars 4.5.3
Thargorn_Witchspace_Battle 1.5
transportSchedule 2.52
ups_container 1.7.7
ups_docs 1.7.7
ups_parcel 1.7.7
ups_slaves 1.7.7
ups_sun 1.7.7
vector 1.5
vector_insp 1.5
vector_missionArn 1.5
vector_news 1.5
vector_pad 1.5
vector_updater 1.5
vortex_maelstrom.js 1.12
vortex_player.js 1.12
wormhole-restoration 1.1
14:57:34.796 [Flightlog]: Kills Store set to player score
14:57:35.500 [loading.complete]: ========== Loading complete. ==========
14:57:41.375 [shader.uniform.unpermittedMethod]: Did not bind uniform "alertlevel" to property -[ShipEntity alertCondition] - unpermitted method.
14:57:42.921 [debugTCP.connected]: Connected to debug console "DebugConsole".
14:59:20.125 [shader.load.fullModeFailed]: ----- WARNING: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment in full complexity mode, trying simple mode.
14:59:20.250 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:20.250 [shader.load.failed]: ***** ERROR: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment.
14:59:20.281 [files.notFound]: ----- WARNING: Could not find texture file "screen-content".
14:59:20.890 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:20.890 [shader.load.fullModeFailed]: ----- WARNING: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment in full complexity mode, trying simple mode.
14:59:21.046 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:21.046 [shader.load.failed]: ***** ERROR: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment.
14:59:21.062 [files.notFound]: ----- WARNING: Could not find texture file "screen-content".
14:59:21.250 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:21.250 [shader.load.fullModeFailed]: ----- WARNING: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment in full complexity mode, trying simple mode.
14:59:21.390 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:21.390 [shader.load.failed]: ***** ERROR: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment.
14:59:21.406 [files.notFound]: ----- WARNING: Could not find texture file "screen-content".
14:59:21.562 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:21.562 [shader.load.fullModeFailed]: ----- WARNING: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment in full complexity mode, trying simple mode.
14:59:21.703 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:21.703 [shader.load.failed]: ***** ERROR: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment.
14:59:21.718 [files.notFound]: ----- WARNING: Could not find texture file "screen-content".
14:59:21.875 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:21.875 [shader.load.fullModeFailed]: ----- WARNING: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment in full complexity mode, trying simple mode.
14:59:22.000 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:22.000 [shader.load.failed]: ***** ERROR: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment.
14:59:22.031 [files.notFound]: ----- WARNING: Could not find texture file "screen-content".
14:59:22.171 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:22.171 [shader.load.fullModeFailed]: ----- WARNING: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment in full complexity mode, trying simple mode.
14:59:22.281 [shader.link.failure]: ***** ERROR: GLSL shader program linking failed for yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment:
>>>>> GLSL log:
Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
14:59:22.296 [shader.load.failed]: ***** ERROR: Could not build shader yah_ahruman-billboard.vertex/yah_ahruman-billboard.fragment.
14:59:22.312 [files.notFound]: ----- WARNING: Could not find texture file "screen-content".
15:02:24.906 [gameController.exitApp]: .GNUstepDefaults synchronized.
Closing log at 2011-11-13 15:02:24 +0000.
Well tried again and did get my freeze - last line in the log is the same shader error. But nothing useful from GDB. I reckon the problem is the ATI driver rather than Oolite. I'll try disabling the asteroid-billboard shipdata entry by giving it a nonsense role and see if I can play freeze free will Full Shaders.Starting program: c:\oolite-svn\trunk\oolite.app/oolite.dbg.exe
[New thread 1836.0xb68]
[New thread 1836.0xfcc]
[New thread 1836.0xa5c]
[New thread 1836.0xf34]
[New thread 1836.0x6f4]
[New thread 1836.0xe88]
[New thread 1836.0xc38]
[New thread 1836.0xb08]
[New thread 1836.0xfd8]
[New thread 1836.0x6f8]
[New thread 1836.0x1c8]
[New thread 1836.0xfdc]
[New thread 1836.0x8e0]
[New thread 1836.0xf14]
[New thread 1836.0xe00]
[New thread 1836.0x1bc]
[New thread 1836.0xdd8]
[New thread 1836.0xa1c]
[New thread 1836.0x88]
[New thread 1836.0x9ec]
[New thread 1836.0x878]
[New thread 1836.0xa64]
Program exited normally.
(gdb) warning: WARNING:
warning: built-in varying gl_TexCoord [0] has mismatched access semantics between the vertex and fragment shader
warning: WARNING:
warning: built-in varying gl_TexCoord [0] has mismatched access semantics between the vertex and fragment shader
Edit 2 add - nope still freezing and other visual shader errors although no log message. Failed experiment to try and overide ATI's restriction on using it's newer drivers on older cards, via manually extracting the the relevant driver files. Ah well back to Simple Shaders....