15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci NV_framebuffer_multisample 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_NV_framebuffer_multisample 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContributors 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Contributors to EXT_framebuffer_multisample 125bd8deadSopenharmony_ci Contributors from ANGLE_framebuffer_multisample 135bd8deadSopenharmony_ci 145bd8deadSopenharmony_ci Gregory Roth, NVIDIA 155bd8deadSopenharmony_ci Mathias Heyer, NVIDIA 165bd8deadSopenharmony_ci Xi Chen, NVIDIA 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ciContacts 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ci Mathias Heyer, NVIDIA (mheyer 'at' nvidia 'dot' com) 215bd8deadSopenharmony_ci 225bd8deadSopenharmony_ciStatus 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ci Complete 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ciVersion 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ci Last Modified Date: March 03, 2015 295bd8deadSopenharmony_ci Author Revision: #5 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ciNumber 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ci OpenGL ES Extension #143 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ciDependencies 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ci Requires OpenGL ES 2.0. 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ci Requires GL_NV_framebuffer_blit. 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci The extension is written against the OpenGL ES 2.0.25 425bd8deadSopenharmony_ci (November 2, 2010) specification. 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci OES_texture_3D affects the definition of this extension. 455bd8deadSopenharmony_ci NV_texture_array affects the definition of this extension. 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ci This extension interacts with OpenGL ES 3.0 and later versions. 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ciOverview 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci This extension extends the framebuffer object framework to 525bd8deadSopenharmony_ci enable multisample rendering. 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ci The new operation RenderbufferStorageMultisampleNV() allocates 555bd8deadSopenharmony_ci storage for a renderbuffer object that can be used as a multisample 565bd8deadSopenharmony_ci buffer. A multisample render buffer image differs from a 575bd8deadSopenharmony_ci single-sample render buffer image in that a multisample image has a 585bd8deadSopenharmony_ci number of SAMPLES that is greater than zero. No method is provided 595bd8deadSopenharmony_ci for creating multisample texture images. 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ci All of the framebuffer-attachable images attached to a framebuffer 625bd8deadSopenharmony_ci object must have the same number of SAMPLES or else the framebuffer 635bd8deadSopenharmony_ci object is not "framebuffer complete". If a framebuffer object with 645bd8deadSopenharmony_ci multisample attachments is "framebuffer complete", then the 655bd8deadSopenharmony_ci framebuffer object behaves as if SAMPLE_BUFFERS is one. 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci A resolve operation is executed by calling 685bd8deadSopenharmony_ci BlitFramebufferNV (provided by the NV_framebuffer_blit 695bd8deadSopenharmony_ci extension) where the source is a multisample framebuffer object 705bd8deadSopenharmony_ci and the destination is a single-sample framebuffer object. 715bd8deadSopenharmony_ci Source and destination framebuffer may be either application-created 725bd8deadSopenharmony_ci or window-system provided. 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ciNew Procedures and Functions 755bd8deadSopenharmony_ci 765bd8deadSopenharmony_ci void RenderbufferStorageMultisampleNV( 775bd8deadSopenharmony_ci enum target, sizei samples, 785bd8deadSopenharmony_ci enum internalformat, 795bd8deadSopenharmony_ci sizei width, sizei height); 805bd8deadSopenharmony_ci 815bd8deadSopenharmony_ciNew Tokens 825bd8deadSopenharmony_ci 835bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetRenderbufferParameteriv: 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci RENDERBUFFER_SAMPLES_NV 0x8CAB 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ci Returned by CheckFramebufferStatus: 885bd8deadSopenharmony_ci 895bd8deadSopenharmony_ci FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, 925bd8deadSopenharmony_ci and GetFloatv: 935bd8deadSopenharmony_ci 945bd8deadSopenharmony_ci MAX_SAMPLES_NV 0x8D57 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) 975bd8deadSopenharmony_ci 985bd8deadSopenharmony_ci Add to the last paragraph of 3.7.2 (Alternate Texture Image Specification) 995bd8deadSopenharmony_ci (as modified by NV_framebuffer_blit) the following: 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci "Calling CopyTexSubImage3DOES, CopyTexSubImage3DNV, 1025bd8deadSopenharmony_ci CopyTexImage2D or CopyTexSubImage2D will result in INVALID_OPERATION 1035bd8deadSopenharmony_ci being generated if the object bound to READ_FRAMEBUFFER_BINDING_NV 1045bd8deadSopenharmony_ci is "framebuffer complete" and the value of SAMPLE_BUFFERS is greater 1055bd8deadSopenharmony_ci than zero." 1065bd8deadSopenharmony_ci 1075bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment 1085bd8deadSopenharmony_ciOperations and the Framebuffer) 1095bd8deadSopenharmony_ci 1105bd8deadSopenharmony_ci Add to 4.3.1 (Reading Pixels), right before the subsection titled 1115bd8deadSopenharmony_ci "Obtaining Pixels from the Framebuffer": 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci "ReadPixels generates INVALID_OPERATION if READ_FRAMEBUFFER_BINDING_NV 1145bd8deadSopenharmony_ci (section 4.4) is non-zero, the read framebuffer is framebuffer 1155bd8deadSopenharmony_ci complete, and the value of SAMPLE_BUFFERS for the read framebuffer 1165bd8deadSopenharmony_ci is greater than zero." 1175bd8deadSopenharmony_ci 1185bd8deadSopenharmony_ci In 4.3.2 (Copying Pixels), add to the section describing BlitFramebufferNV 1195bd8deadSopenharmony_ci that was added by NV_framebuffer_blit. 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ci "If SAMPLE_BUFFERS for the read framebuffer is greater than zero and 1225bd8deadSopenharmony_ci SAMPLE_BUFFERS for the draw framebuffer is zero, the samples 1235bd8deadSopenharmony_ci corresponding to each pixel location in the source are converted to 1245bd8deadSopenharmony_ci a single sample before being written to the destination. 1255bd8deadSopenharmony_ci 1265bd8deadSopenharmony_ci If SAMPLE_BUFFERS for the read framebuffer is zero and 1275bd8deadSopenharmony_ci SAMPLE_BUFFERS for the draw framebuffer is greater than zero, the 1285bd8deadSopenharmony_ci value of the source sample is replicated in each of the destination 1295bd8deadSopenharmony_ci samples. 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ci If SAMPLE_BUFFERS for both the read and draw framebuffers are 1325bd8deadSopenharmony_ci greater than zero, and the values of SAMPLES for the read and draw 1335bd8deadSopenharmony_ci framebuffers are identical, the samples are copied without 1345bd8deadSopenharmony_ci modification from the read framebuffer to the draw framebuffer. 1355bd8deadSopenharmony_ci Otherwise, no copy is performed and an INVALID_OPERATION error is 1365bd8deadSopenharmony_ci generated. 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ci If SAMPLE_BUFFERS for the read framebuffer is greater than zero and 1395bd8deadSopenharmony_ci the format of the read and draw framebuffers are not identical, no 1405bd8deadSopenharmony_ci copy is performed and an INVALID_OPERATION error is generated. 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ci Furthermore, if SAMPLE_BUFFERS for either the read framebuffer or 1435bd8deadSopenharmony_ci draw framebuffer is greater than zero, no copy is performed and an 1445bd8deadSopenharmony_ci INVALID_OPERATION error is generated if the dimensions of the source 1455bd8deadSopenharmony_ci and destination rectangles provided to BlitFramebufferNV are not 1465bd8deadSopenharmony_ci identical, or if the formats of the read and draw framebuffers are 1475bd8deadSopenharmony_ci not identical. 1485bd8deadSopenharmony_ci 1495bd8deadSopenharmony_ci Modification to 4.4.3 (Renderbuffer Objects) 1505bd8deadSopenharmony_ci 1515bd8deadSopenharmony_ci Add, just above the definition of RenderbufferStorage: 1525bd8deadSopenharmony_ci 1535bd8deadSopenharmony_ci "The command 1545bd8deadSopenharmony_ci 1555bd8deadSopenharmony_ci void RenderbufferStorageMultisampleNV( 1565bd8deadSopenharmony_ci enum target, sizei samples, 1575bd8deadSopenharmony_ci enum internalformat, 1585bd8deadSopenharmony_ci sizei width, sizei height); 1595bd8deadSopenharmony_ci 1605bd8deadSopenharmony_ci establishes the data storage, format, dimensions, and number of 1615bd8deadSopenharmony_ci samples of a renderbuffer object's image. <target> must be 1625bd8deadSopenharmony_ci RENDERBUFFER. <internalformat> must be one of the color-renderable, 1635bd8deadSopenharmony_ci depth-renderable, or stencil-renderable formats described in table 4.5. 1645bd8deadSopenharmony_ci <width> and <height> are the dimensions in pixels of the renderbuffer. If 1655bd8deadSopenharmony_ci either <width> or <height> is greater than the value of 1665bd8deadSopenharmony_ci MAX_RENDERBUFFER_SIZE, or if <samples> is greater than MAX_SAMPLES_NV, 1675bd8deadSopenharmony_ci then the error INVALID_VALUE is generated. If OpenGL ES is unable to 1685bd8deadSopenharmony_ci create a data store of the requested size, the error OUT_OF_MEMORY 1695bd8deadSopenharmony_ci is generated. 1705bd8deadSopenharmony_ci 1715bd8deadSopenharmony_ci Upon success, RenderbufferStorageMultisampleNV deletes any existing 1725bd8deadSopenharmony_ci data store for the renderbuffer image and the contents of the data 1735bd8deadSopenharmony_ci store after calling RenderbufferStorageMultisampleNV are undefined. 1745bd8deadSopenharmony_ci RENDERBUFFER_WIDTH is set to <width>, RENDERBUFFER_HEIGHT is 1755bd8deadSopenharmony_ci set to <height>, and RENDERBUFFER_INTERNAL_FORMAT is set to 1765bd8deadSopenharmony_ci <internalformat>. 1775bd8deadSopenharmony_ci 1785bd8deadSopenharmony_ci If <samples> is zero, then RENDERBUFFER_SAMPLES_NV is set to zero. 1795bd8deadSopenharmony_ci Otherwise <samples> represents a request for a desired minimum 1805bd8deadSopenharmony_ci number of samples. Since different implementations may support 1815bd8deadSopenharmony_ci different sample counts for multisampled rendering, the actual 1825bd8deadSopenharmony_ci number of samples allocated for the renderbuffer image is 1835bd8deadSopenharmony_ci implementation dependent. However, the resulting value for 1845bd8deadSopenharmony_ci RENDERBUFFER_SAMPLES_NV is guaranteed to be greater than or equal 1855bd8deadSopenharmony_ci to <samples> and no more than the next larger sample count supported 1865bd8deadSopenharmony_ci by the implementation. 1875bd8deadSopenharmony_ci 1885bd8deadSopenharmony_ci An OpenGL ES implementation may vary its allocation of internal component 1895bd8deadSopenharmony_ci resolution based on any RenderbufferStorageMultisampleNV parameter (except 1905bd8deadSopenharmony_ci target), but the allocation and chosen internal format must not be a 1915bd8deadSopenharmony_ci function of any other state and cannot be changed once they are 1925bd8deadSopenharmony_ci established. The actual resolution in bits of each component of the 1935bd8deadSopenharmony_ci allocated image can be queried with GetRenderbufferParameteriv." 1945bd8deadSopenharmony_ci 1955bd8deadSopenharmony_ci Modify the definiton of RenderbufferStorage as follows: 1965bd8deadSopenharmony_ci 1975bd8deadSopenharmony_ci "The command 1985bd8deadSopenharmony_ci 1995bd8deadSopenharmony_ci void RenderbufferStorage(enum target, enum internalformat, 2005bd8deadSopenharmony_ci sizei width, sizei height); 2015bd8deadSopenharmony_ci 2025bd8deadSopenharmony_ci is equivalent to calling RenderbufferStorageMultisampleNV with 2035bd8deadSopenharmony_ci <samples> equal to zero." 2045bd8deadSopenharmony_ci 2055bd8deadSopenharmony_ci In section 4.4.5 (Framebuffer Completeness) in the subsection 2065bd8deadSopenharmony_ci titled "Framebuffer Completeness" add an entry to the bullet list: 2075bd8deadSopenharmony_ci 2085bd8deadSopenharmony_ci * The value of RENDERBUFFER_SAMPLES_NV is the same for all attached 2095bd8deadSopenharmony_ci images. 2105bd8deadSopenharmony_ci { FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV } 2115bd8deadSopenharmony_ci 2125bd8deadSopenharmony_ci Also add a paragraph to the end of the section after the definition 2135bd8deadSopenharmony_ci of CheckFramebufferStatus: 2145bd8deadSopenharmony_ci 2155bd8deadSopenharmony_ci "The values of SAMPLE_BUFFERS and SAMPLES are derived from the 2165bd8deadSopenharmony_ci attachments of the currently bound framebuffer object. If the 2175bd8deadSopenharmony_ci current DRAW_FRAMEBUFFER_BINDING_NV is not "framebuffer complete", 2185bd8deadSopenharmony_ci then both SAMPLE_BUFFERS and SAMPLES are undefined. Otherwise, 2195bd8deadSopenharmony_ci SAMPLES is equal to the value of RENDERBUFFER_SAMPLES_NV for the 2205bd8deadSopenharmony_ci attached images (which all must have the same value for 2215bd8deadSopenharmony_ci RENDERBUFFER_SAMPLES_NV). Further, SAMPLE_BUFFERS is one if 2225bd8deadSopenharmony_ci SAMPLES is non-zero. Otherwise, SAMPLE_BUFFERS is zero. 2235bd8deadSopenharmony_ci 2245bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State 2255bd8deadSopenharmony_ciRequests) 2265bd8deadSopenharmony_ci 2275bd8deadSopenharmony_ci In section 6.1.3 (Enumeraged Queries), modify the third paragraph 2285bd8deadSopenharmony_ci of the description of GetRenderbufferParameteriv as follows: 2295bd8deadSopenharmony_ci 2305bd8deadSopenharmony_ci "Upon successful return from GetRenderbufferParameteriv, if 2315bd8deadSopenharmony_ci <pname> is RENDERBUFFER_WIDTH, RENDERBUFFER_HEIGHT, 2325bd8deadSopenharmony_ci RENDERBUFFER_INTERNAL_FORMAT, or RENDERBUFFER_SAMPLES_NV, then <params> 2335bd8deadSopenharmony_ci will contain the width in pixels, height in pixels, internal format, or 2345bd8deadSopenharmony_ci number of samples, respectively, of the image of the renderbuffer 2355bd8deadSopenharmony_ci currently bound to <target>." 2365bd8deadSopenharmony_ci 2375bd8deadSopenharmony_ciDependencies on OpenGL ES 3.0 and later 2385bd8deadSopenharmony_ci 2395bd8deadSopenharmony_ci If OpenGL ES 3.0 or later is supported, the described modifications to 2405bd8deadSopenharmony_ci language for BlitFramebufferNV also apply to BlitFramebuffer: 2415bd8deadSopenharmony_ci 2425bd8deadSopenharmony_ci (Add to the end of the section describing BlitFramebuffer) 2435bd8deadSopenharmony_ci 2445bd8deadSopenharmony_ci "If SAMPLE_BUFFERS for the read framebuffer is zero and 2455bd8deadSopenharmony_ci SAMPLE_BUFFERS for the draw framebuffer is greater than zero, the 2465bd8deadSopenharmony_ci value of the source sample is replicated in each of the destination 2475bd8deadSopenharmony_ci samples. 2485bd8deadSopenharmony_ci 2495bd8deadSopenharmony_ci If SAMPLE_BUFFERS for both the read and draw framebuffers are 2505bd8deadSopenharmony_ci greater than zero, and the values of SAMPLES for the read and draw 2515bd8deadSopenharmony_ci framebuffers are identical, the samples are copied without 2525bd8deadSopenharmony_ci modification from the read framebuffer to the draw framebuffer. 2535bd8deadSopenharmony_ci Otherwise, no copy is performed and an INVALID_OPERATION error is 2545bd8deadSopenharmony_ci generated." 2555bd8deadSopenharmony_ci 2565bd8deadSopenharmony_ci (In the error list for BlitFramebuffer, modify the item "An 2575bd8deadSopenharmony_ci INVALID_OPERATION error is generated if the draw framebuffer is 2585bd8deadSopenharmony_ci multisampled.") 2595bd8deadSopenharmony_ci 2605bd8deadSopenharmony_ci * An INVALID_OPERATION error is generated if both the read and 2615bd8deadSopenharmony_ci draw buffers are multisampled, and SAMPLE_BUFFERS for the read and 2625bd8deadSopenharmony_ci draw buffers are not identical. 2635bd8deadSopenharmony_ci 2645bd8deadSopenharmony_ci (In the error list for BlitFramebuffer, add to the list) 2655bd8deadSopenharmony_ci 2665bd8deadSopenharmony_ci * An INVALID_OPERATION error is generated if either the read or draw 2675bd8deadSopenharmony_ci buffer is multisampled, and the formats of the read and draw 2685bd8deadSopenharmony_ci framebuffers are not identical. 2695bd8deadSopenharmony_ci 2705bd8deadSopenharmony_ciDependencies on NV_framebuffer_blit 2715bd8deadSopenharmony_ci 2725bd8deadSopenharmony_ci NV_framebuffer_blit is required. Technically, NV_framebuffer_blit 2735bd8deadSopenharmony_ci would not be required to support multisampled rendering, except for 2745bd8deadSopenharmony_ci the fact that it provides the only method of doing a multisample 2755bd8deadSopenharmony_ci resovle from a multisample renderbuffer. 2765bd8deadSopenharmony_ci 2775bd8deadSopenharmony_ciDependencies on OES_texture_3D and NV_texture_array 2785bd8deadSopenharmony_ci 2795bd8deadSopenharmony_ci On an OpenGL ES implementation, in the absense of OES_texture_3D or 2805bd8deadSopenharmony_ci NV_texture_array, omit references to CopyTexSubImage3DOES and 2815bd8deadSopenharmony_ci CopyTexSubImage3DNV, respectively. 2825bd8deadSopenharmony_ci 2835bd8deadSopenharmony_ci 2845bd8deadSopenharmony_ciErrors 2855bd8deadSopenharmony_ci 2865bd8deadSopenharmony_ci The error INVALID_OPERATION is generated if ReadPixels or 2875bd8deadSopenharmony_ci CopyTex{Sub}Image* is called while READ_FRAMEBUFFER_BINDING_NV 2885bd8deadSopenharmony_ci is non-zero, the read framebuffer is framebuffer complete, and the 2895bd8deadSopenharmony_ci value of SAMPLE_BUFFERS for the read framebuffer is greater than 2905bd8deadSopenharmony_ci zero. 2915bd8deadSopenharmony_ci 2925bd8deadSopenharmony_ci If both the draw and read framebuffers are framebuffer complete and 2935bd8deadSopenharmony_ci both have a value of SAMPLE_BUFFERS that is greater than zero, then 2945bd8deadSopenharmony_ci the error INVALID_OPERATION is generated if BlitFramebufferNV is 2955bd8deadSopenharmony_ci called and the values of SAMPLES for the draw and read framebuffers 2965bd8deadSopenharmony_ci do not match. 2975bd8deadSopenharmony_ci 2985bd8deadSopenharmony_ci If both the draw and read framebuffers are framebuffer complete and 2995bd8deadSopenharmony_ci either has a value of SAMPLE_BUFFERS that is greater than zero, then 3005bd8deadSopenharmony_ci the error INVALID_OPERATION is generated if BlitFramebufferNV is 3015bd8deadSopenharmony_ci called and the formats of the draw and read framebuffers are not 3025bd8deadSopenharmony_ci identical. 3035bd8deadSopenharmony_ci 3045bd8deadSopenharmony_ci If either the draw or read framebuffer is framebuffer complete and 3055bd8deadSopenharmony_ci has a value of SAMPLE_BUFFERS that is greater than zero, then the 3065bd8deadSopenharmony_ci error INVALID_OPERATION is generated if BlitFramebufferNV is called 3075bd8deadSopenharmony_ci and the specified source and destination dimensions are not 3085bd8deadSopenharmony_ci identical. 3095bd8deadSopenharmony_ci 3105bd8deadSopenharmony_ci If RenderbufferStorageMultisampleNV is called with <target> not 3115bd8deadSopenharmony_ci equal to RENDERBUFFER, the error INVALID_ENUM is generated. 3125bd8deadSopenharmony_ci 3135bd8deadSopenharmony_ci If RenderbufferStorageMultisampleNV is called with an 3145bd8deadSopenharmony_ci <internalformat> that is not listed as one of the color-, depth- 3155bd8deadSopenharmony_ci or stencil-renderable formats in Table 4.5, then the error 3165bd8deadSopenharmony_ci INVALID_ENUM is generated. 3175bd8deadSopenharmony_ci 3185bd8deadSopenharmony_ci If RenderbufferStorageMultisampleNV is called with <width> or 3195bd8deadSopenharmony_ci <height> greater than MAX_RENDERBUFFER_SIZE, then the error 3205bd8deadSopenharmony_ci INVALID_VALUE is generated. 3215bd8deadSopenharmony_ci 3225bd8deadSopenharmony_ci If RenderbufferStorageMultisampleNV is called with a value of 3235bd8deadSopenharmony_ci <samples> that is greater than MAX_SAMPLES_NV or less than zero, 3245bd8deadSopenharmony_ci then the error INVALID_VALUE is generated. 3255bd8deadSopenharmony_ci 3265bd8deadSopenharmony_ci The error OUT_OF_MEMORY is generated when 3275bd8deadSopenharmony_ci RenderbufferStorageMultisampleNV cannot create storage of the 3285bd8deadSopenharmony_ci specified size. 3295bd8deadSopenharmony_ci 3305bd8deadSopenharmony_ciNew State 3315bd8deadSopenharmony_ci 3325bd8deadSopenharmony_ci Add to table 6.23 (Renderbuffer State) 3335bd8deadSopenharmony_ci 3345bd8deadSopenharmony_ci Get Value Type Get Command Initial Value Description Section 3355bd8deadSopenharmony_ci ------------------------------- ------ -------------------------- ------------- -------------------- ------- 3365bd8deadSopenharmony_ci RENDERBUFFER_SAMPLES_NV Z+ GetRenderbufferParameteriv 0 number of samples 4.4.3 3375bd8deadSopenharmony_ci 3385bd8deadSopenharmony_ci 3395bd8deadSopenharmony_ci Add to table 6.21 (Framebuffer Dependent Values) 3405bd8deadSopenharmony_ci the following new framebuffer dependent state. 3415bd8deadSopenharmony_ci 3425bd8deadSopenharmony_ci Get Value Type Get Command Minimum Value Description Section 3435bd8deadSopenharmony_ci ----------------- ---- ----------- ------------- ------------------- ------- 3445bd8deadSopenharmony_ci MAX_SAMPLES_NV Z+ GetIntegerv 1 Maximum number of 4.4.3 3455bd8deadSopenharmony_ci samples supported 3465bd8deadSopenharmony_ci for multisampling 3475bd8deadSopenharmony_ci 3485bd8deadSopenharmony_ci 3495bd8deadSopenharmony_ci 3505bd8deadSopenharmony_ciIssues 3515bd8deadSopenharmony_ci 3525bd8deadSopenharmony_ci Issues from EXT_framebuffer_multisample have been removed. 3535bd8deadSopenharmony_ci 3545bd8deadSopenharmony_ci 1) How is this extension different from Halti and ARB_framebuffer_object ? 3555bd8deadSopenharmony_ci - this extension offers the same MSAA functionality as in 3565bd8deadSopenharmony_ci ARB_framebuffer_object 3575bd8deadSopenharmony_ci - it is a superset of Halti in that: 3585bd8deadSopenharmony_ci a) SINGLE-->MSAA and MSAA-->MSAA blits are possible 3595bd8deadSopenharmony_ci b) the blit region may be relocated during the blit 3605bd8deadSopenharmony_ci 3615bd8deadSopenharmony_ciRevision History 3625bd8deadSopenharmony_ci Revision 5, 2015/03/03 3635bd8deadSopenharmony_ci - add interaction with OpenGL ES 3.0 and later 3645bd8deadSopenharmony_ci Revision 4, 2012/08/31 3655bd8deadSopenharmony_ci - add interaction with NV_texture_array 3665bd8deadSopenharmony_ci Revision 3, 2012/08/29 3675bd8deadSopenharmony_ci - consolidate contributors list 3685bd8deadSopenharmony_ci - be more explicit about the specification version the text is written against 3695bd8deadSopenharmony_ci Revision 2, 2012/08/15 3705bd8deadSopenharmony_ci - explicitly state that resolve blits from the window system provided framebuffer 3715bd8deadSopenharmony_ci are possible 3725bd8deadSopenharmony_ci - fix references to table 6.21 and table 6.23 3735bd8deadSopenharmony_ci Revision 1, 2012/05/15 3745bd8deadSopenharmony_ci - copied from revision 3 of ANGLE_framebuffer_multisample 3755bd8deadSopenharmony_ci - re-inserted missing functionality of EXT_framebuffer_blit 3765bd8deadSopenharmony_ci 377