Update ANGLE_robust_resource_initialization about depth

ANGLE_robust_resource_initialization implementations seem
to clear depth components to 1.0 but the specification
says they should be cleared to zero. It looks like the
intent was to clear to 1.0 which is what the WebGL spec
requires.

https://www.khronos.org/registry/webgl/specs/latest/1.0/#4.1

Bug: angleproject:6473
Change-Id: Ib880d6e30d04f68a9cfd06df8011fdfbe8f9536b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3197697
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
This commit is contained in:
Gregg Tavares
2021-09-30 09:45:50 -07:00
committed by Angle LUCI CQ
parent fca9de6f6f
commit 2c8afb6c44

View File

@@ -21,7 +21,7 @@ Status
Version
Version 3, September 19, 2017
Version 5, September 30, 2021
Number
@@ -87,7 +87,7 @@ Objects)
Additions to Chapter 8 of the OpenGL ES 3.1 Specification (Textures and
Samplers)
Replace the first two sentances of the final paragraph in section
Replace the first two sentences of the final paragraph in section
8.5.3 "Texture Image Structure":
If the <data> argument of TexImage2D or TexImage3D is NULL, and the
@@ -95,13 +95,15 @@ Samplers)
texel array is created with the specified <target>, <level>,
<internalformat>, <border>, <width>, <height>, and <depth>. If
robust resource initialization is enabled, the contents of the image
are initialized as though a zero value were provided for each
are initialized as though a clear value were provided for each
component of each pixel, and processed and transferred to the GL
as described above. The components comprising this zero-filled data
as described above. The components comprising this clear-value-filled data
are determined by <internalformat>. If robust resource
initialization is not enabled, the image contents are undefined, and
no pixel processing is performed. In either case, no pixel values
are accessed in client memory.
are accessed in client memory. For depth components the clear value is the
value that is interpreted as 1.0. For all other components the clear value
is zero.
Replace the first sentence of the fifth paragraph in section 8.8
"Multisample Textures":
@@ -141,9 +143,11 @@ and Framebuffer Objects)
Upon success, RenderbufferStorageMultisample deletes any existing
data store for the renderbuffer image. If robust resource
initialization is enabled, the contents of each pixel in the data
store are initialized as though a zero value was written to each
store are initialized as though a clear value was written to each
channel of each sample; otherwise, the contents of the data store
are undefined.
are undefined. For depth components the clear value is the
value that is interpreted 1.0. For all other components the clear
value is zero.
Add to the end of section 9.2.6 "Renderbuffer Object Queries":
@@ -207,3 +211,4 @@ Revision History
Version 2, 2017/03/07 - fixed EGL naming and added IsEnabled.
Version 3, 2017/09/19 - name cleanup.
Version 4, 2020/10/12 - Add RESOURCE_INITIALIZED_ANGLE queries.
Version 5, 2021/09/30 - Specify that depth components are cleared to 1.0.