TexSubImage2DWithoutUnpackSubimage() is called under UploadImageDataToTexture(). There are 2 call sequences. [1] - UploadImageDataToTexture() - TexSubImage2DHelper() - TexSubImage2DWithoutUnpackSubimage() [2] UploadImageDataToTexture() TexImage2DHelper() TexSubImage2DHelper() TexSubImage2DWithoutUnpackSubimage() UploadImageDataToTexture() supports the following surface formats. All pixel sizes of surface formats are less than or equal to 4. Then TexSubImage2DWithoutUnpackSubimage() does not exceed 2GiB and does not overflow on 32-bit. - SurfaceFormat::B8G8R8X8 - SurfaceFormat::R8G8B8A8 - SurfaceFormat::R8G8B8X8 - SurfaceFormat::R5G6B5_UINT16 - SurfaceFormat::A8 - SurfaceFormat::A16
Bug 1544180 Comment 3 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
TexSubImage2DWithoutUnpackSubimage() is called under UploadImageDataToTexture(). There are 2 call sequences. [1] - UploadImageDataToTexture() - TexSubImage2DHelper() - TexSubImage2DWithoutUnpackSubimage() [2] - UploadImageDataToTexture() - TexImage2DHelper() - TexSubImage2DHelper() - TexSubImage2DWithoutUnpackSubimage() UploadImageDataToTexture() supports the following surface formats. All pixel sizes of surface formats are less than or equal to 4. Then TexSubImage2DWithoutUnpackSubimage() does not exceed 2GiB and does not overflow on 32-bit. - SurfaceFormat::B8G8R8X8 - SurfaceFormat::R8G8B8A8 - SurfaceFormat::R8G8B8X8 - SurfaceFormat::R5G6B5_UINT16 - SurfaceFormat::A8 - SurfaceFormat::A16
TexSubImage2DWithoutUnpackSubimage() is called under UploadImageDataToTexture(). There are 2 call sequences. [1] - UploadImageDataToTexture() - TexSubImage2DHelper() - TexSubImage2DWithoutUnpackSubimage() [2] - UploadImageDataToTexture() - TexImage2DHelper() - TexSubImage2DHelper() - TexSubImage2DWithoutUnpackSubimage() UploadImageDataToTexture() supports the following surface formats. All pixel sizes of surface formats are less than or equal to 4. Then TexSubImage2DWithoutUnpackSubimage() does not exceed 2GiB and does not overflow on 32-bit. - SurfaceFormat::B8G8R8X8 - SurfaceFormat::R8G8B8A8 - SurfaceFormat::R8G8B8X8 - SurfaceFormat::R5G6B5_UINT16 - SurfaceFormat::A8 - SurfaceFormat::A16 https://searchfox.org/mozilla-central/source/gfx/gl/GLUploadHelpers.cpp#293