diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index a91090ed896..2566f9ef80d 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2878,9 +2878,14 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info) USE_GL_FUNC(glBufferData) /* OpenGL 1.5 */ USE_GL_FUNC(glBufferSubData) /* OpenGL 1.5 */ USE_GL_FUNC(glColorMaski) /* OpenGL 3.0 */ + USE_GL_FUNC(glCompressedTexImage2D) /* OpenGL 1.3 */ + USE_GL_FUNC(glCompressedTexImage3D) /* OpenGL 1.3 */ + USE_GL_FUNC(glCompressedTexSubImage2D) /* OpenGL 1.3 */ + USE_GL_FUNC(glCompressedTexSubImage3D) /* OpenGL 1.3 */ USE_GL_FUNC(glDeleteBuffers) /* OpenGL 1.5 */ USE_GL_FUNC(glGenBuffers) /* OpenGL 1.5 */ USE_GL_FUNC(glGetBufferSubData) /* OpenGL 1.5 */ + USE_GL_FUNC(glGetCompressedTexImage) /* OpenGL 1.3 */ USE_GL_FUNC(glMapBuffer) /* OpenGL 1.5 */ USE_GL_FUNC(glUnmapBuffer) /* OpenGL 1.5 */ #undef USE_GL_FUNC @@ -2907,9 +2912,14 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info) MAP_GL_FUNCTION(glBufferData, glBufferDataARB); MAP_GL_FUNCTION(glBufferSubData, glBufferSubDataARB); MAP_GL_FUNCTION(glColorMaski, glColorMaskIndexedEXT); + MAP_GL_FUNCTION(glCompressedTexImage2D, glCompressedTexImage2DARB); + MAP_GL_FUNCTION(glCompressedTexImage3D, glCompressedTexImage3DARB); + MAP_GL_FUNCTION(glCompressedTexSubImage2D, glCompressedTexSubImage2DARB); + MAP_GL_FUNCTION(glCompressedTexSubImage3D, glCompressedTexSubImage3DARB); MAP_GL_FUNCTION(glDeleteBuffers, glDeleteBuffersARB); MAP_GL_FUNCTION(glGenBuffers, glGenBuffersARB); MAP_GL_FUNCTION(glGetBufferSubData, glGetBufferSubDataARB); + MAP_GL_FUNCTION(glGetCompressedTexImage, glGetCompressedTexImageARB); MAP_GL_FUNCTION(glMapBuffer, glMapBufferARB); MAP_GL_FUNCTION(glUnmapBuffer, glUnmapBufferARB); #undef MAP_GL_FUNCTION diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 6b73fa86209..43dfca06e81 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -1334,23 +1334,23 @@ static void surface_download_data(struct wined3d_surface *surface, const struct if (format->flags & WINED3DFMT_FLAG_COMPRESSED) { - TRACE("(%p) : Calling glGetCompressedTexImageARB level %d, format %#x, type %#x, data %p.\n", + TRACE("(%p) : Calling glGetCompressedTexImage level %d, format %#x, type %#x, data %p.\n", surface, surface->texture_level, format->glFormat, format->glType, data.addr); if (data.buffer_object) { GL_EXTCALL(glBindBuffer(GL_PIXEL_PACK_BUFFER, data.buffer_object)); checkGLcall("glBindBuffer"); - GL_EXTCALL(glGetCompressedTexImageARB(surface->texture_target, surface->texture_level, NULL)); - checkGLcall("glGetCompressedTexImageARB"); + GL_EXTCALL(glGetCompressedTexImage(surface->texture_target, surface->texture_level, NULL)); + checkGLcall("glGetCompressedTexImage"); GL_EXTCALL(glBindBuffer(GL_PIXEL_PACK_BUFFER, 0)); checkGLcall("glBindBuffer"); } else { - GL_EXTCALL(glGetCompressedTexImageARB(surface->texture_target, + GL_EXTCALL(glGetCompressedTexImage(surface->texture_target, surface->texture_level, data.addr)); - checkGLcall("glGetCompressedTexImageARB"); + checkGLcall("glGetCompressedTexImage"); } } else @@ -1515,30 +1515,30 @@ void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct w else internal = format->glInternal; - TRACE("glCompressedTexSubImage2DARB, target %#x, level %d, x %d, y %d, w %d, h %d, " + TRACE("glCompressedTexSubImage2D, target %#x, level %d, x %d, y %d, w %d, h %d, " "format %#x, image_size %#x, addr %p.\n", surface->texture_target, surface->texture_level, dst_point->x, dst_point->y, update_w, update_h, internal, row_count * row_length, addr); if (row_length == src_pitch) { - GL_EXTCALL(glCompressedTexSubImage2DARB(surface->texture_target, surface->texture_level, + GL_EXTCALL(glCompressedTexSubImage2D(surface->texture_target, surface->texture_level, dst_point->x, dst_point->y, update_w, update_h, internal, row_count * row_length, addr)); } else { UINT row, y; - /* glCompressedTexSubImage2DARB() ignores pixel store state, so we - * can't use the unpack row length like below. */ + /* glCompressedTexSubImage2D() ignores pixel store state, so we + * can't use the unpack row length like for glTexSubImage2D. */ for (row = 0, y = dst_point->y; row < row_count; ++row) { - GL_EXTCALL(glCompressedTexSubImage2DARB(surface->texture_target, surface->texture_level, + GL_EXTCALL(glCompressedTexSubImage2D(surface->texture_target, surface->texture_level, dst_point->x, y, update_w, format->block_height, internal, row_length, addr)); y += format->block_height; addr += src_pitch; } } - checkGLcall("glCompressedTexSubImage2DARB"); + checkGLcall("glCompressedTexSubImage2D"); } else { diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c index 91384705f5c..06e568111d2 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -885,9 +885,9 @@ static void texture2d_prepare_texture(struct wined3d_texture *texture, struct wi if (format->flags & WINED3DFMT_FLAG_COMPRESSED && mem) { - GL_EXTCALL(glCompressedTexImage2DARB(surface->texture_target, surface->texture_level, + GL_EXTCALL(glCompressedTexImage2D(surface->texture_target, surface->texture_level, internal, width, height, 0, surface->resource.size, mem)); - checkGLcall("glCompressedTexImage2DARB"); + checkGLcall("glCompressedTexImage2D"); } else {