My performance concern is about the switch statement itself, less about the
actual value checking. If you have something like

switch(renderstate) {
        case WINED3DRS_A:
        case WINED3DRS_B:
                doSomething();
                break;

        default: break;
}

The binary code generated by the compiler still checks 239 states against
D3DRS_A and D3DRS_B(the only exception is D3DRS_A, which is never compared
against D3DRS_B). That is where my worries come from, not the doSomething()
itself.

But beyond that, I think checking the value ranges is just wrong, at least
we need a test to show Windows does that as well.




Reply via email to