Advertisement Jump to content
Sign in to follow this  

Correlation between d3d9 and d3d10 usage flags

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

GDC 2006 article "D3D10: Prepping your engine for a smooth start" by Kevin Myers specifies the following correlation between d3d9 and d3d10 usage flags, regarding which I have a few questions: 1)Resources that don’t change D3D9: D3DPOOL_DEFAULT no usage flags corresponds to D3D10: D3D10_USAGE_IMMUTABLE Never updated Only defined on creation 2)Resources that change rarely D3D9 D3DPOOL_DEFAULT D3DUSAGE_DYNAMIC Use NO_OVERWRITE and DISCARD to lock corresponds to D3D10 D3D10_USAGE_DEFAULT no CPU access Can be updated only indirectly 3)Resources that change all the time D3D9 D3DPOOL_MANAGED corresponds to D3D10 D3D10_USAGE_DYNAMIC D3D10_CPU_ACCESS_WRITE D3D10_CPU_ACCESS_READ (DON’T DO THIS) Use NO_OVERWRITE and DISCARD to map Here are my questions regarding that: 1) This one is rather a d3d9 question. In the first section "Resources that don't change", shouldn't the correct usage be D3DUSAGE_WRITEONLY instead of the specified 'no usage flags' while using D3DPOOL_DEFAULT? Since I remember reading about this big incurred performance penalty if D3DUSAGE_WRITEONLY is not specified while creating resources in a default pool. After all, this created buffer will eventually be written to at least once during initialization, or am I missing something here? 2) Managed resources are backed by a system memory copy and keeping the contents of this backing store synchronized with the original data residing in video-memory is costly and that is exactly why a dynamic resource is better not put in a managed pool. Why does the third section "Resources that change all the time" violates this? 3) Why can't a staging buffer (specified with D3D10_USAGE_STAGING) correlate to D3DPOOL_SYSTEMMEM? I'm totally confused with the correspondence between d3d9 and d3d10 resource pools and usage flags. I would appreciate if someone could shed some light on it. Regards

Share this post

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

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. 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!