| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
ArrayBufferView impl's method get_array_type()
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were setting it to whatever value from {1,2,4,8} the user requested
and otherwise ignoring it. There were two problems there:
1) Validation ignored it, so GL could read outside of the user's array
in TexImage() or TexSubImage() if the aligment was greater than
cpp.
2) TexImage()/TexSubImage() from image/canvas sources wasn't packing
its data according to the unpack alignment.
To fix this, start tracking the user-requested alignment in the DOM
side of the context. Set the GL's alignment to 1 for image/canvas
sources or the user's value for array sources, and pass the user's
alignment in to validation so that it can figure out the correct size
of image that the GL will ready.
|
|
|
|
| |
Now the affected testcase only fails due to unpack alignment.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code was returning RGBA8 data from the non-raw sources (HTML
canvas elements, JS ImageData, etc.), but we then validated and passed
that rgba8 data as if it was whatever format/datatype was specified in
TexImage2D/TexSubImage2D, so the pixels would come out as garbage.
It would seem like we could just rewrite the passed in format/datatype
for the TexImage call to be RGBA/UNSIGNED_BYTE, but that would leave
incorrect levels of precision if the internalformat didn't match the
format/datatype (and older desktop implementations often ignore the
internalformat in choosing their internal format, anyway).
|
|
|
|
|
|
|
| |
This fixes a couple of tests doing RGBA/ubyte image uploads with
flipping. Other tests with flipping get their expectations changed,
because some other feature is missing (premultiplication or
ImageData/canvas format conversion)
|
|
|
|
| |
combinations
|
|
|
|
|
|
|
| |
I was writing this to fix the error in gl-enum-tests.html test (it now
gets farther along before it fails due to us missing
getTexParameter()), but it turned out that a lot of the conformance
tests were failing due to it.
|
| |
|
|
|
|
|
| |
Improves a conformance test that tried passing in desktop GL enums for
blending.
|
| |
|
|
|
|
|
|
| |
It could be used to have mutable JSVal fields without GC barriers.
With the removal of that trait, MutHeap and MutNullableHeap can respectively
be replaced by MutJS and MutNullableJS.
|
|
|
|
| |
Fixes https://github.com/servo/servo/issues/8473.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implement WebGLContext resize
<!-- Please describe your changes on the following line: -->
Related PR: https://github.com/servo/webrender/pull/519
Implement WebGLContext resize (canvas.width & canvas.height). I have tested:
- Fixes WebGL apps that initialize canvas size after calling canvas.getContext("webgl")
- Support WebGL apps that change the canvas size & viewport on window.onresize
---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).
<!-- 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/14075)
<!-- Reviewable:end -->
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
| |
switch to using webrender_traits::ImageData
update use of webrender_traits::StackingContext in layout
use webrender_traits::channel::msg_channel in webgl ipc
fix use of resource_override_path in components/servo/lib
|
|
|
|
| |
rebase + marked the necessary new code as unsafe
|
|
|
|
|
|
|
| |
This fixes the crash in read-pixels-pack-alignment (which was trying
to read out of bounds).
Fixes #13901
|
|
|
|
|
| |
Otherwise gleam will try to allocate a negative size area for the
result, and we'll panic with oom.
|
|
|
|
|
|
| |
FBO status is supposed to depend on the size of the attachments all
matching, so we need to re-check when it changes. We don't ensure
matching yet, but this will prevent regressions when we do.
|
|
|
|
|
|
|
| |
This is part of general GL behavior: when an object is deleted, look
through the currently bound objects and detach the deleted object from
them. Detaching an object from an FBO causes it to need to be
re-checked for its status.
|
|
|
|
|
| |
This allows many FBO tests to start running as their framebuffers
start coming back as framebuffer complete.
|
|
|
|
|
|
|
| |
This is not a complete implementation yet: It doesn't clear the
contents of the renderbuffer on creation. However, Gecko's plan to
only clear renderbuffers when the first FBO using them is the
simplest.
|
|
|
|
|
|
| |
For now it's returning the default UNSUPPORTED on user FBOs.
object-deletion-behaviour.html starts running a bunch more subtets.
|
|
|
|
|
|
| |
Once FBOs are allowed, we were running into testcases that deleted the
active FBO, and expected the following ReadPixels to come from the
default framebuffer.
|
|
|
|
|
| |
The spec was recently changed to clarify that this should throw an
error.
|
|
|
|
|
|
| |
texture-size-limit.html is using a large array for all of its calls at
various sizes, and we were throwing errors on the calls that should
have passed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
These new functions are derived from the existing uniform*fv
functions. They get used in a lot of demo code, so it should greatly
improve our compatibility.
This regresses uniformMatrixBadArgs.html, which gets at an existing
problem in our uniform matrix support (failure to validate that the
uniform is a matrix before calling down) but previously just failed
because it only called the 'fv' variants and never the existing 'f'
variants.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
ourselves.
This is a step with multiple intentions:
* Be correct.
* Unlock tests that are blocking @anholt.
* Ease the transition to typed arrays once the changes by @Ms2ger start rolling
in, since I expect the amount of test expectations to update to be
non-trivial.
|
|
|
|
| |
a raw JSObject pointer.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
getProgramInfoLog, disableVertexAttribArray}, r=emilio
|
| |
|
|
|
|
|
| |
Given that we can't make a complete FBO yet, just return false from
the status check.
|
|
|
|
|
| |
This doesn't appear to fix any testcases, but I noticed it when fixing
renderbuffers.
|
|
|
|
|
| |
We need to track the RB in the DOM context for
getParameter(gl.RENDERBUFFER_BINDING), among others.
|
| |
|
| |
|
| |
|
| |
|