15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci EXT_multisampled_render_to_texture2 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_EXT_multisampled_render_to_texture2 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContributors 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Jeff Leger 125bd8deadSopenharmony_ci Maurice Ribble 135bd8deadSopenharmony_ci Krzysztof Kosinski 145bd8deadSopenharmony_ci Craig Donner 155bd8deadSopenharmony_ci Tobias Hector 165bd8deadSopenharmony_ci Jan-Harald Fredriksen 175bd8deadSopenharmony_ci Nigel Williams 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciContact 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci Jeff Leger (jleger 'at' qti.qualcomm.com) 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciStatus 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci Complete 265bd8deadSopenharmony_ci 275bd8deadSopenharmony_ciVersion 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ci Last Modified Date: February 27, 2017 305bd8deadSopenharmony_ci Revision: 3 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ciNumber 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ci OpenGL ES Extension #275 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ciDependencies 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci This requires support of EXT_multisample_render_to_texture or an equivalent 395bd8deadSopenharmony_ci extension. 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci This interacts with OVR_multiview_multisampled_render_to_texture. 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ciOverview 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci The <attachment> parameters for FramebufferTexture2DMultisampleEXT is no 465bd8deadSopenharmony_ci longer required to be COLOR_ATTACHMENT0. The attachment parameter now 475bd8deadSopenharmony_ci matches what is allowed in FramebufferTexture2D. This means values like 485bd8deadSopenharmony_ci GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT, or 495bd8deadSopenharmony_ci GL_DEPTH_STENCIL_ATTACHMENT may be used. 505bd8deadSopenharmony_ci After the application has rendered into the mutisampled buffer, the application 515bd8deadSopenharmony_ci should be careful to not trigger an implicit flush by performing a client side 525bd8deadSopenharmony_ci read of the buffer (readpixels, copyteximage, blitframebuffer, etc) before any 535bd8deadSopenharmony_ci subsequent rendering which uses the contents of the buffer. This may cause the 545bd8deadSopenharmony_ci attachment to be downsampled before the following draw, which would potentially 555bd8deadSopenharmony_ci cause corruption. 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ciIP Status 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci No known IP claims. 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ciNew Procedures and Functions 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci None 645bd8deadSopenharmony_ci 655bd8deadSopenharmony_ciNew Tokens 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci None 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ciAdditions to Section 4.4.3 of the OpenGL ES 2.0 Specification 705bd8deadSopenharmony_ci(Renderbuffer Objects) 715bd8deadSopenharmony_ci 725bd8deadSopenharmony_ci Remove the following wording describing FramebufferTexture2DMultisampleEXT: 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ci "and have the same restrictions. attachment must be COLOR_ATTACHMENT0." 755bd8deadSopenharmony_ci 765bd8deadSopenharmony_ci In the description of FramebufferTexture2DMultisampleEXT, after the sentence 775bd8deadSopenharmony_ci "After such a resolve, the contents of the multisample buffer become undefined.", 785bd8deadSopenharmony_ci add the following sentence: 795bd8deadSopenharmony_ci 805bd8deadSopenharmony_ci "If texture is a depth or stencil texture, the contents of the multisample 815bd8deadSopenharmony_ci buffer is discarded rather than resolved - equivalent to the application 825bd8deadSopenharmony_ci calling InvalidateFramebuffer for this attachment." 835bd8deadSopenharmony_ci 845bd8deadSopenharmony_ciErrors 855bd8deadSopenharmony_ci 865bd8deadSopenharmony_ci Remove this error: 875bd8deadSopenharmony_ci The error INVALID_ENUM is generated if FramebufferTexture2DMultisampleEXT 885bd8deadSopenharmony_ci is called with an <attachment> that is not COLOR_ATTACHMENT0. 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ciIssues 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci 1. How should downsampling depth/stencil surfaces be handled? 935bd8deadSopenharmony_ci 945bd8deadSopenharmony_ci Proposed: Ideally, when using this extension, depth/stencil attachments should 955bd8deadSopenharmony_ci always be discarded/invalidated by the application *before* the rendering is 965bd8deadSopenharmony_ci submitted. If the application fails to do so, the implementation is not required 975bd8deadSopenharmony_ci to preserve the contents of those attachments. A depth/stencil resolve is 985bd8deadSopenharmony_ci equivalent to InvalidateFramebuffer for those attachments. 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci Revision History 1015bd8deadSopenharmony_ci 1025bd8deadSopenharmony_ci Revision 1, 2016/9/15 1035bd8deadSopenharmony_ci - First draft of extension 1045bd8deadSopenharmony_ci Revision 2, 2016/12/2 1055bd8deadSopenharmony_ci - Added interaction with OVR_multiview_multisampled_render_to_texture 1065bd8deadSopenharmony_ci - Added issue for downsampling depth 1075bd8deadSopenharmony_ci Revision 3, 2017/02/27 1085bd8deadSopenharmony_ci - Final version. A depth/stencil resolve is equivalent 1095bd8deadSopenharmony_ci to InvalidateFramebuffer 110