4 Replies Latest reply on Jan 11, 2011 11:08 PM by frali

    ATI 5970 stencil buffer drawing glDrawPixels slow

      ATI 5970 stencil buffer drawing glDrawPixels slow

      I am new to this forum, hoping someone can help me with my problem.

      I am looking for fastest method to copy application generated stencil data to stencil buffer? My OpenGL app uses ATI Radeon 5970 video card and when I used glDrawPixels to copy the data as below the performance was terribly slow about 3 FPS.

      glDrawPixels(768, 768, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, (const GLvoid* )data);

      What is interesting is the same app runs 25 FPS on ATI Radeon 3800 video card.

      I even tried using the pixel buffer objects in conjunction with glDrawPixels, the performance seems to be fine (note this is only when the width/height is a multiple of 32) but the stencil buffer is corrupted.
      glBindBuffer(GL_PIXEL_UNPACK_BUFFER, m_pbo);
      glBufferSubData(GL_PIXEL_UNPACK_BUFFER, 0, size, (const GLvoid *) plane_data);
      glDrawPixels(768, 768, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, 0);

      Note, I do not use shaders.

      Please let me know if anyone needs a sample code.

      thanks in advance