Convert packed types to the next greater non-packed component type. Specifically, when the red component has fewer than 8 bits, use the corresponding sized internal format with 8-bit components. Note that this is still not fully compliant. The OpenGL ES 3.0 spec section 3.8.5 states that: If internalformat is unsized, the internal format of the new texel array is determined by the following rules, applied in order. If an effective internal format exists that has 1. the same component sizes as, 2. component sizes greater than or equal to, or 3. component sizes smaller than or equal to those of the source buffer’s effective internal format (for all matching components in internalformat), that format is chosen for the new image array, and this is also the new texel array’s effective internal format. This means that in theory when copying an RGBA4 framebuffer into an RGB texture, the effective internal format should be RGB565, not RGB8. However, dEQP does not enforce this, and ANGLE always assumes UNSIGNED_BYTE components. Change-Id: Id243b963779108e205c275499ddfb6e041a873d6 Reviewed-on: https://swiftshader-review.googlesource.com/17969Tested-by:Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Android.mk | Loading commit data... | |
| Buffer.cpp | Loading commit data... | |
| Buffer.h | Loading commit data... | |
| Context.cpp | Loading commit data... | |
| Context.h | Loading commit data... | |
| Device.cpp | Loading commit data... | |
| Device.hpp | Loading commit data... | |
| Framebuffer.cpp | Loading commit data... | |
| Framebuffer.h | Loading commit data... | |
| IndexDataManager.cpp | Loading commit data... | |
| IndexDataManager.h | Loading commit data... | |
| Renderbuffer.cpp | Loading commit data... | |
| Renderbuffer.h | Loading commit data... | |
| ResourceManager.cpp | Loading commit data... | |
| ResourceManager.h | Loading commit data... | |
| Texture.cpp | Loading commit data... | |
| Texture.h | Loading commit data... | |
| VertexDataManager.cpp | Loading commit data... | |
| VertexDataManager.h | Loading commit data... | |
| libGLES_CM.cpp | Loading commit data... | |
| libGLES_CM.def | Loading commit data... | |
| libGLES_CM.hpp | Loading commit data... | |
| libGLES_CM.lds | Loading commit data... | |
| libGLES_CM.rc | Loading commit data... | |
| libGLES_CM.vcxproj | Loading commit data... | |
| libGLES_CM.vcxproj.filters | Loading commit data... | |
| main.cpp | Loading commit data... | |
| main.h | Loading commit data... | |
| mathutil.h | Loading commit data... | |
| resource.h | Loading commit data... | |
| utilities.cpp | Loading commit data... | |
| utilities.h | Loading commit data... |