Skip to content

Commit

Permalink
Initial conformance tests for WEBGL_shader_pixel_local_storage
Browse files Browse the repository at this point in the history
Creates a set of tests to check the WebGL behavior not found in the
ANGLE_shader_pixel_local_storage specification, as well as providing
some scaffolding to verify the ANGLE extension is properly hooked up.

If these all look good, we can start porting tests from the ANGLE
extension next.
  • Loading branch information
csmartdalton committed Mar 21, 2023
1 parent 539037f commit 3fd8531
Show file tree
Hide file tree
Showing 3 changed files with 398 additions and 24 deletions.
48 changes: 24 additions & 24 deletions extensions/WEBGL_shader_pixel_local_storage/extension.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,15 @@
would become invalidated.
</div>
</addendum>
<addendum>
<div class="note">
<code>FramebufferPixelLocalStorageInterruptANGLE</code> and
<code>FramebufferPixelLocalStorageRestoreANGLE</code> are not supported.
</div>
<div class="note rationale">
These commands are only intended for internal use by the browser implementation.
</div>
</addendum>
<addendum>
<div class="note">
When <code>WEBGL_shader_pixel_local_storage</code> is enabled, the following WebGL
Expand Down Expand Up @@ -115,53 +124,44 @@ interface WEBGL_shader_pixel_local_storage {
<param name="level" type="GLint"/>
<param name="layer" type="GLint"/>
Establishes the backing texture for the given plane.
<div class="note">
If <code>texture</code> has been deleted, generates an <code>INVALID_OPERATION</code>
error.
</div>
<div class="note">
If <code>texture</code> was generated by a different <code>WebGL2RenderingContext</code>
than this one, generates an <code>INVALID_OPERATION</code> error.
</div>
<p/>
If <code>texture</code> has been deleted, generates an <code>INVALID_OPERATION</code> error.
<p/>
If <code>texture</code> was generated by a different <code>WebGL2RenderingContext</code> than
this one, generates an <code>INVALID_OPERATION</code> error.
</function>
</newfun>

<newfun>
<function name="framebufferPixelLocalClearValuefvWEBGL" type="undefined">
<param name="plane" type="GLint"/>
<param name="value" type="Float32List"/>
<param name="src_offset" type="GLuint" default="0"/>
<param name="srcOffset" type="GLuint" default="0"/>
Sets the floating point clear value for the given plane.
<div class="note">
If <code>value</code> has less than <code>src_offset + 4</code> elements, generates an
<code>INVALID_OPERATION</code> error.
</div>
<p/>
If <code>value</code> has less than <code>srcOffset + 4</code> elements, generates an
<code>INVALID_VALUE</code> error.
</function>
</newfun>

<newfun>
<function name="framebufferPixelLocalClearValueivWEBGL" type="undefined">
<param name="plane" type="GLint"/>
<param name="value" type="Int32List"/>
<param name="src_offset" type="GLuint" default="0"/>
<param name="srcOffset" type="GLuint" default="0"/>
Sets the integer clear value for the given plane.
<div class="note">
If <code>value</code> has less than <code>src_offset + 4</code> elements, generates an
<code>INVALID_OPERATION</code> error.
</div>
<p/>
If <code>value</code> has less than <code>srcOffset + 4</code> elements, generates an
</function>
</newfun>

<newfun>
<function name="framebufferPixelLocalClearValueuivWEBGL" type="undefined">
<param name="plane" type="GLint"/>
<param name="value" type="Uint32List"/>
<param name="src_offset" type="GLuint" default="0"/>
Sets the unsigned integer clear value for the given plane.
<div class="note">
If <code>value</code> has less than <code>src_offset + 4</code> elements, generates an
<code>INVALID_OPERATION</code> error.
</div>
<param name="srcOffset" type="GLuint" default="0"/>
<p/>
If <code>value</code> has less than <code>srcOffset + 4</code> elements, generates an
</function>
</newfun>

Expand Down
1 change: 1 addition & 0 deletions sdk/tests/conformance2/extensions/00_test_list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ promoted-extensions-in-shaders.html
--min-version 2.0.1 webgl-clip-cull-distance.html
--min-version 2.0.1 webgl-multi-draw-instanced-base-vertex-base-instance.html
--min-version 2.0.1 webgl-provoking-vertex.html
--min-version 2.0.1 webgl-shader-pixel-local-storage.html
Loading

0 comments on commit 3fd8531

Please sign in to comment.