How to Blit Texture rectangle {XYWH}to texture xy?

I have a need to copy a sub rectangular area x,y,w,h from one bound (named) texture to another (named) texture at a x,y location.

My current work around is to manually do the Blit in system memory then bind the new texture and release the old one. This new texture is the ‘working’ texture to use in a render. This is similar to adding decals to a texture.

This is done on the fly while the game is running. Is there a direct call or series of calls to do this task? Is it possible to access the actual graphics memory pointer for both textures and do it directly?

Thanks for any help!