14
14
void SERVER_DISPATCH_APIENTRY
15
15
crServerDispatchGetTexImage(GLenum target, GLint level, GLenum format,
16
GLenum type, GLvoid * pixels)
16
GLenum type, GLvoid * pixels)
18
GLsizei width, height, depth, size;
19
GLvoid *buffer = NULL;
21
cr_server.head_spu->dispatch_table.GetTexLevelParameteriv(target, level, GL_TEXTURE_WIDTH, &width);
22
cr_server.head_spu->dispatch_table.GetTexLevelParameteriv(target, level, GL_TEXTURE_HEIGHT, &height);
23
cr_server.head_spu->dispatch_table.GetTexLevelParameteriv(target, level, GL_TEXTURE_DEPTH, &depth);
25
size = crTextureSize(format, type, width, height, depth);
27
if (size && (buffer = crAlloc(size))) {
28
/* Note, the other pixel PACK parameters (default values) should
29
* be OK at this point.
31
cr_server.head_spu->dispatch_table.PixelStorei(GL_PACK_ALIGNMENT, 1);
32
cr_server.head_spu->dispatch_table.GetTexImage(target, level, format,
34
crServerReturnValue( buffer, size );
38
/* need to return _something_ to avoid blowing up */
40
crServerReturnValue( (GLvoid *) &dummy, sizeof(dummy) );
18
GLsizei width, height, depth, size;
19
GLvoid *buffer = NULL;
21
cr_server.head_spu->dispatch_table.GetTexLevelParameteriv(target, level, GL_TEXTURE_WIDTH, &width);
22
cr_server.head_spu->dispatch_table.GetTexLevelParameteriv(target, level, GL_TEXTURE_HEIGHT, &height);
23
cr_server.head_spu->dispatch_table.GetTexLevelParameteriv(target, level, GL_TEXTURE_DEPTH, &depth);
25
size = crTextureSize(format, type, width, height, depth);
27
if (size && (buffer = crAlloc(size))) {
28
/* Note, the other pixel PACK parameters (default values) should
29
* be OK at this point.
31
cr_server.head_spu->dispatch_table.PixelStorei(GL_PACK_ALIGNMENT, 1);
32
cr_server.head_spu->dispatch_table.GetTexImage(target, level, format, type, buffer);
33
crServerReturnValue( buffer, size );
37
/* need to return _something_ to avoid blowing up */
39
crServerReturnValue( (GLvoid *) &dummy, sizeof(dummy) );
47
46
void SERVER_DISPATCH_APIENTRY
48
47
crServerDispatchGetCompressedTexImageARB(GLenum target, GLint level,
54
cr_server.head_spu->dispatch_table.GetTexLevelParameteriv(target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, &size);
56
if (size && (buffer = crAlloc(size))) {
57
/* XXX the pixel PACK parameter should be OK at this point */
58
cr_server.head_spu->dispatch_table.GetCompressedTexImageARB(target, level,
60
crServerReturnValue( buffer, size );
64
/* need to return _something_ to avoid blowing up */
66
crServerReturnValue( (GLvoid *) &dummy, sizeof(dummy) );
53
cr_server.head_spu->dispatch_table.GetTexLevelParameteriv(target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, &size);
55
if (size && (buffer = crAlloc(size))) {
56
/* XXX the pixel PACK parameter should be OK at this point */
57
cr_server.head_spu->dispatch_table.GetCompressedTexImageARB(target, level, buffer);
58
crServerReturnValue( buffer, size );
62
/* need to return _something_ to avoid blowing up */
64
crServerReturnValue( (GLvoid *) &dummy, sizeof(dummy) );
70
68
#endif /* CR_ARB_texture_compression */