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
Test all draw functions fail if attributes are invalid #3437
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @greggman figuring out how to refactor these tests to apply the invalid vertex attribute tests to all draw functions.
In testing this locally I found a couple of bugs that happen when extensions weren't supported. I'll push a commit to this PR shortly which fixes these, the merge conflicts, and one other bug, for you to review.
sdk/tests/conformance2/extensions/webgl-multi-draw-instanced-base-vertex-base-instance.html
Outdated
Show resolved
Hide resolved
sdk/tests/conformance2/extensions/webgl-multi-draw-instanced-base-vertex-base-instance.html
Outdated
Show resolved
Hide resolved
ATM this test only tests if an attribute is enabled but no buffer is bound that each draw function generates INVALID_OPERATION Not sure what else needs to be tested. Maybe mis-matching attributes (an ivec4 attribute in shader but float attribute in vao) Fixes KhronosGroup#3434.
53bd96b
to
a1fb5ac
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again @greggman for this improvement and apologies for taking so long to review it. These revised tests pass in Chrome, Firefox and Safari, modulo a couple of WEBGL_multi_draw failures in Safari Technology Preview which I believe @lexaknyazev already fixed in WebKit/WebKit#1452 .
sdk/tests/conformance2/extensions/webgl-multi-draw-instanced-base-vertex-base-instance.html
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
#3434
ATM this test only tests if an attribute is enabled but
no buffer is bound that each draw function generates
INVALID_OPERATION
Not sure what else needs to be test. Maybe mis-matching attributes (an ivec4 attribute in shader but float attribute in vao)