glapi: define AMD_framebuffer_multisample_advanced and add its functions
authorMarek Olšák <marek.olsak@amd.com>
Thu, 28 Jun 2018 06:05:12 +0000 (02:05 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Sat, 4 Aug 2018 06:46:55 +0000 (02:46 -0400)
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mapi/glapi/gen/gl_API.xml
src/mesa/main/fbobject.c
src/mesa/main/fbobject.h

index 49807e1..81e4ac0 100644 (file)
 
 <!-- Unnumbered extensions sorted by name. -->
 
+<category name="GL_AMD_framebuffer_multisample_advanced">
+    <enum name="RENDERBUFFER_STORAGE_SAMPLES_AMD"          value="0x91B2"/>
+    <enum name="MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD"         value="0x91B3"/>
+    <enum name="MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD" value="0x91B4"/>
+    <enum name="MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD" value="0x91B5"/>
+    <enum name="NUM_SUPPORTED_MULTISAMPLE_MODES_AMD"       value="0x91B6"/>
+    <enum name="SUPPORTED_MULTISAMPLE_MODES_AMD"           value="0x91B7"/>
+
+    <function name="RenderbufferStorageMultisampleAdvancedAMD" es2="2.0">
+        <param name="target" type="GLenum"/>
+        <param name="samples" type="GLsizei"/>
+        <param name="storageSamples" type="GLsizei"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="width" type="GLsizei"/>
+        <param name="height" type="GLsizei"/>
+    </function>
+
+    <function name="NamedRenderbufferStorageMultisampleAdvancedAMD" es2="2.0">
+       <param name="renderbuffer" type="GLuint" />
+       <param name="samples" type="GLsizei" />
+       <param name="storageSamples" type="GLsizei"/>
+       <param name="internalformat" type="GLenum" />
+       <param name="width" type="GLsizei" />
+       <param name="height" type="GLsizei" />
+    </function>
+</category>
+
 <category name="GL_ATI_blend_equation_separate">
     <function name="BlendEquationSeparateATI" alias="BlendEquationSeparate">
         <param name="modeRGB" type="GLenum"/>
index edafdd0..f63902c 100644 (file)
@@ -2492,6 +2492,17 @@ _mesa_RenderbufferStorageMultisample(GLenum target, GLsizei samples,
 }
 
 
+void GLAPIENTRY
+_mesa_RenderbufferStorageMultisampleAdvancedAMD(
+      GLenum target, GLsizei samples, GLsizei storageSamples,
+      GLenum internalFormat, GLsizei width, GLsizei height)
+{
+   renderbuffer_storage_target(target, internalFormat, width, height,
+                               samples, storageSamples,
+                               "glRenderbufferStorageMultisampleAdvancedAMD");
+}
+
+
 /**
  * OpenGL ES version of glRenderBufferStorage.
  */
@@ -2536,6 +2547,17 @@ _mesa_NamedRenderbufferStorageMultisample(GLuint renderbuffer, GLsizei samples,
 }
 
 
+void GLAPIENTRY
+_mesa_NamedRenderbufferStorageMultisampleAdvancedAMD(
+      GLuint renderbuffer, GLsizei samples, GLsizei storageSamples,
+      GLenum internalformat, GLsizei width, GLsizei height)
+{
+   renderbuffer_storage_named(renderbuffer, internalformat, width, height,
+                              samples, storageSamples,
+                              "glNamedRenderbufferStorageMultisampleAdvancedAMD");
+}
+
+
 static void
 get_render_buffer_parameteriv(struct gl_context *ctx,
                               struct gl_renderbuffer *rb, GLenum pname,
index 0299781..5cd3c60 100644 (file)
@@ -174,6 +174,11 @@ _mesa_RenderbufferStorageMultisample(GLenum target, GLsizei samples,
                                      GLsizei width, GLsizei height);
 
 extern void GLAPIENTRY
+_mesa_RenderbufferStorageMultisampleAdvancedAMD(
+      GLenum target, GLsizei samples, GLsizei storageSamples,
+      GLenum internalFormat, GLsizei width, GLsizei height);
+
+extern void GLAPIENTRY
 _es_RenderbufferStorageEXT(GLenum target, GLenum internalFormat,
                           GLsizei width, GLsizei height);
 
@@ -187,6 +192,11 @@ _mesa_NamedRenderbufferStorageMultisample(GLuint renderbuffer, GLsizei samples,
                                           GLsizei width, GLsizei height);
 
 extern void GLAPIENTRY
+_mesa_NamedRenderbufferStorageMultisampleAdvancedAMD(
+      GLuint renderbuffer, GLsizei samples, GLsizei storageSamples,
+      GLenum internalformat, GLsizei width, GLsizei height);
+
+extern void GLAPIENTRY
 _mesa_EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
 
 extern void GLAPIENTRY