Compute Shader Error with custom render piplines

When dispatching a compute shader in panda3d any render pipeline (like simplepbr, complexpbr and my own render pipeline), I get the following error:

:display:gsg:glgsg(error): GL_INVALID_OPERATION error generated. No active compute shader.

Even though this error gets warned in the console, the compute shader still functions properly. When I don’t enable my render pipeline, no error appears. I’ve had a quick skim read through https://github.com/tobspr/RenderPipeline/issues/103 and https://github.com/panda3d/panda3d/issues/1184

but I’m not using any framebuffers and I couldn’t find anything in these posts that could fix my problem. I don’t know what’s causing this. Any help?

after a big of digging, I found that turning off shadows gets rid of the error. I think this means that the cameras shadow buffer is trying to include the ComputeNode into its depth buffer rendering stage. How do I remove the node from the lights camera buffer stage? Can I use camera masks or even tagStages?

ok a solution to this problem is to hide the node from the light using camera masks.

if anyone else that knows a another way, maybe with tag states, please share. I would prefer another way than using bitmasks.

1 Like