Servo: WebGL 1.0 рдХреЛ рдкреВрд░реА рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдорд╛рд░реНрдЪ 2016  ┬╖  40рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: servo/servo

рдпрд╣ рдПрдХ рдореЗрдЯрд╛-рдмрдЧ рд╣реЛрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИред

рд╢реЗрд╖ рдХреБрдЫ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ https://github.com/servo/servo/issues/5014 (рд╡реЗ рдЬреЛ ArrayBufferView рдпрд╛ BufferDataSource рдФрд░ рдУрд╡рд░рд░рд╛рдЗрдб рд╣реИрдВ) рдкрд░ рдЕрд╡рд░реБрджреНрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрдиреНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢реЗрд╖ рдХрдореА рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореБрджреНрджреЗ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ E-Easy ред

WebGL рдмрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА

рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рдХрд▓реНрдкрдирд╛

рд╡реЗрдмрдЬреАрдПрд▓ 1.0 рд╕реНрдкреЗрдХ рдпрд╣рд╛рдВ рд╣реИ ред

GLES 2.0 рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛

WebGL GLES 2.0 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП WebGL рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЕрдХреНрд╕рд░ рдЗрд╕рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдПрдХ рдкреАрдбреАрдПрдл рд╕рдВрд╕реНрдХрд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд░реНрддрдорд╛рди рдХреЛрдб

рдбреЛрдо

WebGL рдХреЛрдб рдХрд╛ DOM рдкрдХреНрд╖ рдирд┐рдореНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • components/script/dom/webglrenderingcontext.rs
  • components/script/dom/webglactiveinfo.rs
  • components/script/dom/webglbuffer.rs
  • components/script/dom/webglcontextevent.rs
  • components/script/dom/webglframebuffer.rs
  • components/script/dom/webglobject.rs
  • components/script/dom/webglprogram.rs
  • components/script/dom/webglrenderbuffer.rs
  • components/script/dom/webglrenderingcontext.rs
  • components/script/dom/webglshader.rs
  • components/script/dom/webglshaderprecisionformat.rs
  • components/script/dom/webgltexture.rs
  • components/script/dom/webgluniformlocation.rs

рд╡реЗрдмрдЬреАрдПрд▓ рдзрд╛рдЧрд╛

WebGL рдереНрд░реЗрдб рд╡рд╣ рдереНрд░реЗрдб рд╣реИ рдЬреЛ DOM рд╕реЗ WebGL рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╛ рддреЛ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрд╛ WebRender рдмреИрдХрдПрдВрдб рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред

рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЫреВрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓ рд╣реИ:

  • components/canvas/webgl_paint_thread.rs

WebGL рдХрдорд╛рдВрдб рдХреА рдкрд░рд┐рднрд╛рд╖рд╛, рдирд┐рд╖реНрдкрд╛рджрди рдФрд░ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░

WebGL рдХреА рд╢реЗрд╖ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдФрд░ рдХрдорд╛рдВрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди webrender_traits рдХреА webgl.rs рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИрдВ , рддрд╛рдХрд┐ рд╕рд░реНрд╡реЛ рдФрд░ рд╡реЗрдмрд░реЗрдВрдбрд░ рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдЖрдк WebGLCommand рдкрд░рд┐рднрд╛рд╖рд╛ рдФрд░ apply рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдЧреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ WebGLCommand рд╣реИ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рд╕реЗ canvas_traits рдХреЗ рд░реВрдк рдореЗрдВ CanvasWebGLMessage рд╡рд┐рд░рд╛рд╕рдд рдХрд╛рд░рдгреЛрдВ (рдЬрдмрдХрд┐ webrender рдЕрднреА рддрдХ рд╡рд┐рд▓рдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд┐рдмреЗрд╕ рджрд░реНрдж рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП)ред

рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рдВрдЪ рдирджрд╛рд░рдж

  • [ ] "рд╕рдХреНрд╖рдо рд╡рд░реНрдЯреЗрдХреНрд╕ рдПрдЯреНрд░реАрдмреНрдпреВрдЯреНрд╕ рдФрд░ рд░реЗрдВрдЬ рдЪреЗрдХрд┐рдВрдЧ" рдХреЛ рдареАрдХ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#20599)
  • [ ] рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╣рдо рд╕рднреА GLSL рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдареАрдХ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ (#реирежремрежрез)
  • [ ] "рдХреНрдпреВрдм рдореИрдк рдлрд╝реНрд░реЗрдордмрдлрд╝рд░ рдЕрдЯреИрдЪрдореЗрдВрдЯ рдХреА рдкреВрд░реНрдгрддрд╛" (#20654) рдХреЛ рдареАрдХ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
  • [ ] рдлреАрдбрдмреИрдХ рд▓реВрдк рдХреЗ рдЦрд┐рд▓рд╛рдл рд╡реЗрдмрдЬреАрдПрд▓ рдЬрд╛рдВрдЪ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#реирезреиреорео)
  • [ ] рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЬрд╛рдВрдЪ рдХреЛ рдареАрдХ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#20555)
  • [ ] рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрдирд╛рд╡рдЯ рдХреЛ рдкрд╛рд░рджрд░реНрд╢реА рдХрд╛рд▓реЗ рд░рдВрдЧ рдореЗрдВ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ (#реирезренрезрем)
  • [ ] рдорд╛рдиреНрдп рд╕реНрд░реЛрдд gl.shaderSource() (#21754) рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛

рд▓рдВрдмрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

  • [ ] antialiasing рдХреЗ WebGL рдкреНрд░рд╕рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ (#реирезреиреорел)
  • [ ] WebGL рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ (#15266)
  • [ ] WebGL рдореЗрдВ рдХрдВрдкреНрд░реЗрд╕реНрдб рдЯреЗрдХреНрд╕рдЪрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#20594)
  • [ ] рдХрд┐рд╕реА WebGL рдХреИрдирд╡рд╛рд╕ рдХреЛ 2D рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдЖрд░реЗрдЦрд┐рдд рдХрд░рдирд╛ (#реирезрелрелрем) рд▓рд╛рдЧреВ рдХрд░реЗрдВ
  • [ ] ImageBitmap (#20650)
  • [ ] рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдЕрдиреБрд░реЛрдзрд┐рдд рдбреНрд░рд╛рдЗрдВрдЧ рдмрдлрд░ рд╕реЗ рдЫреЛрдЯрд╛ рдмрдирд╛рдПрдВ (#реирезренрезрео)
  • [ ] WebGL рдХреИрдирд╡рд╛рд╕ рдХреЛ рдлрд╝реБрд▓рд╕реНрдХреНрд░реАрди рдмрдирд╛рддреЗ рд╕рдордп рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (#реирезреирепреж)
  • [ ] WebGLRenderingContext.bufferSubData (#20558) рдореЗрдВ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╕реЗ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрдЪрд╛рд╡ рдХрд░реЗрдВ

рдЕрдиреНрдп рд▓рдВрдмрд┐рдд рдЪреАрдЬреЗрдВ рдФрд░ рд╕реБрдзрд╛рд░

  • [ ] рд╡реЗрдмрдЬреАрдПрд▓ рд╕рдВрджрд░реНрдн рдордЬрдмреВрддреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдЬреНрдЮрд╛рди рдХреА рдЪреЛрд░реА рдХрд░реЗрдВ (#21144)
  • [ ] WebIDL рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ [AllowShared] (#20515) рдХрд╛ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
  • [ ] рдХреИрд╢ drawingBufferWidth / drawingBufferHeight рдореЗрдВ WebGLRenderingContext (#20530)
  • [ ] WebGLRenderingContext.getContextAttributes (#20532) рдХрд╛ рдХреИрд╢ рдкрд░рд┐рдгрд╛рдо
  • [] WebGLRenderingContext.bufferData (#20557) рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХреЗ рд▓рд┐рдП рдЦрд╛рд▓реА рдмрдлрд░ рдЖрд╡рдВрдЯрд┐рдд рди рдХрд░реЗрдВ
  • [ ] WebGL рдмрдирд╛рд╡рдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рдирд┐рдХрд╛рд▓реЗрдВ (#20596)
  • [ ] WebGL рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВ (#20642)
  • [ ] рд╢рд╛рдпрдж WebGL рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдп рд╕реНрд░реЛрдд рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ (#реирежремрекрей)
  • [ ] рд╡реЗрдмрдЬреАрдПрд▓ рдХреЗ рд▓рд┐рдП рдЦреНрд░реЛрдиреЛрд╕ рдкрд░реАрдХреНрд╖рдг рдкрд░реАрдХреНрд╖рдг рдирд╛рдо рдореЗрдВ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (#20668)
  • [ ] [Throws] рдкреНрд░рддрд┐-рдЕрдзрд┐рднрд╛рд░ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ (#20516)
  • [ ] html5test.com рдкрд░ рд╢реЗрдбрд░ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдХреНрд░реИрд╢ (#21191)
  • [ ] WebGL рд╡рд╛рдЯрд░ рдбреЗрдореЛ рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ (#реирезрезренрей)
  • [ ] рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╕рд░реНрд╡реЛ (#21172) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ "рдЕрдзрд┐рдХрддрдо рднрд┐рдиреНрди рд╡реИрдХреНрдЯрд░", "рдЕрдзрд┐рдХрддрдо рд░рдВрдЧ рдмрдлрд░", рдФрд░ "рдЕрдзрд┐рдХрддрдо рд╕рдВрдпреБрдХреНрдд рдмрдирд╛рд╡рдЯ рдЗрдХрд╛рдЗрдпрд╛рдВ" рд╕реАрдорд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ
  • [] рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реЗрдмрд▓реЙрдЧ-рдЖрдзрд╛рд░рд┐рдд рдРрдкреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ (#21151)
  • [ ] рдПрдХ рд╡реЗрдмрдЬреАрдПрд▓ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдмрдирд╛рдПрдВ (#21150)

рд╣реЛ рдЧрдпрд╛ рд╕рд╛рдорд╛рди

  • [x] WebGL рд╕реНрдерд╛рди рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдореЛрдВ рдореЗрдВ рдЕрдорд╛рдиреНрдп рд╡рд░реНрдгреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ (#реирезреиреорен)
  • [x] WebGLRenderingContext.getProgramInfoLog (#20561) рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдСрдбрд┐рдЯ рдХрд░реЗрдВ
  • [x] handle_object_deletion рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (#реирезрейрелреи)
  • [x] WebGL рдХреИрдирд╡рд╛рд╕ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдЖрдХрд╛рд░ рджреЗрддреЗ рд╕рдордп рдлрд╝реНрд░реЗрдордмрдлрд╝рд░ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ (#реирезрекренрел)
  • [x] рд╡рд┐рд╢рд┐рд╖реНрдЯ WebIDL рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд░реНрдерди рд╕рдВрдШ (#20513)
  • [x] рд▓рдВрдмрд┐рдд texImage2D рдЕрдзрд┐рднрд╛рд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрежрекрекрей)
  • [x] copyTexImage2D рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#11147)
  • [x] copyTexSubImage2D рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#11147)
  • [x] рдбрд┐рдЯреИрдЪрд╢реИрдбрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10215)
  • [x] рд╕рдорд╛рдкреНрдд рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10212, #10215)
  • [x] рдлреНрд▓рд╢ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10213, #10215)
  • [x] рдлреНрд░реЗрдордмрдлрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВрд░реЗрдВрдбрд░рдмрдлрд░ (#13639)
  • [x] рдлреНрд░реЗрдордмрдлрд░ рдЯреЗрдХреНрд╕рдЪрд░ реирдбреА рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрейремрейреп)
  • [x] рдЬрдирд░реЗрдЯ рдорд┐рдкрдореИрдк рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10215)
  • [x] getActiveAttrib рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10379)
  • [x] getActiveUniform рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10397)
  • [x] getAttachedShaders рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#реирежрекрезрез)
  • [x] getFramebufferAttachmentParameter (#реирежрейрезрен) рд▓рд╛рдЧреВ рдХрд░реЗрдВ
  • [x] getProgramInfoLog рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрейрезрепреп)
  • [x] getRenderbufferParameter рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#20514)
  • [x] getTexParameter рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#20144)
  • [x] getShaderPrecisionFormat рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резремрелрекрек)
  • [x] getUniform рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#21202)
  • [x] getVertexAttrib рд▓рд╛рдЧреВ рдХрд░реЗрдВ
  • [x] getVertexAttribOffset рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резремреорепрей)
  • [x] isBuffer рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#11357)
  • [x] рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдХреНрд╖рдо рд╣реИ (#13040)
  • [x] isFramebuffer рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#11357)
  • [x] isRenderBuffer рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#11357)
  • [x] isShader рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрезрежренреи)
  • [x] isTexture рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрезрежренреи)
  • [x] рд░реАрдб рдкрд┐рдХреНрд╕рд▓ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10668)
  • [x] рд░реЗрдВрдбрд░рдмрдлрд░ рд╕реНрдЯреЛрд░реЗрдЬ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#13872)
  • [x] рдирдореВрдирд╛ рдХрд╡рд░реЗрдЬ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
  • [x] stencilFunc рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10659)
  • [x] stencilFuncSeparate рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10659)
  • [x] рд╕реНрдЯреИрдВрд╕рд┐рд▓рдорд╛рд╕реНрдХ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10659)
  • [x] рд╕реНрдЯреИрдВрд╕рд┐рд▓рдорд╛рд╕реНрдХрд╕реЗрдкрд░реЗрдЯ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10659)
  • [x] рд╕реНрдЯреИрдВрд╕рд┐рд▓рдСрдк рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10659)
  • [x] stencilOpSeparate рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10659)
  • [x] texSubImage2D рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрезрезремрео)
  • [x] рд╡рд░реНрджреА1i рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10417)
  • [x] рд╡рд░реНрджреА1iv рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10417)
  • [x] рдпреВрдирд┐рдлрд╝реЙрд░реНрдо2f рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10356)
  • [x] рдпреВрдирд┐рдлрд╝реЙрд░реНрдо2fv рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10417)
  • [x] рдпреВрдирд┐рдлрд╝реЙрд░реНрдореиi рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрежрекрезрен)
  • [x] рдпреВрдирд┐рдлрд╝реЙрд░реНрдо2iv рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10417)
  • [x] рдпреВрдирд┐рдлреЙрд░реНрдо рейрдПрдл рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрежрекрезрен)
  • [x] рдпреВрдирд┐рдлрд╝реЙрд░реНрдо3fv рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10417)
  • [x] рдпреВрдирд┐рдлреЙрд░реНрдо рейрдЖрдИ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрежрекрезрен)
  • [x] рд╡рд░реНрджреА3iv рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10417)
  • [x] рдпреВрдирд┐рдлрд╝реЙрд░реНрдо4i рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10368)
  • [x] рд╡рд░реНрджреА4iv рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10368)
  • [x] рдпреВрдирд┐рдлреЙрд░реНрдордореИрдЯреНрд░рд┐рдХреНрд╕2fv рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10671)
  • [x] рдпреВрдирд┐рдлреЙрд░реНрдордореИрдЯреНрд░рд┐рдХреНрд╕ рей рдПрдлрд╡реА рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#резрежремренрез)
  • [x] рдпреВрдирд┐рдлреЙрд░реНрдордореИрдЯреНрд░рд┐рдХреНрд╕4fv рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#10671)
  • [x] рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#13199)
  • [x] WebGLRenderingContext.activeTexture (#20531) рдореЗрдВ рд╕реАрдорд╛ рдХреА рдЙрдЪрд┐рдд рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
  • [x] gl.getParameter(gl.ALIASED_LINE_WIDTH_RANGE) (#20535)
  • [x] gl.getParameter(gl.BLEND_COLOR) (#20536)
  • [x] gl.getParameter(gl.COLOR_CLEAR_VALUE) (#20537)
  • [x] gl.getParameter(gl.COLOR_WRITEMASK) (#20538)
  • [x] gl.getParameter(gl.COMPRESSED_TEXTURE_FORMATS) (#20544)
  • [x] gl.getParameter(gl.DEPTH_RANGE) (#20545)
  • [x] gl.getParameter(gl.GENERATE_MIPMAP_HINT) (#20546)
  • [x] рд╕рдорд░реНрдерди IMPLEMENTATION_COLOR_READ_FORMAT рдФрд░ IMPLEMENTATION_COLOR_READ_TYPE (#20547)
  • [x] рд╕рдорд░реНрдерди MAX_FRAGMENT_UNIFORM_VECTORS рдФрд░ MAX_VERTEX_UNIFORM_VECTORS (#20548)
  • [x] gl.getParameter(gl.MAX_VARYING_VECTORS) (#20549)
  • [x] рд╕рдорд░реНрдерди SCISSOR_TEST рдФрд░ SCISSOR_BOX (#20551)
  • [x] gl.getParameter(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL) (#20552)
  • [x] gl.getParameter(gl.UNPACK_FLIP_Y_WEBGL) (#20553)
  • [x] gl.getParameter(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL) (#20554)
  • [x] WebGLRenderingContext.bindBuffer рдЪреЗрдХ рдХреЛ рдареАрдХ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#20556)
  • [x] gl.renderbufferStorage (#20563) рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдХреЛ рдареАрдХ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
  • [x] WebGLRenderingContext.getFramebufferAttachmentParameter (#20593) рдореЗрдВ рдЪреЗрдХ рдХрд╛ рдСрдбрд┐рдЯ рдХрд░реЗрдВ
  • [x] WebGLRenderingContext.clear (#20623) рдХреЗ рддрд░реНрдХ рдХреЛ рдареАрдХ рд╕реЗ рдЬрд╛рдВрдЪреЗрдВ
  • [x] рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо GLclampf рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдмрд╛рдБрдзрддреЗ рд╣реИрдВ (#20652)
  • [x] gl.getParameter рдФрд░ рджреЛрд╕реНрддреЛрдВ (#20655) рдореЗрдВ рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рд▓реМрдЯрд╛рдПрдВ
  • [x] рдареАрдХ рд╕реЗ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ WebGL рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд╣реА WebGL рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рд╣реИрдВ (#21133)
  • [x] WebGL рдореЗрдВ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдПрд▓рд┐рдпрд╛рд╕рд┐рдВрдЧ рдЪреЗрдХ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#21136)
  • [x] renderbufferStorage (#резрейренрезреж) рд╕реЗ рдЕрдкреНрд░рд╛рд░рдВрднреАрдХреГрдд рдбреЗрдЯрд╛ рд░рд┐рд╕рд╛рд╡ рдХреЛ рдареАрдХ рдХрд░реЗрдВ
  • [x] WebGLShader рд╡реЗрдмрд▓реЙрдЧ рдкреЗрдЬ рдмрдВрдж рдХрд░рддреЗ рд╕рдордп рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЕрдХреНрд╕рд░ рдЬреЛрд░ рджреЗрддрд╛ рд╣реИ (#реирезрезренрен)
  • [x] рдЬрдм рдПрдХ рд╣реА рдкреГрд╖реНрда рдореЗрдВ рдЕрдиреЗрдХ WebGLRenderingContext s рд╣реЛрдВ, рддреЛ рд╣рдорд╛рд░реЗ рд╕рддреНрдпрд╛рдкрдиреЛрдВ рдХреА рдлрд┐рд░ рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
  • [x] #реирежрелрепрео (#реирежремрежрен) рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдПрдВ
  • [x] рд╣рдорд╛рд░реЗ рд╕рддреНрдпрд╛рдкрди рдХреЛ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд░реЗрдВ (#10693)
  • [x] рдХреБрдЫ WebGL рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рд╣рдЯрд╛рдПрдВ (#20550)
  • [x] WebGLCommand рдХреЛ CanvasWebGLMessage рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ (https://github.com/servo/servo/issues/10211)
  • [x] рд╣рдорд╛рд░реЗ рдХреЛрдг рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
  • [x] WebGL рдЕрдиреБрд░реВрдкрддрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ (#10373)
  • [x] рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрдиреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреА рд╣рдорд╛рд░реА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ (#8753)
  • [x] рд╡рд╣ рдХреИрд╢реЗ рдЬреЛ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб GL рдХреНрд╖рдорддрд╛рдПрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ (#20534)
  • [x] WebGL рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдЗрдирдбрд╛рдпрд░реЗрдХреНрд╢рди рд╣рдЯрд╛рдПрдВ (#20560)
  • [x] WebGL рд╢реЗрдбрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рд╣рдЯрд╛рдПрдВ (#20562)
  • [x] рдСрдбрд┐рдЯ рдХрд░реЗрдВ рдХрд┐ рд╡реЗрдмрдЬреАрдПрд▓ (#20570) рдореЗрдВ рдлрд╝реНрд░реЗрдордмрдлрд╝рд░ рд╕реНрдерд┐рддрд┐ рдареАрдХ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рд╣реИ
  • [x] gl.getActiveAttrib рдФрд░ gl.getActiveUniform (#20600) рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЪрд┐рдд рдХрд░реЗрдВ
  • [x] gl.getVertexAttrib рдФрд░ gl.getVertexAttribOffset (#20608) рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреИрд╢ рдЬрд╛рдирдХрд╛рд░реА
  • [x] рдХреЗрд╡рд▓ рдХреИрдирд╡рд╛рд╕ рдХреЛ рдЧрдВрджрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ рдЬрдм рдХреЛрдИ рдлрд╝реНрд░реЗрдордмрдлрд╝рд░ рдмрд╛рдзреНрдп рди рд╣реЛ (#реирезремрепрез)
  • [x] рдЕрдзрд┐рдХрддрдо рд░реЗрдВрдбрд░рдмрдлрд╝рд░ рдЖрдХрд╛рд░ (#21485) рд╕реЗ рдЕрдзрд┐рдХ рд░реЗрдВрдбрд░рдмрдлрд╝рд░ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
  • [x] gl-pointcoord.html рдХреБрдЫ рднреА рдЖрдХрд░реНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ (#реирезренрезреп)
  • [x] oes-texture-half-float.html рдбреЗрд╕реНрдХрдЯреЙрдк рдореЛрдб рдореЗрдВ рдЪрд▓рдиреЗ рдкрд░ GL рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдШрдмрд░рд╛рд╣рдЯ (#реирезремремрей)
  • [x] Image2D рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдШрдЯрдХ рдЬрд╛рдБрдЪ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (#20595)
  • [x] preserveDrawingBuffer рдХреЗ WebGL рд╕рдВрджрд░реНрдн рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ (#21132)
A-contenwebgl B-meta

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ glGetTexParameter рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред

рд╕рднреА 40 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕реАрд╕реА @dmarcos

рдореИрдВ GenerateMipmap рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

@ConnorGBrewster рдореИрдВрдиреЗ https://github.com/servo/servo/issues/10226 рдЦреЛрд▓рд╛, рдЖрдЗрдП рд╡рд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ :)

рдореИрдВ getActiveUniform рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ

@saurvs рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП https://github.com/servo/servo/issues/10397 рдЦреЛрд▓рд╛ рд╣реИ, рд╡рд╣рд╛рдВ рдХреЛрдИ рднреА рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ :)

рдореИрдВ рд╢реЗрд╖ рд╕рднреА рд╕рдорд╛рди рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрдЧрд░ рдпрд╣ рдареАрдХ рд╣реИ

@autrilla рд╡реЗ рдЖрдкрдХреЗ рд╣реИрдВ! рдореИрдВрдиреЗ рдЙрдирдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП https://github.com/servo/servo/issues/10417 рдЦреЛрд▓рд╛ рд╣реИ, рд╡рд╣рд╛рдВ рдХреЛрдИ рднреА рдкреНрд░рд╢реНрди рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ :)

рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ * рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ copyTex* рдФрд░ texSubImage2D рдкрд░ рдПрдХ рджрд░рд╛рд░ рд▓реЗ рд░рд╣рд╛ рд╣реВрдБ

рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ

Implement isShader
Implement isTexture

рдореИрдВ texSubImage2D рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛/рдЪрд╛рд╣рддреА рд╣реВрдВ

@daoshengmu : рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ!

@danlrobertson , рдХреНрдпрд╛ рдЖрдк рдЕрднреА рднреА texSubImage2D рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@danlrobertson рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдХрд┐ рдЖрдк texSubImage2D рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рд╕рд┐рд░реНрдл рд╡реЗрдмрдЬреАрдПрд▓ рдХреЗ рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореИрдВ copyTexImage2D рдФрд░ copyTexSubImage2D @emilio рдЪреБрди рд╕рдХрддрд╛ рд╣реВрдВ

@daoshengmu рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ! рдмрд┐рд▓рдХреБрд▓ рдареАрдХ рд╣реИ! рдкреАрдЖрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рд▓рдЧрдирд╛ рдореЗрд░рд╛ рдмреБрд░рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕ рдЬреАрд╡рди рд╣реЛрддрд╛ рд╣реИ: рдореБрд╕реНрдХрд╛рди:...

рдХреНрдпрд╛ рдЖрдк texSubImage2D рд▓реЗрдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИрдВ? рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХреЛрдВ рдХреЛ wr_traits рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ ред рдореЗрд░реЗ рдкрд╛рд╕ рд╢реАрдШреНрд░ рд╣реА copyTex* рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ texSubImage2D рдкрд░ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдпрджрд┐ рдЖрдк texSubImage2D , рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдПрдВ! рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдХреЛрдИ рдЦрд╛рд╕ рд▓рдЧрд╛рд╡ рдирд╣реАрдВ рд╣реИред рдмрд╕ рд╡реЗрдмрдЬреАрдПрд▓ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛...

@danlrobertson рдЬрд╝рд░реВрд░ред рдореИрдВ texSubImage2D рд▓реВрдВрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ

рдЕрдЧрд░ рдпрд╣ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рдХрд╛рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ
Implement isFramebuffer
рддрдерд╛
Implement isRenderBuffer

@DDEFISHER рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдПрдВ! рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдореИрдВ рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХреВрдВ?

рдореИрдВ isBuffer рдкрд░ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдп 2 . рдХреЗ рд╕рдорд╛рди рд╣реИ

рдпрджрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВред рд╢реБрдХреНрд░рд┐рдпрд╛!

рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореБрджреНрджреЗ рдИ-рдЖрд╕рд╛рди рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ; рдпрд╣ рдирд╣реАрдВред

рдХреНрдпрд╛ рдХреЛрдИ рдИ-рдЖрд╕рд╛рди (рдЖрдИрдПрд╕рдПрдЪ) рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдзрдиреНрдпрд╡рд╛рдж :)

@ofekd isEnabled рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ enable рдФрд░ disable рдкрд╣рд▓реЗ рд╣реА рд▓рд╛рдЧреВ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ!

@jdm рдореИрдВ рдЗрд╕реЗ рд▓реВрдВрдЧрд╛

@ofekd isEnabled рдПрдХ рдирдП рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред webgl-specific.html рдореЗрдВ рдХреБрдЫ рдЯреЗрд╕реНрдЯрдХреЗрд╕, рдЬреИрд╕реЗ рдмреНрд▓реЗрдВрдбрд┐рдВрдЧ func рдпрд╛ stencil func рд╡рд╛рд▓реЗ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреЗ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред invalid-passed-params.html рднреА рдЕрдЪреНрдЫреЗ рдЖрд╕рд╛рди рдХрд╛рдо рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

@anholt рдЬрдм рддрдХ рдпрд╣ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:

webrender_traits/src/webgl.rs
servo/components/script/dom/webglrenderingcontext.rs
servo/components/script/dom/webidls/WebGLRenderingContext.webidl

рдЬрдм рддрдХ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЕрдиреНрдп рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рдмрд╛рдзрд╛ рдирд╣реАрдВ рдбрд╛рд▓рддрд╛, рдореИрдВ isEnabled рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛

рдореИрдВ рдорд╛рдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ getProgramInfoLog рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛

рдореИрдВ рдпреВрдирд┐рдлреЙрд░реНрдордореИрдЯреНрд░рд┐рдХреНрд╕2рдПрдлрд╡реА, рдпреВрдирд┐рдлреЙрд░реНрдордореИрдЯреНрд░рд┐рдХреНрд╕3рдПрдлрд╡реА, рдпреВрдирд┐рдлреЙрд░реНрдордореИрдЯреНрд░рд┐рдХреНрд╕4рдПрдлрд╡реА рдФрд░ рдлреНрд░реЗрдордмрдлрд░рд░реЗрдВрдбрд░рдмрдлрд░, рдлреНрд░реЗрдордмрдлрд░рдЯреЗрдХреНрд╕реНрдЪрд░2рдбреА, рд░реЗрдВрдбрд░рдмрдлрд░рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рдЕрдзрд┐рдХ рдорд╛рдВрдЧ рд╡рд╛рд▓реЗ рд╡реЗрдмрд▓реЙрдЧ рдбреЗрдореЛ рдЪрд▓рд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕рд░реНрд╡реЛ рдкрд░ рдкреВрд░реНрдг рдорд╛рдкрддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;)

@MortimerGoro рдореИрдВ рдПрдлрдмреАрдУ рд╕рдорд░реНрдерди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рд╣рд╛рд▓ рдХреЗ рдХреБрдЫ рд╡рд┐рд▓рдп рджреЗрдЦреЗрдВ, рдФрд░ https://github.com/anholt/servo/tree/webgl-fbo)ред рдореИрдВрдиреЗ рд╡рд░реНрджреАрдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП https://github.com/anholt/servo/tree/webgl-uniform-matrix-v рднреА рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@anholt рдХрдорд╛рд▓! рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпреВрдирд┐рдлрд╝реЙрд░реНрдордореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХрд┐рд╕реА рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

@MortimerGoro рд╕рд┐рд░реНрдл рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдореИрдВрдиреЗ FBO рд╕рдорд░реНрдерди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП #13639 рдЦреЛрд▓рд╛ рд╣реИред рдЗрд╕реЗ рдлреНрд░реЗрдордмрдлрд░ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВрд░реЗрдВрдбрд░рдмрдлрд░/рдлреНрд░реЗрдордмрдлрд░Texture2D?

@ рд╢реНрд░рд╡рдг-рдЖрдЪрд╛рд░ рдпрд╣рд╛рдВ рд╢реЗрд╖ рд▓реЛрдЧреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ toDataURL() рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╡реЗрдмрдЬреАрдПрд▓ рдХреЗ рд▓рд┐рдП рд╢реЗрд╖ рдЯреЗрд╕реНрдЯрдХреЗрд╕ рдореБрджреНрджреЛрдВ (рдЬреИрд╕реЗ asin_001_to_006.html ) рдХрд╛ рдХрд╛рд░рдг рд╣реИред

рдЕрднреА рдХреЗрд╡рд▓ 5 рд▓рд╛рдкрддрд╛ API рд╣реИрдВред

рдореИрдВ, @taki-jaro, @mrowqa рдФрд░ @xanewok рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдПрдХ рдЫрд╛рддреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ
cc @KiChjang

рдореИрдВ glGetTexParameter рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред

getFramebufferAttachmentParameter() рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВ getRenderbufferParameter рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛/рдЪрд╛рд╣рддреА рд╣реВрдВ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдм рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╕рдВрдкрд╛рджрди рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рд░рдЦ рд░рд╣реА рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВрдиреЗ рдореБрджреНрджреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЬреЛрдбрд╝рд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕