NSight 3.0 (final) & OpenGL 3.3

Hi

Is NSight (the latest one) is able to debug app based on opengl 3.3 (glsl 1.5) ?

If i hit ‘start graphics debugging’ in vc, the app runs (btw. how to select ‘working directory’ since the option from vc project debugging tabs seems to not work (vc2010)), then the hud is displayed, but when i want to capture frame for analysis it says that glTexParameteri is called with texture ‘0’ and that this is not supported …
since i have only one place where glTexParameteri is called in whole engine i’v verified that it is NOT the case (verification code below)

 uint32_t TID = 0;
 uint32_t BID = 0;

 if (Target == GL_TEXTURE_1D)
	 BID = GL_TEXTURE_BINDING_1D;
 else
 if (Target == GL_TEXTURE_2D)
	 BID = GL_TEXTURE_BINDING_2D;
 else
 if (Target == GL_TEXTURE_2D_ARRAY)
	 BID = GL_TEXTURE_BINDING_2D_ARRAY;
 else
 if (Target == GL_TEXTURE_CUBE_MAP)
	 BID = GL_TEXTURE_BINDING_CUBE_MAP;
 else
 if (Target == GL_TEXTURE_3D)
	 BID = GL_TEXTURE_BINDING_3D;
 else
	 Trace(error, "DAL-GLSL - Unknown target type !");

 glGetIntegerv(BID, (GLint *)&TID);
 if (TID == 0)
	 Trace(error, "DAL-GLSL - Texture '0' cannot be used !");

     glTexParameteri(Target, Parameter, Value);

and it never hits any trace
if I run app with the verifier:

Nvda.Launcher.100.exe -compatlog Compat.txt app.exe

then the out is:

        glTexImage2D (Zero texture object not supported): 0x0000000A
     glTexParameteri (Zero texture object not supported): 0x00000001

but since I never call glTexParameteri for texture ‘0’ I dont know what this is all about … any ideas ?

THANKS!

ok, after some twidling here and there i’v pinpointed the glTexParameteri error:

if i do something like this for texture:
internalFormat = GL_R8
format = GL_RED
glTexImage2D(…)

glTexParameteri(target, GL_TEXTURE_SWIZZLE_R, GL_ONE);
glTexParameteri(target, GL_TEXTURE_SWIZZLE_G, GL_ONE);
glTexParameteri(target, GL_TEXTURE_SWIZZLE_B, GL_ONE);
glTexParameteri(target, GL_TEXTURE_SWIZZLE_A, GL_RED);

the nsight complains about:

glTexParameteri (Zero texture object not supported): 0x00000001

(the texture in question is then sampled in fragment shader and shows on screen just fine (white texture with red as alpha)

WTF ?

changing to:

 GLint Swizzles[] =
 {
	 GL_ONE,
	 GL_ONE,
	 GL_ONE,
	 GL_RED,
 };

 glTexParameteriv(target, GL_TEXTURE_SWIZZLE_RGBA, Swizzles);

does not solve anything, just the nsight now complains about glTexParameteriv instead of glTexParameteri

i cant figure out what’s wrong with glTexImage2D (Zero texture object not supported): 0x0000000A
only if i could know what textureID it is …

Please refer to http://http.developer.nvidia.com/NsightVisualStudio/3.0/Documentation/UserGuide/HTML/Content/Release_Notes_Main.htm for the OpenGL support in Nsight 3.0

Seeing you were accessing “Start Graphics Debugging”, I would note that Nsight 3.0 only supports frame debugging for OGL 4.2 core. (BTW, right click project and check Nsight Properties can set the working directory).