Is redundant state checking still a thing? I'm interested in D3D11 and OpenGL3+.
I've got a D3D11ContextStateCache, and GLContextStateCache objects that keep track of the current state and skip calls that would do nothing, i also got an option to disable redundant state checking and directly call the API function, and for my surprise there was absoluetley no difference.
(3600 draw calls with same vb, input layout and a texture, 1 ConstBuffer update via Map(hmmm???))
The same thing goes to OpenGL.
Note that I'm not calming anything as my scene may not be optimal for the case (and as I'm writing this I start to get doubts about it).
And one additional question, Is there any point of using D3D11_USAGE_IMMUTABLE in practice, again I see no different betteen that one and
D3D11_USAGE_DEFAULT?