mesa: add KHR_no_error support for glMake{Image,Texture}Handle*ResidentARB()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Samuel Pitoiset 2017-06-14 11:27:41 +02:00
parent d7bee4a022
commit 0fb2c89c71
3 changed files with 62 additions and 4 deletions

View file

@ -19,11 +19,11 @@
<param name="sampler" type="GLuint" />
</function>
<function name="MakeTextureHandleResidentARB">
<function name="MakeTextureHandleResidentARB" no_error="true">
<param name="handle" type="GLuint64" />
</function>
<function name="MakeTextureHandleNonResidentARB">
<function name="MakeTextureHandleNonResidentARB" no_error="true">
<param name="handle" type="GLuint64" />
</function>
@ -36,12 +36,12 @@
<param name="format" type="GLenum" />
</function>
<function name="MakeImageHandleResidentARB">
<function name="MakeImageHandleResidentARB" no_error="true">
<param name="handle" type="GLuint64" />
<param name="access" type="GLenum" />
</function>
<function name="MakeImageHandleNonResidentARB">
<function name="MakeImageHandleNonResidentARB" no_error="true">
<param name="handle" type="GLuint64" />
</function>

View file

@ -648,6 +648,17 @@ _mesa_GetTextureSamplerHandleARB(GLuint texture, GLuint sampler)
return get_texture_handle(ctx, texObj, sampObj);
}
void GLAPIENTRY
_mesa_MakeTextureHandleResidentARB_no_error(GLuint64 handle)
{
struct gl_texture_handle_object *texHandleObj;
GET_CURRENT_CONTEXT(ctx);
texHandleObj = lookup_texture_handle(ctx, handle);
make_texture_handle_resident(ctx, texHandleObj, true);
}
void GLAPIENTRY
_mesa_MakeTextureHandleResidentARB(GLuint64 handle)
{
@ -683,6 +694,17 @@ _mesa_MakeTextureHandleResidentARB(GLuint64 handle)
make_texture_handle_resident(ctx, texHandleObj, true);
}
void GLAPIENTRY
_mesa_MakeTextureHandleNonResidentARB_no_error(GLuint64 handle)
{
struct gl_texture_handle_object *texHandleObj;
GET_CURRENT_CONTEXT(ctx);
texHandleObj = lookup_texture_handle(ctx, handle);
make_texture_handle_resident(ctx, texHandleObj, false);
}
void GLAPIENTRY
_mesa_MakeTextureHandleNonResidentARB(GLuint64 handle)
{
@ -789,6 +811,17 @@ _mesa_GetImageHandleARB(GLuint texture, GLint level, GLboolean layered,
return get_image_handle(ctx, texObj, level, layered, layer, format);
}
void GLAPIENTRY
_mesa_MakeImageHandleResidentARB_no_error(GLuint64 handle, GLenum access)
{
struct gl_image_handle_object *imgHandleObj;
GET_CURRENT_CONTEXT(ctx);
imgHandleObj = lookup_image_handle(ctx, handle);
make_image_handle_resident(ctx, imgHandleObj, access, true);
}
void GLAPIENTRY
_mesa_MakeImageHandleResidentARB(GLuint64 handle, GLenum access)
{
@ -833,6 +866,17 @@ _mesa_MakeImageHandleResidentARB(GLuint64 handle, GLenum access)
make_image_handle_resident(ctx, imgHandleObj, access, true);
}
void GLAPIENTRY
_mesa_MakeImageHandleNonResidentARB_no_error(GLuint64 handle)
{
struct gl_image_handle_object *imgHandleObj;
GET_CURRENT_CONTEXT(ctx);
imgHandleObj = lookup_image_handle(ctx, handle);
make_image_handle_resident(ctx, imgHandleObj, GL_READ_ONLY, false);
}
void GLAPIENTRY
_mesa_MakeImageHandleNonResidentARB(GLuint64 handle)
{

View file

@ -72,8 +72,15 @@ _mesa_GetTextureHandleARB(GLuint texture);
GLuint64 GLAPIENTRY
_mesa_GetTextureSamplerHandleARB(GLuint texture, GLuint sampler);
void GLAPIENTRY
_mesa_MakeTextureHandleResidentARB_no_error(GLuint64 handle);
void GLAPIENTRY
_mesa_MakeTextureHandleResidentARB(GLuint64 handle);
void GLAPIENTRY
_mesa_MakeTextureHandleNonResidentARB_no_error(GLuint64 handle);
void GLAPIENTRY
_mesa_MakeTextureHandleNonResidentARB(GLuint64 handle);
@ -81,8 +88,15 @@ GLuint64 GLAPIENTRY
_mesa_GetImageHandleARB(GLuint texture, GLint level, GLboolean layered,
GLint layer, GLenum format);
void GLAPIENTRY
_mesa_MakeImageHandleResidentARB_no_error(GLuint64 handle, GLenum access);
void GLAPIENTRY
_mesa_MakeImageHandleResidentARB(GLuint64 handle, GLenum access);
void GLAPIENTRY
_mesa_MakeImageHandleNonResidentARB_no_error(GLuint64 handle);
void GLAPIENTRY
_mesa_MakeImageHandleNonResidentARB(GLuint64 handle);