summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
diff options
context:
space:
mode:
authorSeán de Búrca <leftmostcat@gmail.com>2015-03-07 02:23:53 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2015-03-12 16:40:03 -0700
commit1a469a34d517d4c24c60a613c7d1a56f77778c8e (patch)
tree6638fbed2ccc6fa671062dd8c83df18eeedd64ab /src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
parentf3e4b2c9d2087c7f655d323cc6b4150313fc0128 (diff)
mesa: improve ARB_copy_image internal format compat check
The memory layout of compatible internal formats may differ in bytes per block, so TexFormat is not a reliable measure of compatibility. For example, GL_RGB8 and GL_RGB8UI are compatible formats, but GL_RGB8 may be laid out in memory as B8G8R8X8. If GL_RGB8UI has a 3 byte-per-block memory layout, the existing compatibility check will fail. Additionally, the current check allows any two compressed textures which share block size to be used, whereas the spec gives an explicit table of compatible formats. v2: Use a switch instead of array iteration for block class and show the correct GL error when internal formats are mismatched. v3: Include spec citations for new compatibility checks, rearrange check order to ensure that compressed, view-compatible formats return the correct result, and make style fixes. Original commit message amended for clarity. v4: Reformatted spec citations. Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_misc.cpp')
0 files changed, 0 insertions, 0 deletions