User:Gabadie/WebGL2
From MozillaWiki
Work Done
- Create github fork of mozilla-central (https://github.com/gabadie/mozilla-central/tree/webgl2)
Tasks diagram to implement the experimental WebGL 2
Original Graphviz code :
digraph G { github [label="Create github fork of mozilla-central"] flag [label="Add about:config flag"] idl [label="Add WebGL2 IDL inheriting WebGL 1 IDL"] cppclass [label="Add WebGLContext2 C++ class inheriting WebGLContext"] getcontext [label="Edit HTMLCanvasElement::GetContextHelper to allow experimental-webgl2"] GL3 [label="Edit GLContext to allow getting a GL3 context; let WebGL 2 use it"] bypassangle [label="Bypass ANGLE shader compilation, use GL3 directly"] iswebgl2 [label="Add virtual func WebGLContext::IsWebGL2"] existingexts [label="Add existing WebGL 1 extensions as WebGL 2 features (e.g. draw_buffers)"] queries [label="Query objects"] // PRIORITY transformfeedback [label="Transform feedback"] // PRIORITY uniformbuffers [label="Uniform Buffer objects"] samplers [label="Sampler objects"] buffercopy [label="Buffer to buffer copies"] tex3d [label="3D textures"] instanced [label="Instanced rendering"] // PRIORITY texstorage [label="Texture storage"] rrgtex [label="R and RG textures"] texswizzle [label="Texture swizzles"] ETC2 [label="ETC2 textures"] // PRIORITY EAC [label="EAC textures"] // PRIORITY npot [label="Unrestricted NPOT textures"] lod [label="Mipmap level/LOD tricks"] newformats [label="New renderbuffer/texture formats"] srgb [label="sRGB textures"] // PRIORITY multisamplerb [label="Multisample renderbuffers"] // PRIORITY halffloatattribs [label="Half-float vertex attribs"] shadow [label="Shadow comparisons"] // PRIORITY stretchblit [label="Stretch blits"] invalidation [label="Framebuffer invalidation hints"] drawrange [label="DrawRangeElements"] primrestart [label="Primitive restart with fixed index"] // PRIORITY mipmaplevelsattach [label="Attach any mipmap level to a framebuffer"] blendminmax [label="min/max blend equations"] // PRIORITY uniformmatrices [label="Non-square and transposable uniform matrices"] pixelstore [label="Additional pixel store state"] priorityfeatures [label="High-priority features"] github -> flag -> idl -> cppclass -> getcontext -> iswebgl2 getcontext -> existingexts existingexts -> queries existingexts -> transformfeedback existingexts -> instanced existingexts -> ETC2 existingexts -> EAC existingexts -> srgb existingexts -> multisamplerb existingexts -> primrestart existingexts -> blendminmax queries -> priorityfeatures transformfeedback -> priorityfeatures instanced -> priorityfeatures ETC2 -> priorityfeatures EAC -> priorityfeatures srgb -> priorityfeatures multisamplerb -> priorityfeatures primrestart -> priorityfeatures blendminmax -> priorityfeatures priorityfeatures -> uniformbuffers priorityfeatures -> samplers priorityfeatures -> buffercopy priorityfeatures -> tex3d priorityfeatures -> texstorage priorityfeatures -> rrgtex priorityfeatures -> texswizzle priorityfeatures -> npot priorityfeatures -> lod priorityfeatures -> newformats priorityfeatures -> halffloatattribs priorityfeatures -> stretchblit priorityfeatures -> invalidation priorityfeatures -> drawrange priorityfeatures -> mipmaplevelsattach priorityfeatures -> uniformmatrices priorityfeatures -> pixelstore priorityfeatures -> shadow GL3 -> bypassangle iswebgl2 -> bypassangle bypassangle -> shadow bypassangle -> uniformbuffers bypassangle -> samplers bypassangle -> tex3d bypassangle -> uniformmatrices }