Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replaying trace that uses GL_EXT_framebuffer_object results in the framebuffer object output not being visible when using "lookup state" #862

Open
FuzzyQuils opened this issue Feb 7, 2023 · 4 comments

Comments

@FuzzyQuils
Copy link

When replaying a Legacy OpenGL trace using GL_EXT_framebuffer_object, the texture in use by the framebuffer object doesn't show up in qapitrace when looking up state for a captured frame. GL_ARB_framebuffer_object and OpenGL Core's FBO functionality is unaffected.

I am happy to provide a trace from my program if needed to reproduce this bug.

@FuzzyQuils FuzzyQuils changed the title Replaying trace that uses GL_EXT_framebuffer_object results in the framebuffer object output not being visible. Replaying trace that uses GL_EXT_framebuffer_object results in the framebuffer object output not being visible when using "lookup state" Feb 7, 2023
@jrfonseca
Copy link
Member

I know there are some subtle differences between GL_EXT_framebuffer_object and GL_ARB_framebuffer_object but I expected apitrace to handle them both well.

Yes, please provide the trace and I'll try to look into it.

@FuzzyQuils
Copy link
Author

I know there are some subtle differences between GL_EXT_framebuffer_object and GL_ARB_framebuffer_object but I expected apitrace to handle them both well.

Yes, please provide the trace and I'll try to look into it.

Here's the trace. https://drive.google.com/file/d/1fI1354x17F-Sys_laRGd0TZuUdP0LX1A/view?usp=share_link

@jrfonseca
Copy link
Member

FBO state dumps seems to be working fine for me.

There's a single FBO, with a single depth stencil attachment, used for shadow maps. The first draw call that draws into it is no 214963, and when I dump the state at draw call 214963 it shows the depth stenctil:

qapitrace

Do you see differently?

This was with NVIDIA Linux GL driver. It's not impossible things vary with different GL drivers, as apitrace will take different code paths for drivers which don't support GL 3.0 not GL_ARB_framebuffer_object. But from what I can tell you're using a modern Mesa driver which supports both, so I don't see how possibly this could go wrong.

@FuzzyQuils
Copy link
Author

FuzzyQuils commented Feb 11, 2023

FBO state dumps seems to be working fine for me.

There's a single FBO, with a single depth stencil attachment, used for shadow maps. The first draw call that draws into it is no 214963, and when I dump the state at draw call 214963 it shows the depth stenctil:

qapitrace

Do you see differently?

This was with NVIDIA Linux GL driver. It's not impossible things vary with different GL drivers, as apitrace will take different code paths for drivers which don't support GL 3.0 not GL_ARB_framebuffer_object. But from what I can tell you're using a modern Mesa driver which supports both, so I don't see how possibly this could go wrong.

I'm indeed using a modern Mesa driver (mesa-git on amdgpu) so it could be a RadeonSI bug I suppose. I'll test apitrace elsewhere and see if it fails there too. I have a Linux laptop with Intel Graphics I can test on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants