-
Notifications
You must be signed in to change notification settings - Fork 326
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
GLES: Add Support for Separable Programs #1563
Comments
Hi @danginsburg, Sorry for the slow reply - we're coming to the end of a manic couple of weeks and now I'm playing catchup on my inbox. Yes, this sounds like a replay bug - thank you for reporting it. We do actually try to handle this explicit case, so I'm curious why the compatability code isn't working. I don't suppose you have a simple app or Cheers, |
@ben-clayton Please find attached a gfxtrace that demonstrates the problem. |
Hi @danginsburg, First - apologies for the lengthy delay in looking into this. I've been fully occupied trying to sort out stuff that will unblock the next release. I looked into this trace, and there were a number of issues I uncovered:
Is there any possibility of sending me the APK? No problem if you cannot. Cheers, |
I don't recall for sure which trace I sent you, but it was either an NVIDIA Tegra K1 or Samsung S7.
Yeah, our engine requires separable programs.
Unfortunately, no. It's not so much that I can't share it as that it requires some streaming bootstrap stuff and isn't easily to package into an APK that would run for you by itself. |
We have to jump through hoops to support replaying on targets where the minimum uniform alignment is smaller than the trace target. There was a TODO for handling the case where the buffer is kept bound while the buffer is updated. This CL fixes this case. Issue: google#1563
We have to jump through hoops to support replaying on targets where the minimum uniform alignment is smaller than the trace target. There was a TODO for handling the case where the buffer is kept bound while the buffer is updated. This CL fixes this case. Issue: google#1563
We have to jump through hoops to support replaying on targets where the minimum uniform alignment is smaller than the trace target. There was a TODO for handling the case where the buffer is kept bound while the buffer is updated. This CL fixes this case. Issue: #1563
Tracked by #1745 |
This may just be a question, but is possibly a bug. When I replay in GAPID I see a bunch of errors on calls to glBindBufferRange to GL_UNIFORM_BUFFER of GL_INVALID_VALUE.
I am wondering, does GAPID replay on the local machine and does it handle different values for GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT? In this case the device is an Adreno 530 with GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 32, although I'm running on NVIDIA which has GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 256.
I don't see the glBindBufferRange errors when I run on the device (I call glGetError after each call), but I do on the replay. I also see GL_INVALID_OPERATION errors on the device in glDrawElementsInstanced but not in the replay, which makes me wonder if it's because it's replaying locally.
The text was updated successfully, but these errors were encountered: