Moguri answered my question on the forums by posting this patch that fixes the Filter 2D issue in Blender.
The patch:
diff --git blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp index 79ce853..1781852 100644 --- blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp +++ blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp @@ -429,6 +429,9 @@ void RAS_2DFilterManager::RenderFilters(RAS_ICanvas* canvas) glActiveTextureARB(GL_TEXTURE0); canvas->SetViewPort(0, 0, rect_width-1, rect_height-1); + RAS_Rect scissor_rect = canvas->GetDisplayArea(); + glScissor(scissor_rect.GetLeft()+viewport[0], scissor_rect.GetBottom()+viewport[1], scissor_rect.GetWidth()+1, scissor_rect.GetHeight()+1); + glDisable(GL_DEPTH_TEST); // in case the previous material was wire glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);