Fglrx 13.20.5 OGL 4.3 CORE: glDrawElements causes Segmentation fault

Using glDrawElements with the draw mode GL_PATCHES for a shader without tessellation-evaluation or geometry shader causes a SEGV:

#0  0x00007f1325cb4d7d in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#1  0x00007f1325d1aaa2 in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#2  0x00007f1325cf90e0 in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#3  0x00007f1325cf9533 in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#4  0x00007f1324dd127b in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#5  0x00007f1324ffffc4 in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#6  0x00007f132500024b in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#7  0x00007f13255940ac in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so

Example (with drawMode = GL_PATCHES):

glDrawElementsInstanced(drawMode, patcheCount * patchSize, GL_UNSIGNED_INT, 0, instances);

Have you an attrib array enabled but no pointer set for it?

Alternatively - what is “instances” in your code? A syster-memory pointer? An offset into a buffer? Have you got things set up correctly for whichever it is?

I checked my log:

 
[YATessellationModel] Patches: 14280
[YATessellationModel] attribVertexLocation 0 enabled

Alternatively - what is “instances” in your code? A syster-memory pointer? An offset into a buffer? Have you got things set up correctly for whichever it is?

Instances is defined as:

    uint instances;

I accidentally activated my old shadow-map rendering, where several default shader programs are used. These are simple depth map renderer without GS or TS stages. In these cases the fglrx driver crashes with a buffer overrun. In my opinion this is an indication for an unhanded exception and at least annoying.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.