diff --git a/DEPS b/DEPS index 256fa66b..33b8de4a 100644 --- a/DEPS +++ b/DEPS
@@ -40,11 +40,11 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': '135c908812874e1b1ee1b9dcaf7d55544d1f8e2a', + 'skia_revision': '0c5cf5d7a26001e774116e470b8df76d01be77ff', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': '4aa32418bb6c215ae40d105ffa21b4fbc8d3fb56', + 'v8_revision': 'dabd7bd56984cb7af69d5f2eb63014e678d97224', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling swarming_client # and whatever else without interference from each other.
diff --git a/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc b/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc index 07695027..7b28f3c2 100644 --- a/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc +++ b/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc
@@ -74,6 +74,7 @@ D_FORMAT_RGBA16F, D_FORMAT_RGBA32F, D_FORMAT_R11F_G11F_B10F, + D_FORMAT_RGB10_A2, NUM_D_FORMAT }; @@ -270,6 +271,9 @@ case GL_R11F_G11F_B10F: destFormatIndex = D_FORMAT_R11F_G11F_B10F; break; + case GL_RGB10_A2: + destFormatIndex = D_FORMAT_RGB10_A2; + break; default: NOTREACHED(); break;
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc index dc86286..5b59fdbb 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -16571,6 +16571,7 @@ case GL_RGB5_A1: case GL_RGBA4: case GL_RGBA8UI: + case GL_RGB10_A2: valid_dest_format = feature_info_->IsWebGL2OrES3Context(); break; case GL_RGB9_E5:
diff --git a/mojo/public/tools/bindings/README.md b/mojo/public/tools/bindings/README.md index b224991..711f399 100644 --- a/mojo/public/tools/bindings/README.md +++ b/mojo/public/tools/bindings/README.md
@@ -267,7 +267,7 @@ example: ```cpp -enum ExampleUnion { +union ExampleUnion { string str; StringPair pair; int64 id;
diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp index bb0a849..12a534b 100644 --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
@@ -906,11 +906,11 @@ // ES3 enums supported by TexImageSource static const GLenum kSupportedInternalFormatsTexImageSourceES3[] = { - GL_R8, GL_R16F, GL_R32F, GL_R8UI, GL_RG8, - GL_RG16F, GL_RG32F, GL_RG8UI, GL_RGB8, GL_SRGB8, - GL_RGB565, GL_R11F_G11F_B10F, GL_RGB9_E5, GL_RGB16F, GL_RGB32F, - GL_RGB8UI, GL_RGBA8, GL_SRGB8_ALPHA8, GL_RGB5_A1, GL_RGBA4, - GL_RGBA16F, GL_RGBA32F, GL_RGBA8UI, + GL_R8, GL_R16F, GL_R32F, GL_R8UI, GL_RG8, + GL_RG16F, GL_RG32F, GL_RG8UI, GL_RGB8, GL_SRGB8, + GL_RGB565, GL_R11F_G11F_B10F, GL_RGB9_E5, GL_RGB16F, GL_RGB32F, + GL_RGB8UI, GL_RGBA8, GL_SRGB8_ALPHA8, GL_RGB5_A1, GL_RGBA4, + GL_RGBA16F, GL_RGBA32F, GL_RGBA8UI, GL_RGB10_A2, }; // ES2 enums @@ -983,6 +983,7 @@ // ES3 enums supported by TexImageSource static const GLenum kSupportedTypesTexImageSourceES3[] = { GL_HALF_FLOAT, GL_FLOAT, GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_2_10_10_10_REV, }; } // namespace
diff --git a/third_party/WebKit/Source/platform/graphics/gpu/WebGLImageConversion.cpp b/third_party/WebKit/Source/platform/graphics/gpu/WebGLImageConversion.cpp index 1c18e841..0135af0 100644 --- a/third_party/WebKit/Source/platform/graphics/gpu/WebGLImageConversion.cpp +++ b/third_party/WebKit/Source/platform/graphics/gpu/WebGLImageConversion.cpp
@@ -1618,6 +1618,24 @@ template <> void Pack<WebGLImageConversion::kDataFormatRGBA2_10_10_10, + WebGLImageConversion::kAlphaDoNothing, + float, + uint32_t>(const float* source, + uint32_t* destination, + unsigned pixels_per_row) { + for (unsigned i = 0; i < pixels_per_row; ++i) { + uint32_t r = static_cast<uint32_t>(source[0] * 1023.0f); + uint32_t g = static_cast<uint32_t>(source[1] * 1023.0f); + uint32_t b = static_cast<uint32_t>(source[2] * 1023.0f); + uint32_t a = static_cast<uint32_t>(source[3] * 3.0f); + destination[0] = (a << 30) | (b << 20) | (g << 10) | r; + source += 4; + destination += 1; + } +} + +template <> +void Pack<WebGLImageConversion::kDataFormatRGBA2_10_10_10, WebGLImageConversion::kAlphaDoPremultiply, float, uint32_t>(const float* source, @@ -1635,6 +1653,25 @@ } template <> +void Pack<WebGLImageConversion::kDataFormatRGBA2_10_10_10, + WebGLImageConversion::kAlphaDoUnmultiply, + float, + uint32_t>(const float* source, + uint32_t* destination, + unsigned pixels_per_row) { + for (unsigned i = 0; i < pixels_per_row; ++i) { + float scale_factor = source[3] ? 1023.0f / source[3] : 1023.0f; + uint32_t r = static_cast<uint32_t>(source[0] * scale_factor); + uint32_t g = static_cast<uint32_t>(source[1] * scale_factor); + uint32_t b = static_cast<uint32_t>(source[2] * scale_factor); + uint32_t a = static_cast<uint32_t>(source[3] * 3.0f); + destination[0] = (a << 30) | (b << 20) | (g << 10) | r; + source += 4; + destination += 1; + } +} + +template <> void Pack<WebGLImageConversion::kDataFormatRG8, WebGLImageConversion::kAlphaDoNothing, uint8_t, @@ -2405,7 +2442,8 @@ Format == WebGLImageConversion::kDataFormatR16F || Format == WebGLImageConversion::kDataFormatRGBA5551 || Format == WebGLImageConversion::kDataFormatRGBA4444 || - Format == WebGLImageConversion::kDataFormatRGB565; + Format == WebGLImageConversion::kDataFormatRGB565 || + Format == WebGLImageConversion::kDataFormatRGBA2_10_10_10; }; template <WebGLImageConversion::DataFormat SrcFormat,