diff options
-rw-r--r-- | src/mapi/glapi/gen/ARB_bindless_texture.xml | 2 | ||||
-rw-r--r-- | src/mesa/main/texturebindless.c | 15 | ||||
-rw-r--r-- | src/mesa/main/texturebindless.h | 4 |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/mapi/glapi/gen/ARB_bindless_texture.xml b/src/mapi/glapi/gen/ARB_bindless_texture.xml index 0f3de162de7..762cadf6fea 100644 --- a/src/mapi/glapi/gen/ARB_bindless_texture.xml +++ b/src/mapi/glapi/gen/ARB_bindless_texture.xml @@ -27,7 +27,7 @@ <param name="handle" type="GLuint64" /> </function> - <function name="GetImageHandleARB"> + <function name="GetImageHandleARB" no_error="true"> <return type="GLuint64"/> <param name="texture" type="GLuint" /> <param name="level" type="GLint" /> diff --git a/src/mesa/main/texturebindless.c b/src/mesa/main/texturebindless.c index a56d6e3b370..cb95ed07c5a 100644 --- a/src/mesa/main/texturebindless.c +++ b/src/mesa/main/texturebindless.c @@ -772,6 +772,21 @@ _mesa_MakeTextureHandleNonResidentARB(GLuint64 handle) } GLuint64 GLAPIENTRY +_mesa_GetImageHandleARB_no_error(GLuint texture, GLint level, GLboolean layered, + GLint layer, GLenum format) +{ + struct gl_texture_object *texObj; + + GET_CURRENT_CONTEXT(ctx); + + texObj = _mesa_lookup_texture(ctx, texture); + if (!_mesa_is_texture_complete(texObj, &texObj->Sampler)) + _mesa_test_texobj_completeness(ctx, texObj); + + return get_image_handle(ctx, texObj, level, layered, layer, format); +} + +GLuint64 GLAPIENTRY _mesa_GetImageHandleARB(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) { diff --git a/src/mesa/main/texturebindless.h b/src/mesa/main/texturebindless.h index 62c954b6576..8a9fff6d57e 100644 --- a/src/mesa/main/texturebindless.h +++ b/src/mesa/main/texturebindless.h @@ -92,6 +92,10 @@ void GLAPIENTRY _mesa_MakeTextureHandleNonResidentARB(GLuint64 handle); GLuint64 GLAPIENTRY +_mesa_GetImageHandleARB_no_error(GLuint texture, GLint level, GLboolean layered, + GLint layer, GLenum format); + +GLuint64 GLAPIENTRY _mesa_GetImageHandleARB(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); |