AnsweredAssumed Answered

CodeXL 1.6.7249 issue

Question asked by ronan.bel on Dec 24, 2014

Hi, trying to use the 1.6.7249.0 with my app, CodeXL "halts" (opens a notification report window)

 

it seems to happen when my code reaches a call to glGetTransformFeedbackVarying

 

< outside CodeXL : valid results >

Mode GL_INTERLEAVED_ATTRIBS - Num : 2

SO_OUTPUT_0 : (8b52)(GL_FLOAT_VEC4)SL_SO_OUTPUT_00

SO_OUTPUT_1 : (8b52)(GL_FLOAT_VEC4)SL_SO_OUTPUT_01

 

< inside CodeXL : wrong results >

Mode GL_INTERLEAVED_ATTRIBS - Num : 2

SO_OUTPUT_0 : (0000)(UNKNOWN)

 

 

 

< code snippet : begin >

 

if( _u8_StreamOutputNum > 0 )
{
GLint iMode = 0;
glGetProgramiv( _ui_ProgramId, GL_TRANSFORM_FEEDBACK_BUFFER_MODE, &iMode );
glReportError( "glGetProgramiv" );
GLint iVaryings = 0;
glGetProgramiv( _ui_ProgramId, GL_TRANSFORM_FEEDBACK_VARYINGS, &iVaryings );
glReportError( "glGetProgramiv" );

 

 

const char *pz_Type;
switch( iMode )
{
caseGL_INTERLEAVED_ATTRIBS:
pz_Type = "GL_INTERLEAVED_ATTRIBS"; break;
caseGL_SEPARATE_ATTRIBS:
pz_Type = "GL_SEPARATE_ATTRIBS"; break;
default:
pz_Type = "UNKNOWN"; break;
}

 

 

OutputDebugStringF(
"Mode %s - Num : %d\n",
pz_Type,
iVaryings );

 

 

_u8_StreamOutputNum = min( _u8_StreamOutputNum, (u8)iVaryings );

 

 

for( u8 i = 0; i < _u8_StreamOutputNum; i++)
{
charszVarBuffer[256];
GLsizeilength = 0;
GLsizeisize = 0;
GLenumtype = 0;
szVarBuffer[0] = 0;
glGetTransformFeedbackVarying(
_ui_ProgramId,
i,
256,
&length,
&size,
&type,

szVarBuffer);

< code snippet : end >

Outcomes