Advertisement

CB register slots (sm 5.0)

Started by December 30, 2018 11:49 AM
2 comments, last by Obliique 6 years, 1 month ago

Hi once again

I have an understanding that I get 10 CB register slots in my shader functions which are listed in HLSL as b0 to b10. Following this kind of rule, I’ve deduced that I can only bind upto  10 CBs max per shader stage. So if I had a descriptor table pointing to 20 contiguous CBVs, is there a way to get to the remaining half since I’m only able to bind 10 at a time?

I’ve also seen that the Root parameter structure exposes register space (when filling out range structure for descriptors). I suspect this could have me access more CBs than the 10 that are bound to registers which I normally see in HLSL.

Is my current understanding correct or theree’s actually more to this.

Thanks ? 

I'm not sure where you got 10. The limit has always been 14 through D3D11. In D3D12, that limit of 14 is lifted once you reach binding tier 3 and becomes unlimited.

Advertisement

Thanks once again SoldierOfLight. I have now tested this with sm 5.1 and I'm able to bind as many CBs as possible (I suppose my hardware support binding tier 3) . This forum has really proven helpful in my directx 12 journey ? 

You are right. I think I mixed up the 10 with something. it's actually 14.. I get upto 14 with sm 5.0 on c++ application

This topic is closed to new replies.

Advertisement