Bunch of fixes

Neither GL or D3D use a separate type. If we have a unified slice struct they need to be the same type too.