==================================================================
QeffectsGL initialized at Mon Aug 20 21:31:57 2012
==================================================================

Settings: D:\8989\QeffectsGL.ini
Module: hl.exe
Loading "F:\WINDOWS\system32\opengl32.dll": success
Loading functions: success
WARNING: 8x FSAA is not supported
Using 6x FSAA
Using extension: GL_ARB_multitexture (8 TMU)
Using extension: GL_ARB_texture_rectangle
Using extension: GL_ARB_depth_texture
Using extension: GL_EXT_texture_edge_clamp
Using extension: GL_EXT_texture_filter_anisotropic (max 16)
Using extension: GL_ARB_shader_objects
Using extension: GL_ARB_shading_language_100
Using extension: GL_ARB_vertex_shader
Using extension: GL_ARB_fragment_shader
InitializeGL
Checking hardware caps:
Bloom effect: YES
SSAO effect: YES
Color correction: YES
Emboss: DISABLED
ERROR: Failed to link shaders!

Vertex:
uniform vec4 Local0;
void main(void)
{
gl_TexCoord[0] = gl_MultiTexCoord0.xyxy * vec4( 1.0, 1.0, 1.0 / Local0.z, 1.0 / Local0.w );
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}


Fragment:
#extension GL_ARB_texture_rectangle : enable
uniform vec4 Local0;
uniform vec4 Local1;
uniform sampler2DRect Texture0;
uniform sampler2D Texture1;
float read_depth( vec2 coord )
{
return (2.0 * Local0.x) / (Local0.y + Local0.x - texture2DRect( Texture0, coord ).r * (Local0.y - Local0.x));
}
vec2 rand( vec2 coord )
{
float coordDot = dot( coord, vec2( 12.9898, 78.233 ) );
float noiseX = fract( sin( coordDot ) * 43758.5453 );
float noiseY = fract( sin( coordDot * 2.0 ) * 43758.5453 );
return vec2( noiseX, noiseY ) * 0.004;
}
float compare_depth( float depth1, float depth2 )
{
float aoRange = 60.0;
float depthDiff = depth1 - depth2;
float propagation = depthDiff * (Local0.y - Local0.x);
float rangeDiff = sqrt(clamp( 1.0 - propagation / aoRange, 0.0, 1.0 ));
float ao = Local1.y * depthDiff * (2.0 - depthDiff) * rangeDiff;
return ao;
}
void main(void)
{
float depth = read_depth( gl_TexCoord[0].xy );
float ao;
if ( depth > 0.005 && depth < Local1.x ) {
vec2 noise = rand( gl_TexCoord[0].zw );
float distScale = 1.0 + 5.0 * sqrt( 1.0 - depth );
float w = distScale + (noise.x*(1.0-noise.x)) * Local0.z;
float h = distScale + (noise.y*(1.0-noise.y)) * Local0.w;
vec2 ofs;
float d;
int samples = 3;
int rings = 3;
float TWO_PI = 2.0 * 3.14159265;
for ( int i = 1 ; i <= rings; i++ ) {
float angleStep = TWO_PI / float( samples * i );
for ( int j = 1 ; j <= samples*i; j++ ) {
ofs.x = cos( float(j) * angleStep ) * float(i) * w;
ofs.y = sin( float(j) * angleStep ) * float(i) * h;
d = read_depth( gl_TexCoord[0].xy + ofs );
// ignore occluder with too low depth value (possible viewmodel)
if ( d < 0.005 ) continue;
ao += compare_depth( depth, d );
}
}
ao = 1.0 - ao;
} else {
ao = 1.0;
}
gl_FragColor.rgb = vec3( ao );
gl_FragColor.a = 1.0;
}

Compile log: Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
ShutdownGL
ShutdownGL

==================================================================
QeffectsGL shutdown at Mon Aug 20 21:33:29 2012
==================================================================