I am having an issue with a memory leak in an OpenCL program I am testing. In the program I call the same kernel repeatedly, for every pixel in an image. (Probably not the most efficient code, but it is a learning/testing thing.)
One thing in particular I have not yet been able to figure out, is what releases the reference counts for the shader->kernel_param resource created in evergreen_compute_upload_input(). Tracing through the calls: evergreen_compute_upload_input() evergreen_cs_set_constant_buffer() r600_set_constant_buffer() I can see that if r600_set_constant_buffer() is passed a null pipe_constant_buffer input, that it would reset the stat masks and make the call to pipe_resource_reference() with a NULL, to decrement the count. But I don't see where that would happen. I am thinking that perhaps there should be something to release the reference count for that buffer, either after the evergreen_launch_grid() call, or perhaps as the last thing within that call, after the compute_emit_cs() call. Or, is this call happening somewhere else that I haven't found? Thanks, Al Dorrington Software Engineer Sr Lockheed Martin, Mission Systems and Training
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev