Adding a layer is not the same as adding a subview. If you want to display something on top of the GPUImageView, then you will need to add a layer to the GPUImageView with the method -addSublayer (called on the original layer of the GPUImageView), then draw the additional content to this layer.
In order to display a video feed, you can use the pre-cooked AVCaptureVidoPreviewLayer if your video is coming from an AVCapture.
An alternative solution would be to have both your video feed and your GPUImageView belong to the same superview, then handle the layout of both views in the superview.