`DRW_gpencil_engine_needed` only checks whether grease pencil is excluded in the viewport or whether there's grease pencil ID exists, this can not handle cases where grease pencil strokes are generated from other types of object in geometry nodes. Now this function is split into two `gpencil_engine_needed_viewport` and `gpencil_excluded` calls to provide more granulated logic for places that need them. Pull Request: https://projects.blender.org/blender/blender/pulls/138386