How to obtain the physical address of the opengl es texture ID through cuda?

I am currently using the Jetson Orin NX and want to obtain the physical address of the OpenGL ES texture ID through CUDA; Previously, graphics cards with X86 architecture could obtain the physical address of OpenGL texture IDs. Now, an error is reported when obtaining the physical address of texture IDs under Orin NX; May I ask how to implement this?

Hi,
We don’t have a method for this on Jetson platforms. Please share how you can do this on x86 PC with NVIDIA GPU. And we can check with our team whether it is possible to do the same on Jetson platforms.

Hi,
So you call the functions:

cudaGraphicsGLRegisterImage();
cudaGraphicsMapResources();
cudaGraphicsSubResourceGetMappedArray();

And cudaGraphicsSubResourceGetMappedArray() returns physical address to the CUDA buffer. Is this understanding correct?

Yes is the situation you mentioned.

We hope to receive your reply as soon as possible. We would greatly appreciate it if we could resolve this issue

Hello, I really hope to receive your reply as soon as possible;

Hi,
We are checking if it is supported on Jetson platforms. Will update when there’s further information.

Hi
May I ask if it will be updated to the new version of the system, or will it just come up with a solution?

Hello, I haven’t provided a clear answer to my question yet.

Hi,
We have checked this and cudaGraphicsSubResourceGetMappedArray() returns cudaArray_t* which is not a physical address. It is an opaque memory layout as described here:
CUDA C++ Programming Guide

It is supposed to work on Jetson platforms. Is any error reported when calling the function?

And please note there is no method to get physical address in userspace.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.