http://bugs.winehq.org/show_bug.cgi?id=27194
--- Comment #6 from Silver number048@gmail.com 2011-07-04 08:16:02 CDT --- I can shed some additional light on the problem.
The GL_INVALID_OPERATION from the original description is actually not the real problem. Instead it's just the cause of a failed shader compile. The reason why the shader fails is because it contains illegal code. Looking at shader object 8 from the attached log it's apparent that the generated shader code uses sampler variables which hasn't been declared.
For example the error on line 94 corresponds to the line "R5.xyzw = (texture2D(Psampler5, R1.zw).xyzw);". Only Psampler[0-3] are defined!
Disabling GLSL isn't a real fix either because ironically the generated ARB shader also contains errors. (It's possible that nvidia is able to cope with these errors more graciously than AMD).
Because the error originates from the generation of the OpenGL shader, this is clearly a wine bug and totally unrelated to any hardware driver.
A short description of the bug could be: "Error during conversion from DirectX shader to OpenGL shader".
I tried to locate the bug in the wine source code. But even though I know in which files to search for the problem, I'm not familiar enough with the source code to be able to pinpoint the relevant locations.
Currently the latest git version is still effected by this bug.