Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upwebgl: Add getParameter(GL_FRAMEBUFFER_BINDING) support #12852
Comments
Servo has a locked dependencies, so it won't break the build.
Wrapping in a
Yeah, that's true...
Actually, that sounds a lot more easy, and reasonable :-) |
To do this, we need to keep a map of GL names (encapsulated as WebGLFramebufferId) to WebGLFramebuffer objects so that we can return the right type. Fixes servo#12852
Implement GL_FRAMEBUFFER_BINDING (and fix a VertexAttrib1fv typo) <!-- Please describe your changes on the following line: --> This PR fixes many webgl conformance test failures due to missing support for a getParameter() call in the webgl test utils. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #12852 <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12857) <!-- Reviewable:end -->
To do this, we need to keep a map of GL names (encapsulated as WebGLFramebufferId) to WebGLFramebuffer objects so that we can return the right type. Fixes servo#12852
Implement GL_FRAMEBUFFER_BINDING (and fix a VertexAttrib1fv typo) <!-- Please describe your changes on the following line: --> This PR fixes many webgl conformance test failures due to missing support for a getParameter() call in the webgl test utils. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #12852 <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12857) <!-- Reviewable:end -->
To do this, we need to keep a map of GL names (encapsulated as WebGLFramebufferId) to WebGLFramebuffer objects so that we can return the right type. Fixes servo#12852
I've been working on adding support for this getter. Lack of support for it is currently producing a bunch of
INVALID_ENUMin unrelated webgl tests due to its use in some shared utility code in the tests. I'm very new to Rust programming, so it's going slowly.Current code is at:
(ignore the DO NOT PUSH change in servo, I've been rebasing it out before submission of other patches)
Current questions:
Actually, on the last point: I don't need to be able to map any FramebufferId to a framebuffer, I need to be able to map the current bound framebufferid to a framebuffer. I could track the framebuffer like we do for the current bound program/texture2d/etc!