Advertisement Jump to content
Sign in to follow this  
CoreMeltdown

Again on VBO and multithreading

This topic is 4577 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi everyone, in a previous short post (http://www.gamedev.net/community/forums/topic.asp?topic_id=395910) i asked for using and updating vbos in different threads. It seemed to me that the solution found was ok, but actually it was not. The reason why it seemed to work was because i was using the same geometry for every node in the hierarchy (it was an early test). Now, with different geom per node it still have problems. If in the loader thread i call a glFlush or a glFinish it just after updating the buffer data it works "almost always", but never always. I thought the GL should keep track itself if two shared contexts uses shared data, but i did a test and i found a flush is "better" to have vbo data go to te vram before being used (although as i mentioned in the previous thread, i guarantee mutual exclusion), but i saw that this only "pulled down the probability" of some un-synchronization. I'd like to guarantee deterministic updates. Thanks!!!

Share this post


Link to post
Share on other sites
Advertisement
I don't see that happening.
The spec doesn't mandate behaviour wrt multi-threading, so its totally upto the drivers as to when things get moved around and when it comes to multi-threaded access things are still a little 'new' (multi-cpu drivers are a pretty new thing, less than a year, in themselves).

As to if this will get better any time soon, I don't know, until the spec mandates things you in the relm of 'implimentation defined'.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!