diff options
author | Samuel Pitoiset <[email protected]> | 2017-06-01 11:46:24 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2017-06-07 11:04:33 +0200 |
commit | 287a7a0ca6cae5a9bc90a7d94395af927000b55e (patch) | |
tree | 2a5a5b10976c9d4d21f7b23cf04338a858da4492 /src | |
parent | 41df4b1d7e689f42263250356079b37efa3018bd (diff) |
mesa: add KHR_no_error support for glCopyImageSubData()
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mapi/glapi/gen/ARB_copy_image.xml | 2 | ||||
-rw-r--r-- | src/mesa/main/copyimage.c | 23 | ||||
-rw-r--r-- | src/mesa/main/copyimage.h | 7 |
3 files changed, 31 insertions, 1 deletions
diff --git a/src/mapi/glapi/gen/ARB_copy_image.xml b/src/mapi/glapi/gen/ARB_copy_image.xml index 9ee2ba304ff..fb4c9b1c242 100644 --- a/src/mapi/glapi/gen/ARB_copy_image.xml +++ b/src/mapi/glapi/gen/ARB_copy_image.xml @@ -5,7 +5,7 @@ <category name="GL_ARB_copy_image" number="123"> - <function name="CopyImageSubData" es2="3.2"> + <function name="CopyImageSubData" es2="3.2" no_error="true"> <param name="srcName" type="GLuint"/> <param name="srcTarget" type="GLenum"/> <param name="srcLevel" type="GLint"/> diff --git a/src/mesa/main/copyimage.c b/src/mesa/main/copyimage.c index e11d256aef4..2cb617ca811 100644 --- a/src/mesa/main/copyimage.c +++ b/src/mesa/main/copyimage.c @@ -517,6 +517,29 @@ copy_image_subdata(struct gl_context *ctx, } void GLAPIENTRY +_mesa_CopyImageSubData_no_error(GLuint srcName, GLenum srcTarget, GLint srcLevel, + GLint srcX, GLint srcY, GLint srcZ, + GLuint dstName, GLenum dstTarget, GLint dstLevel, + GLint dstX, GLint dstY, GLint dstZ, + GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) +{ + struct gl_texture_image *srcTexImage, *dstTexImage; + struct gl_renderbuffer *srcRenderbuffer, *dstRenderbuffer; + + GET_CURRENT_CONTEXT(ctx); + + prepare_target(ctx, srcName, srcTarget, srcLevel, srcZ, &srcTexImage, + &srcRenderbuffer); + + prepare_target(ctx, dstName, dstTarget, dstLevel, dstZ, &dstTexImage, + &dstRenderbuffer); + + copy_image_subdata(ctx, srcTexImage, srcRenderbuffer, srcX, srcY, srcZ, + srcLevel, dstTexImage, dstRenderbuffer, dstX, dstY, dstZ, + dstLevel, srcWidth, srcHeight, srcDepth); +} + +void GLAPIENTRY _mesa_CopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, diff --git a/src/mesa/main/copyimage.h b/src/mesa/main/copyimage.h index 40e95b66312..ea2f15b4352 100644 --- a/src/mesa/main/copyimage.h +++ b/src/mesa/main/copyimage.h @@ -35,6 +35,13 @@ extern "C" { #endif +void GLAPIENTRY +_mesa_CopyImageSubData_no_error(GLuint srcName, GLenum srcTarget, GLint srcLevel, + GLint srcX, GLint srcY, GLint srcZ, + GLuint destName, GLenum destTarget, GLint destLevel, + GLint destX, GLint destY, GLint destZ, + GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); + extern void GLAPIENTRY _mesa_CopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, |