Hi folks! I am currently working on lighting for my small project. I am not familiar with compute shaders well enough (or let's say, I know some basics). I want to implement tile lighting, like in Starbound, for example. For tiles in area I use CanvasModulate and then lighting node with one texture.
I found compute shaders rendering is a good solution. In short, I send stuff (tile data) to GPU, render image and take it back. Works fine, I get texture with Texture2DRD, I can imitate lighting if I set it to some Sprite2D.texture, but I need it to work with lighting system, I need it as PointLight2D.texture.
So, what is the problem? When you set Texture2DRD as PointLight2D.texture you get warn:

There are two options (probably, more?).
First - ignore warn, and this going to work anyway, work fine. But I don't understand, how they treat image data, I have found not many docs about it. Can I leave that as is?
Second - get image data from Texture2DRD, then create Texture2D from that with ImageTexture.create_from_image(). BUT, is it ok for performance?
Is there any way to make it less computationally expensive for engine to get Image data? I could ignore warn, but maybe there are some operations between getting RD version and regular Texture2D, which prevent bad things, and if you just set Texture2DRD as PointLight2D.texture it will not work at some... point?
p.s. seems like textures look same and get_image().get_data() returns same bytes... and workaround in warn doesn't work, it works with creating Texture2D from Image;
lighting works as well:
