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 upAdd support for some more WebGL2 limit parameters #26265
Conversation
highfive
commented
Apr 22, 2020
|
Heads up! This PR modifies the following files:
|
highfive
commented
Apr 22, 2020
|
@bors-servo r+ |
|
|
Add support for some more WebGL2 limit parameters Adds support for the following new WebGL2 GetParameter values: - `MAX_ELEMENT_INDEX` - `MAX_ELEMENTS_INDICES` - `MAX_ELEMENTS_VERTICES` - `MAX_FRAGMENT_INPUT_COMPONENTS` - `MAX_SAMPLES` - `MAX_SERVER_WAIT_TIMEOUT` - `MAX_TEXTURE_LOD_BIAS` - `MAX_VARYING_COMPONENTS` - `MAX_VERTEX_OUTPUT_COMPONENTS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
|
|
I think we need to use try_get_float instead of get_float for some of the new limits. |
|
Hm, yet another graphics issue I can't seem to reproduce... According to the spec, the only float value is I'll see if I can add the 64bit integer method to sparkle, we can then try it out if that's indeed the issue here. |
|
I checked on my mac, and it's panicking on |
9799870
to
3c81664
|
Thanks for checking! I've updated the call for MAX_ELEMENT_INDEX and, just in case, the rest of the 64bit values too. PS. I'm not sure about returning it as UInt32 to the JS side though, should it be eg. DoubleValue instead? |
|
Yes, DoubleValue would be safer. |
3c81664
to
68ad98c
|
Ok, updated to use DoubleValues. I've also changed the CLIENT/SERVER_WAIT_TIMEOUTs to it too. |
|
@bors-servo r+ |
|
|
Add support for some more WebGL2 limit parameters Adds support for the following new WebGL2 GetParameter values: - `MAX_ELEMENT_INDEX` - `MAX_ELEMENTS_INDICES` - `MAX_ELEMENTS_VERTICES` - `MAX_FRAGMENT_INPUT_COMPONENTS` - `MAX_SAMPLES` - `MAX_SERVER_WAIT_TIMEOUT` - `MAX_TEXTURE_LOD_BIAS` - `MAX_VARYING_COMPONENTS` - `MAX_VERTEX_OUTPUT_COMPONENTS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
|
|
|
Curious; we're still panicking when calling |
|
I suspect the issue is |
|
Hm, if I remember correctly we only have extension querying at the moment; can/should we make the same |
|
I suggest using try_get_integer64 and unwrap_or(0). |
Adds support for the following new WebGL2 GetParameter values: - `MAX_ELEMENT_INDEX` - `MAX_ELEMENTS_INDICES` - `MAX_ELEMENTS_VERTICES` - `MAX_FRAGMENT_INPUT_COMPONENTS` - `MAX_SAMPLES` - `MAX_SERVER_WAIT_TIMEOUT` - `MAX_TEXTURE_LOD_BIAS` - `MAX_VARYING_COMPONENTS` - `MAX_VERTEX_OUTPUT_COMPONENTS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
68ad98c
to
e0c4d49
|
Ok, updated. |
|
@bors-servo r+ |
|
|
Add support for some more WebGL2 limit parameters Adds support for the following new WebGL2 GetParameter values: - `MAX_ELEMENT_INDEX` - `MAX_ELEMENTS_INDICES` - `MAX_ELEMENTS_VERTICES` - `MAX_FRAGMENT_INPUT_COMPONENTS` - `MAX_SAMPLES` - `MAX_SERVER_WAIT_TIMEOUT` - `MAX_TEXTURE_LOD_BIAS` - `MAX_VARYING_COMPONENTS` - `MAX_VERTEX_OUTPUT_COMPONENTS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
|
|
|
Fixed the remaining panic in #26354. |
Add support for even more WebGL2 GetParameter enums Adds support for the following new WebGL2 GetParameter values: - `PACK_ROW_LENGTH` - `PACK_SKIP_PIXELS` - `PACK_SKIP_ROWS` - `RASTERIZER_DISCARD` - `UNPACK_IMAGE_HEIGHT` - `UNPACK_ROW_LENGTH` - `UNPACK_SKIP_IMAGES` - `UNPACK_SKIP_PIXELS` - `UNPACK_SKIP_ROWS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> Depends on #26265 because they touch the same test file. cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Add support for even more WebGL2 GetParameter enums Adds support for the following new WebGL2 GetParameter values: - `PACK_ROW_LENGTH` - `PACK_SKIP_PIXELS` - `PACK_SKIP_ROWS` - `RASTERIZER_DISCARD` - `UNPACK_IMAGE_HEIGHT` - `UNPACK_ROW_LENGTH` - `UNPACK_SKIP_IMAGES` - `UNPACK_SKIP_PIXELS` - `UNPACK_SKIP_ROWS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> Depends on #26265 because they touch the same test file. cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Add support for even more WebGL2 GetParameter enums Adds support for the following new WebGL2 GetParameter values: - `PACK_ROW_LENGTH` - `PACK_SKIP_PIXELS` - `PACK_SKIP_ROWS` - `RASTERIZER_DISCARD` - `UNPACK_IMAGE_HEIGHT` - `UNPACK_ROW_LENGTH` - `UNPACK_SKIP_IMAGES` - `UNPACK_SKIP_PIXELS` - `UNPACK_SKIP_ROWS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> Depends on #26265 because they touch the same test file. cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Add support for even more WebGL2 GetParameter enums Adds support for the following new WebGL2 GetParameter values: - `PACK_ROW_LENGTH` - `PACK_SKIP_PIXELS` - `PACK_SKIP_ROWS` - `RASTERIZER_DISCARD` - `UNPACK_IMAGE_HEIGHT` - `UNPACK_ROW_LENGTH` - `UNPACK_SKIP_IMAGES` - `UNPACK_SKIP_PIXELS` - `UNPACK_SKIP_ROWS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> Depends on #26265 because they touch the same test file. cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Add support for even more WebGL2 GetParameter enums Adds support for the following new WebGL2 GetParameter values: - `PACK_ROW_LENGTH` - `PACK_SKIP_PIXELS` - `PACK_SKIP_ROWS` - `RASTERIZER_DISCARD` - `UNPACK_IMAGE_HEIGHT` - `UNPACK_ROW_LENGTH` - `UNPACK_SKIP_IMAGES` - `UNPACK_SKIP_PIXELS` - `UNPACK_SKIP_ROWS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> Depends on #26265 because they touch the same test file. cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
mmatyas commentedApr 22, 2020
Adds support for the following new WebGL2 GetParameter values:
MAX_ELEMENT_INDEXMAX_ELEMENTS_INDICESMAX_ELEMENTS_VERTICESMAX_FRAGMENT_INPUT_COMPONENTSMAX_SAMPLESMAX_SERVER_WAIT_TIMEOUTMAX_TEXTURE_LOD_BIASMAX_VARYING_COMPONENTSMAX_VERTEX_OUTPUT_COMPONENTSSee: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
cc @jdm @zakorgy
./mach build -ddoes not report any errors./mach test-tidydoes not report any errors