WebGL
Khronos
 

WebGL ANGLE_shader_pixel_local_storage Extension Proposed Specification

DO NOT IMPLEMENT!!!

Name

ANGLE_shader_pixel_local_storage

Contact

WebGL working group (public_webgl 'at' khronos.org)

Contributors

Chris Dalton, Rive

Kenneth Russell, Google Inc.

Shahbaz Youssefi, Google Inc.

Kelsey Gilbert, Mozilla Corp.

Geoff Lang, Google Inc.

Kimmo Kinnunen, Apple Inc.

Members of the WebGL working group

Version

Last modified date: December 06, 2022
Revision: 1

Number

WebGL extension #NN

Dependencies

Written against the WebGL API 2.0 specification.

Overview

This extension exposes the ANGLE_shader_pixel_local_storage functionality to WebGL.

The following WebGL-specific behavioral changes apply:

Consult the above extension for documentation, issues and new functions and enumerants.

Although the extension contains ANGLE in the name, it may be exposed by any implementation, whether or not the implementation uses the ANGLE library.

IDL

[Exposed=(Window,Worker), LegacyNoInterfaceObject]
interface ANGLE_shader_pixel_local_storage {
  const GLenum MAX_PIXEL_LOCAL_STORAGE_PLANES_ANGLE = 0x96E0;
  const GLenum MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE = 0x96E1;
  const GLenum MAX_COMBINED_DRAW_BUFFERS_AND_PIXEL_LOCAL_STORAGE_PLANES_ANGLE = 0x96E2;
  const GLenum PIXEL_LOCAL_STORAGE_ACTIVE_PLANES_ANGLE = 0x96E3;
  const GLenum LOAD_OP_ZERO_ANGLE = 0x96E4;
  const GLenum LOAD_OP_CLEAR_ANGLE = 0x96E5;
  const GLenum LOAD_OP_LOAD_ANGLE = 0x96E6;
  const GLenum LOAD_OP_DISABLE_ANGLE = 0x96E7;
  const GLenum STORE_OP_STORE_ANGLE = 0x96E8;
  const GLenum PIXEL_LOCAL_FORMAT_ANGLE = 0x96E9;
  const GLenum PIXEL_LOCAL_TEXTURE_NAME_ANGLE = 0x96EA;
  const GLenum PIXEL_LOCAL_TEXTURE_LEVEL_ANGLE = 0x96EB;
  const GLenum PIXEL_LOCAL_TEXTURE_LAYER_ANGLE = 0x96EC;
  const GLenum PIXEL_LOCAL_CLEAR_VALUE_FLOAT_ANGLE = 0x96ED;
  const GLenum PIXEL_LOCAL_CLEAR_VALUE_INT_ANGLE = 0x96EE;
  const GLenum PIXEL_LOCAL_CLEAR_VALUE_UNSIGNED_INT_ANGLE = 0x96EF;
  undefined framebufferTexturePixelLocalStorageANGLE(GLint plane,
                                                     GLuint backingtexture,
                                                     GLint level,
                                                     GLint layer);
  undefined framebufferPixelLocalClearValuefvANGLE(GLint plane, Float32List values);
  undefined framebufferPixelLocalClearValueivANGLE(GLint plane, Int32List values);
  undefined framebufferPixelLocalClearValueuivANGLE(GLint plane, Uint32List values);
  undefined beginPixelLocalStorageANGLE(sequence<GLenum> loadops);
  undefined endPixelLocalStorageANGLE(sequence<GLenum> storeops);
  undefined pixelLocalStorageBarrierANGLE();
  any getFramebufferPixelLocalStorageParameterANGLE(GLint plane, GLenum pname);
};
  

Revision History

Revision 1, 2022/12/06