Allow the creation of any texture (not just render targets) with the UAV flag set. Alternatively, add CreateExternalTexture functionality to all texture types (including Texture3D).
In particular, for 3D textures applying the render target binding flag causes the internal memory layout to be suboptimal for trilinear interpolation. The texture is laid out as a series of 2D slices (like a texture array). Having the UAV flag but _not_ the render target flag is much preferable for 3D textures that are generated by compute (e.g. LUTs, SDFs).