GL_HALF_FLOAT_OES and GL_HALF_FLOAT have different enum values, and we weren't handling the case where a half-float texture was already created (e.g. with an effective internal format of GL_RGBA16F) and then updated with a glTexSubImage call using GL_HALF_FLOAT_OES type. In other words, we assumed the OpenGL ES 3.0 sized internal format could only be used with the OpenGL ES 3.0 half-float type, but this hasn't been true since we started storing only the effective internal format for all versions. Note that GL_OES_texture_half_float, which defines GL_HALF_FLOAT_OES, does not clarify whether HALF_FLOAT images can be updated using FLOAT, or vice-versa. We're assuming the equivalent combinations of OpenGL ES 3.0 table 3.3 are valid. That is, FLOAT can be used to update, HALF_FLOAT, but not the other way around. Bug b/74609191 Change-Id: Ib8548cd37065820eb59a0943fd39647edc5e9f1b Reviewed-on: https://swiftshader-review.googlesource.com/17748Tested-by:Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Android.mk | Loading commit data... | |
| BUILD.gn | 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... | |
| Fence.cpp | Loading commit data... | |
| Fence.h | Loading commit data... | |
| Framebuffer.cpp | Loading commit data... | |
| Framebuffer.h | Loading commit data... | |
| IndexDataManager.cpp | Loading commit data... | |
| IndexDataManager.h | Loading commit data... | |
| Program.cpp | Loading commit data... | |
| Program.h | Loading commit data... | |
| Query.cpp | Loading commit data... | |
| Query.h | Loading commit data... | |
| Renderbuffer.cpp | Loading commit data... | |
| Renderbuffer.h | Loading commit data... | |
| ResourceManager.cpp | Loading commit data... | |
| ResourceManager.h | Loading commit data... | |
| Sampler.h | Loading commit data... | |
| Shader.cpp | Loading commit data... | |
| Shader.h | Loading commit data... | |
| Texture.cpp | Loading commit data... | |
| Texture.h | Loading commit data... | |
| TransformFeedback.cpp | Loading commit data... | |
| TransformFeedback.h | Loading commit data... | |
| VertexArray.cpp | Loading commit data... | |
| VertexArray.h | Loading commit data... | |
| VertexDataManager.cpp | Loading commit data... | |
| VertexDataManager.h | Loading commit data... | |
| entry_points.cpp | Loading commit data... | |
| libGLESv2.cpp | Loading commit data... | |
| libGLESv2.def | Loading commit data... | |
| libGLESv2.hpp | Loading commit data... | |
| libGLESv2.lds | Loading commit data... | |
| libGLESv2.rc | Loading commit data... | |
| libGLESv2.vcxproj | Loading commit data... | |
| libGLESv2.vcxproj.filters | Loading commit data... | |
| libGLESv3.cpp | 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... |