• Advertisement
Sign in to follow this  

How does IASetVertexBuffers work?

This topic is 1885 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

Ok this might sound weird,but I never actually read anywhere how exactly resources are handled between the CPU on a lower level.I mean - does the vertex buffer stay in the system memory and when you call "IASetVertexBuffers" get sent to the GPU each time or are all the buffers/textures/shaders/whatever loaded directly in the video memory and then just given small commands from the cpu for which resource to set up for rendering?

Share this post


Link to post
Share on other sites
Advertisement
That depends on the type of resource you have created and what options you used when creating it. Normally the resources will reside in GPU memory, and you are just given a CPU COM based reference that is used to identify it. So when you bind it to the pipeline somehow, it is actually not being transferred to the GPU - it is already there.

In other cases, you can create resources that are able to be manipulated by the CPU. Those resources are probably going to reside in system memory, but they typically can't be directly bound to the pipeline. These are just general ideas though, because the implementation is dependent on the driver.

Share this post


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

  • Advertisement