mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 04:30:10 +01:00
glapi: add ARB_texture_multisample
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>
This commit is contained in:
parent
c0674fa5cd
commit
0f83e415e4
7 changed files with 128 additions and 5 deletions
69
src/mapi/glapi/gen/ARB_texture_multisample.xml
Normal file
69
src/mapi/glapi/gen/ARB_texture_multisample.xml
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
<?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>
|
||||
|
|
@ -8179,7 +8179,8 @@
|
|||
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -60,3 +60,18 @@ _mesa_init_multisample(struct gl_context *ctx)
|
|||
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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,4 +38,10 @@ extern void
|
|||
_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
|
||||
|
|
|
|||
|
|
@ -602,10 +602,10 @@ const struct function gl_core_functions_possible[] = {
|
|||
{ "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 },
|
||||
|
|
|
|||
|
|
@ -4102,3 +4102,24 @@ _mesa_TexBufferRange(GLenum target, GLenum internalFormat, GLuint buffer,
|
|||
|
||||
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 */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -294,6 +294,17 @@ _mesa_TexBufferRange(GLenum target, GLenum internalFormat, GLuint buffer,
|
|||
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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue