When I share a per-frame constant buffer in both vertex and pixel shader I call:
VSSetConstantBuffers(0,1,&frameBuffer);
PSSetContantBuffers(0,1,%frameBuffer);
And in both HLSL the cbuffer declaration:
cbuffer PerFrame: register(b0)
{
float1 g_time;
...
}
In this particular case I use slot 0 for both shaders. My question is, are this slots independent from the shader stage or they are shared?
In other words, if in the VertexShader I assign cbuffers with slots 0,1,2,3 then in the PixelShader can I use slots 0,1,2,3 for binding different cbuffers or must be the same cbuffers than in VertexShader?