works with d3d