Glow is fixed in cvs hey good job
The problems with blooms moving is related to waterscroll, and I discovered this by chance - disabling waterscroll stops the problem. Looks like there are some things going on which are related to each other, but I haven't wrapped my head around it yet.
If gl_paranoid is on there are invalid ops, usually only two are often but if the map has textures that do waterscroll then there are more. There is also one straight off that only occurs once while the screen is setup.
Log was like 25MB so I went through and deleted all duplicates to get a single instance of each:
- Code: Select all
GL_INVALID_OPERATION at cl_screen.c:1411
GL_INVALID_OPERATION at gl_rmain.c:916
GL_INVALID_OPERATION at gl_backend.c:604
GL_INVALID_OPERATION at gl_backend.c:547
GL_INVALID_OPERATION at gl_backend.c:560
GL_INVALID_OPERATION at gl_backend.c:642
GL_INVALID_OPERATION at gl_backend.c:569
GL_INVALID_OPERATION at gl_backend.c:1331
That's in the order in which they occur. Tried to look for differences in API behaviour between Apple's implementation and a reference (used Mesa) and only found a few things.
Did some benchmarks with all texunits enabled versus setting them to 1 to see if it makes any difference, because there doesn't seem to be any difference at all; and there was none - neither synthetic nor in-game (no diff in FPS). I realize the DP engine is for most part shader-bound by GPU and performance is CPU-limited, but there ought to be a diff. Can you confirm whether there is a performance diff or not?
If you look at those lines, there are colorfloat err depthmask err blendfunc err, so many I don't have enough experience with DP to judge which is causing what (or not).
So the only thing I discovered was different in the API docs would be this and not sure if it's a factor, (besides initially depth buffer writing is enabled in OSX)...
DP:
glquake.h extern void (GLAPIENTRY *qglActiveTexture) (GLenum);
OSX:
gl.h extern void glActiveTexture (GLenum texture);
and
glext.h extern void glActiveTextureARB (GLenum);
[same situation for qglClientActiveTexture also]