[RFC] Deprecate and eventually remove RenderScript support

Clang has supported RenderScript as an extension language for the better part of eight years. However, this technology is officially deprecated and users are encouraged to migrate to Vulkan or other options. This deprecation happened in early 2021 and now seems like a good time to discuss the community’s plans for handling the deprecation.

Because this technology is deprecated by Android, I believe we should deprecate it within Clang so users can expect support to be dropped. Further, because it’s been deprecated by Android for over three years now, I think we should have a reasonably aggressive timeline for removal unless that will cause significant burden for the Android community. I’d recommend we deprecate today and announce we expect to remove support in two releases (roughly late 2025).

Does that seem like a reasonable plan?

3 Likes

CC @zygoloid @pirama (uncertain of who else to tag for input/awareness, so feel free to tag others if you think they should weigh in on this).

I would love it if we could figure out someone who can respond from the Android project. I don’t think we actually need/should go through a deprecation period in Clang, since the users are all Android anyway.

The way I see it, is we should figure out if Android is ready to follow through on removal. If they ARE (or will be in the near future), we should just remove it on that schedule.

If they ARE NOT ready, we should make sure they are aware we’re going to remove it, and just remove it. Then, they can keep it in their downstream as long as necessary.

But I don’t see a deprecation period for Clang being useful.

Thanks for driving this @AaronBallman. We can deprecate and remove the renderscript support in a short timeline.

Adding @srhines as well.

2 Likes

Excellent! Do you have a timeline in mind that works for Android?

We can remove this support any time. I don’t think we need an explicit deprecation as none of the users of this target are getting newer toolchains.

Aaron, are you planing to do the removal? If not, we can look at this from the Android side in a month or so.

I’ll see if I can do the removal in the next few weeks, but if I need help, I’ll reach out to you. Thanks!

I put together a patch removing the bits from Clang (it leaves the DWARF and lldb bits): Remove support for RenderScript by AaronBallman · Pull Request #112916 · llvm/llvm-project · GitHub

And that patch landed in Remove support for RenderScript (#112916) · llvm/llvm-project@af7c58b · GitHub