For estimating resource size
| 760 | |
| 761 | // For estimating resource size |
| 762 | uint32_t GetTextureFormatBitsPerPixel(TextureFormat format) |
| 763 | { |
| 764 | switch(format) |
| 765 | { |
| 766 | case TEXTURE_FORMAT_LUMINANCE: return 8; |
| 767 | case TEXTURE_FORMAT_LUMINANCE_ALPHA: return 16; |
| 768 | case TEXTURE_FORMAT_RGB: return 24; |
| 769 | case TEXTURE_FORMAT_RGBA: return 32; |
| 770 | case TEXTURE_FORMAT_RGB_16BPP: return 16; |
| 771 | case TEXTURE_FORMAT_RGBA_16BPP: return 16; |
| 772 | case TEXTURE_FORMAT_RGB_ETC1: return 4; |
| 773 | case TEXTURE_FORMAT_R_ETC2: return 8; |
| 774 | case TEXTURE_FORMAT_RG_ETC2: return 8; |
| 775 | case TEXTURE_FORMAT_RGBA_ETC2: return 8; |
| 776 | case TEXTURE_FORMAT_RGB_BC1: return 4; |
| 777 | case TEXTURE_FORMAT_RGBA_BC3: return 4; |
| 778 | case TEXTURE_FORMAT_R_BC4: return 8; |
| 779 | case TEXTURE_FORMAT_RG_BC5: return 8; |
| 780 | case TEXTURE_FORMAT_RGBA_BC7: return 8; |
| 781 | case TEXTURE_FORMAT_DEPTH: return 24; |
| 782 | case TEXTURE_FORMAT_STENCIL: return 8; |
| 783 | case TEXTURE_FORMAT_RGB_PVRTC_2BPPV1: return 2; |
| 784 | case TEXTURE_FORMAT_RGB_PVRTC_4BPPV1: return 4; |
| 785 | case TEXTURE_FORMAT_RGBA_PVRTC_2BPPV1: return 2; |
| 786 | case TEXTURE_FORMAT_RGBA_PVRTC_4BPPV1: return 4; |
| 787 | case TEXTURE_FORMAT_RGB16F: return 48; |
| 788 | case TEXTURE_FORMAT_RGB32F: return 96; |
| 789 | case TEXTURE_FORMAT_RGBA16F: return 64; |
| 790 | case TEXTURE_FORMAT_RGBA32F: return 128; |
| 791 | case TEXTURE_FORMAT_R16F: return 16; |
| 792 | case TEXTURE_FORMAT_RG16F: return 32; |
| 793 | case TEXTURE_FORMAT_R32F: return 32; |
| 794 | case TEXTURE_FORMAT_RG32F: return 64; |
| 795 | case TEXTURE_FORMAT_RGBA32UI: return 128; |
| 796 | case TEXTURE_FORMAT_BGRA8U: return 32; |
| 797 | case TEXTURE_FORMAT_R32UI: return 32; |
| 798 | default: break; |
| 799 | } |
| 800 | |
| 801 | // Not straight-forward to return a BPP value here. |
| 802 | if (IsTextureFormatASTC(format)) |
| 803 | return 0; |
| 804 | |
| 805 | assert(false && "Unknown texture format"); |
| 806 | return TEXTURE_FORMAT_COUNT; |
| 807 | } |
| 808 | |
| 809 | uint32_t GetGraphicsTypeDataSize(Type type) |
| 810 | { |