| 833 | } |
| 834 | |
| 835 | bool GetTextureFormatCompressedBlockSize(TextureFormat format, TextureFormatCompressedBlockSize* out) |
| 836 | { |
| 837 | assert(format <= TEXTURE_FORMAT_COUNT); |
| 838 | assert(out); |
| 839 | |
| 840 | switch (format) |
| 841 | { |
| 842 | case TEXTURE_FORMAT_RGB_ETC1: *out = { 4, 4, 8 }; return true; |
| 843 | case TEXTURE_FORMAT_RGBA_ETC2: *out = { 4, 4, 16 }; return true; |
| 844 | case TEXTURE_FORMAT_RGB_BC1: *out = { 4, 4, 8 }; return true; |
| 845 | case TEXTURE_FORMAT_R_BC4: *out = { 4, 4, 8 }; return true; |
| 846 | case TEXTURE_FORMAT_RGBA_BC3: *out = { 4, 4, 16 }; return true; |
| 847 | case TEXTURE_FORMAT_RG_BC5: *out = { 4, 4, 16 }; return true; |
| 848 | case TEXTURE_FORMAT_RGBA_BC7: *out = { 4, 4, 16 }; return true; |
| 849 | case TEXTURE_FORMAT_RGBA_ASTC_4X4: *out = { 4, 4, 16 }; return true; |
| 850 | case TEXTURE_FORMAT_RGBA_ASTC_5X4: *out = { 5, 4, 16 }; return true; |
| 851 | case TEXTURE_FORMAT_RGBA_ASTC_5X5: *out = { 5, 5, 16 }; return true; |
| 852 | case TEXTURE_FORMAT_RGBA_ASTC_6X5: *out = { 6, 5, 16 }; return true; |
| 853 | case TEXTURE_FORMAT_RGBA_ASTC_6X6: *out = { 6, 6, 16 }; return true; |
| 854 | case TEXTURE_FORMAT_RGBA_ASTC_8X5: *out = { 8, 5, 16 }; return true; |
| 855 | case TEXTURE_FORMAT_RGBA_ASTC_8X6: *out = { 8, 6, 16 }; return true; |
| 856 | case TEXTURE_FORMAT_RGBA_ASTC_8X8: *out = { 8, 8, 16 }; return true; |
| 857 | case TEXTURE_FORMAT_RGBA_ASTC_10X5: *out = { 10, 5, 16 }; return true; |
| 858 | case TEXTURE_FORMAT_RGBA_ASTC_10X6: *out = { 10, 6, 16 }; return true; |
| 859 | case TEXTURE_FORMAT_RGBA_ASTC_10X8: *out = { 10, 8, 16 }; return true; |
| 860 | case TEXTURE_FORMAT_RGBA_ASTC_10X10: *out = { 10, 10, 16 }; return true; |
| 861 | case TEXTURE_FORMAT_RGBA_ASTC_12X10: *out = { 12, 10, 16 }; return true; |
| 862 | case TEXTURE_FORMAT_RGBA_ASTC_12X12: *out = { 12, 12, 16 }; return true; |
| 863 | default: *out = { 0, 0, 0 }; return false; |
| 864 | } |
| 865 | } |
| 866 | |
| 867 | Type GetGraphicsTypeFromShaderDataType(ShaderDesc::ShaderDataType shader_type) |
| 868 | { |