8 Replies Latest reply on Dec 20, 2011 4:59 AM by Mooncabbage

    ATI 4870x2 VBO problem

    J0KER

      Hey all,

      Was not sure where to post this, so I hope its in the right spot, i'm pretty sure its a graphics issue.

      I'm having problems with VBOs, i'm doing everything right, compiles fine... but when i run it, it freezes, screen glitches, goes black and then my screen reappears saying my display driver was restored... I get this error message as well once the program is closed 'has exited with code -1073741510 (0xc000013a)'. If I take out the VBOs it runs absolutely fine... Ive tested the VBO code on several other PCs and it runs perfectly. Any ideas why its not running on my ATI card?

      I'm running win7 x64 and a 4870x2 graphics card.

      Thanks in advance

      J0KER

        • ATI 4870x2 VBO problem
          pboudier

          can you contact devrel with a link to your test case and application ? (and which driver you were using).

          fyi, on consumer boards, crossfire is not enabled by default, and is limited to fullscreen anyway.

          thanks,

          Pierre B.

            • ATI 4870x2 VBO problem
              J0KER

              contact devrel? sorry kinda new to the form room :S  

               

              Anyway Ill paste it here for now... I am running CCC 10.9, the motherboard is a Asus Rampage II extreme crossfire and SLI compatible. Running windows 7 x64 Pro. Ive pasted my test code at this address below.

              http://yallara.cs.rmit.edu.au/~mpatton/gltest.cpp

               

              cheers

              J0KER 

                • ATI 4870x2 VBO problem
                  J0KER

                  added in my compiled .exe a popped it all into a .zip folder

                  http://yallara.cs.rmit.edu.au/~mpatton/gltest.zip

                   

                  cheers,

                  J0KER

                   

                    • ATI 4870x2 VBO problem
                      burito

                      I'd like to hear from an official AMD person on this one. On a typical use of VBO's one would do something like this...

                      [code]

                      glGenBuffers(1, &vbo);

                      glBindBuffer(GL_ARRAY_BUFFER, vbo);

                      glBufferData(GL_ARRAY_BUFFER, num_vert, verts, GL_STATIC_DRAW);

                      [/code]

                      There are other calls, but that doesn't matter, as the call to glBufferData() causes the video drivers to crash. glGetString(GL_EXTENSIONS) very clearly lists VBO's as supported by the device. This occurs on my 4870x2 on win7-64. I checked on Ubuntu-x64 and it works as expected.
                      What's up AMD?

                       

                        • ATI 4870x2 VBO problem
                          burito

                          Update:

                          Windows Update solved the initial problem... however...

                          Calling glBufferData(GL_ELEMENT_ARRAY_BUFFER,...) does not update the contents of the bound Element Array buffer.

                          Ok, that's a problem, but not the end of the world... so naturally one would call glBufferSubData()... except THAT will crash the video card drivers now.

                          So the method I've found that does work, is this...

                          Initialised your VBO with...

                          glBufferData(GL_ELEMENT_ARRAY_BUFFER, SizeOfYourDataInBytes, NULL, type);

                          void *p = glMapBuffer(GL_ELEMENT_ARRAY_BUFFER, GL_WRITE_ONLY);

                          memcpy(p, YourDataPtr, SizeOfYourDataInBytes);

                          glUnMapBuffer(GL_ELEMENT_ARRAY_BUFFER);

                           

                          If you're feeling (justifiably) paranoid, you can use GL_READ_WRITE instead and read a couple of bytes to check they're actually there.

                           

                          From my limited testing, you can just go ahead and use whatever you want on Linux, I can't comment on other versions of windows although I suspect the Vista x64 drivers have similar "features".

                            • ATI 4870x2 VBO problem
                              Byron

                              Our engineering doesn't see anything wrong with the code.

                              You mentions that it works fine on a number of other systems.

                              Are these non AMD graphics cards?

                              If not, what AMD graphics cards don't show this issue?

                              You also mention that it works fine under Linux. Our linux driver shares almost all code with the windows one.

                              Could you try a fresh install and report back?

                                • ATI 4870x2 VBO problem
                                  ceashure

                                  I hate to bring back an old thread, but this is relevent to the issue posted.

                                  I'm having the same issue on my 4870x2.

                                  glBufferData does not copy the data like it's suppose to.

                                  I can confirm that this works as expected in Catalyst 9.12. However it stopped working with the next driver I was able to find (Catalyst 10.7). This function does not work in every Catalyst version since then. I tested this on a new Windows installation. Several other PC's with different graphics card types work just fine, it's only this 4870x2 and the Catalyst 10.x+ 11.x+ drivers.