diff options
author | José Fonseca <jfonseca@vmware.com> | 2009-04-16 10:51:42 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2009-04-16 10:51:42 +0100 |
commit | e80d1e367a25af406c7f2327646c0aa699962fe8 (patch) | |
tree | 19f141f3e50a571a9a9c40c16cc5629ba9c507c9 /src/mesa/state_tracker/st_format.c | |
parent | b83cf05d0d986f324fe9c93525c84eb62fed4f20 (diff) | |
parent | 82e92eeab0c831683961175d155865786149a354 (diff) |
Merge branch 'gallium-s3tc'
Diffstat (limited to 'src/mesa/state_tracker/st_format.c')
-rw-r--r-- | src/mesa/state_tracker/st_format.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 9e2d60c926..d507e3e58d 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -716,3 +716,23 @@ st_ChooseTextureFormat(GLcontext *ctx, GLint internalFormat, return translate_gallium_format_to_mesa_format(pFormat); } + + +/** + * Test if a gallium format is equivalent to a GL format/type. + */ +GLboolean +st_equal_formats(enum pipe_format pFormat, GLenum format, GLenum type) +{ + switch (pFormat) { + case PIPE_FORMAT_R8G8B8A8_UNORM: + return format == GL_RGBA && type == GL_UNSIGNED_BYTE; + case PIPE_FORMAT_B8G8R8A8_UNORM: + return format == GL_BGRA && type == GL_UNSIGNED_BYTE; + case PIPE_FORMAT_R5G6B5_UNORM: + return format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5; + /* XXX more combos... */ + default: + return GL_FALSE; + } +} |