Adds new enums, dispatch machinery, and stubs for the 4 new entrypoints.
V2: - Drop placeholder
- Align enum values
- Remove explicit exec=mesa; it *is* the dispatch flavor we want,
but it's also the default. I misunderstood how this worked before;
after actually reading the generator it makes good sense.
V3: - Squash in stubs for new entrypoints, and dispatch_sanity tweaks,
so we don't get build breakage between those patches.
V4: - Fix various remaining whitespace issues
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
[1/3 V2] Reviewed-by: Matt Turner <mattst88@gmail.com>
[V3] Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<!-- Note: no GLX protocol info yet. -->
+
+<OpenGLAPI>
+
+<category name="GL_ARB_texture_multisample" number="67">
+
+ <enum name="SAMPLE_POSITION" value="0x8E50"/>
+ <enum name="SAMPLE_MASK" value="0x8E51"/>
+ <enum name="SAMPLE_MASK_VALUE" value="0x8E52"/>
+
+ <enum name="TEXTURE_2D_MULTISAMPLE" value="0x9100"/>
+ <enum name="PROXY_TEXTURE_2D_MULTISAMPLE" value="0x9101"/>
+ <enum name="TEXTURE_2D_MULTISAMPLE_ARRAY" value="0x9102"/>
+ <enum name="PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY" value="0x9103"/>
+
+ <enum name="MAX_SAMPLE_MASK_WORDS" value="0x8E59"/>
+ <enum name="MAX_COLOR_TEXTURE_SAMPLES" value="0x910E"/>
+ <enum name="MAX_DEPTH_TEXTURE_SAMPLES" value="0x910F"/>
+ <enum name="MAX_INTEGER_SAMPLES" value="0x9110"/>
+
+ <enum name="TEXTURE_BINDING_2D_MULTISAMPLE" value="0x9104"/>
+ <enum name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" value="0x9105"/>
+
+ <enum name="TEXTURE_SAMPLES" value="0x9106"/>
+ <enum name="TEXTURE_FIXED_SAMPLE_LOCATIONS" value="0x9107"/>
+
+ <enum name="SAMPLER_2D_MULTISAMPLE" value="0x9108"/>
+ <enum name="INT_SAMPLER_2D_MULTISAMPLE" value="0x9109"/>
+ <enum name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE" value="0x910A"/>
+ <enum name="SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910B"/>
+ <enum name="INT_SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910C"/>
+ <enum name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910D"/>
+
+ <function name="TexImage2DMultisample" offset="assign">
+ <param name="target" type="GLenum"/>
+ <param name="samples" type="GLsizei"/>
+ <param name="internalformat" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="fixedsamplelocations" type="GLboolean"/>
+ </function>
+
+ <function name="TexImage3DMultisample" offset="assign">
+ <param name="target" type="GLenum"/>
+ <param name="samples" type="GLsizei"/>
+ <param name="internalformat" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="depth" type="GLsizei"/>
+ <param name="fixedsamplelocations" type="GLboolean"/>
+ </function>
+
+ <function name="GetMultisamplefv" offset="assign">
+ <param name="pname" type="GLenum"/>
+ <param name="index" type="GLuint"/>
+ <param name="val" type="GLfloat *"/>
+ </function>
+
+ <function name="SampleMaski" offset="assign">
+ <param name="index" type="GLuint"/>
+ <param name="mask" type="GLbitfield"/>
+ </function>
+
+</category>
+
+</OpenGLAPI>
<xi:include href="ARB_sync.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-<!-- 67. GL_ARB_texture_multisample -->
+<xi:include href="ARB_texture_multisample.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<!-- 68. GL_ARB_vertex_array_bgra -->
<xi:include href="ARB_draw_buffers_blend.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
ctx->Multisample.SampleCoverageValue = 1.0;
ctx->Multisample.SampleCoverageInvert = GL_FALSE;
}
+
+
+void GLAPIENTRY
+_mesa_GetMultisamplefv(GLenum pname, GLuint index, GLfloat * val)
+{
+ assert(!"Not implemented");
+ // TODO: make this work
+}
+
+void GLAPIENTRY
+_mesa_SampleMaski(GLuint index, GLbitfield mask)
+{
+ assert(!"Not implemented");
+ // TODO: make this work
+}
_mesa_init_multisample(struct gl_context *ctx);
+extern void GLAPIENTRY
+_mesa_GetMultisamplefv(GLenum pname, GLuint index, GLfloat* val);
+
+extern void GLAPIENTRY
+_mesa_SampleMaski(GLuint index, GLbitfield mask);
+
#endif
{ "glWaitSync", 43, -1 },
{ "glGetInteger64v", 43, -1 },
{ "glGetSynciv", 43, -1 },
-// { "glTexImage2DMultisample", 43, -1 }, // XXX: Add to xml
-// { "glTexImage3DMultisample", 43, -1 }, // XXX: Add to xml
-// { "glGetMultisamplefv", 43, -1 }, // XXX: Add to xml
-// { "glSampleMaski", 43, -1 }, // XXX: Add to xml
+ { "glTexImage2DMultisample", 43, -1 },
+ { "glTexImage3DMultisample", 43, -1 },
+ { "glGetMultisamplefv", 43, -1 },
+ { "glSampleMaski", 43, -1 },
{ "glBlendEquationiARB", 43, -1 },
{ "glBlendEquationSeparateiARB", 43, -1 },
{ "glBlendFunciARB", 43, -1 },
texbufferrange(ctx, target, internalFormat, bufObj, offset, size);
}
+
+
+/** GL_ARB_texture_multisample */
+void GLAPIENTRY
+_mesa_TexImage2DMultisample(GLenum target, GLsizei samples,
+ GLint internalformat, GLsizei width,
+ GLsizei height, GLboolean fixedsamplelocations)
+{
+ assert(!"Not implemented");
+ /* allocate a single 2d multisample texture */
+}
+
+void GLAPIENTRY
+_mesa_TexImage3DMultisample(GLenum target, GLsizei samples,
+ GLint internalformat, GLsizei width,
+ GLsizei height, GLsizei depth,
+ GLboolean fixedsamplelocations)
+{
+ assert(!"Not implemented");
+ /* allocate an array of 2d multisample textures */
+}
GLintptr offset, GLsizeiptr size);
+extern void GLAPIENTRY
+_mesa_TexImage2DMultisample(GLenum target, GLsizei samples,
+ GLint internalformat, GLsizei width,
+ GLsizei height, GLboolean fixedsamplelocations);
+
+extern void GLAPIENTRY
+_mesa_TexImage3DMultisample(GLenum target, GLsizei samples,
+ GLint internalformat, GLsizei width,
+ GLsizei height, GLsizei depth,
+ GLboolean fixedsamplelocations);
+
/*@}*/
#ifdef __cplusplus