|
|
Created:
4 years, 6 months ago by Geoff Lang Modified:
4 years, 5 months ago CC:
chromium-reviews, darin-cc_chromium.org, jam, piman+watch_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionDecompress ETC texture data when there is no native support.
BUG=612205
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel
Committed: https://crrev.com/398fb2196bb0959997cba019a3cbb9e8b9d8e444
Cr-Commit-Position: refs/heads/master@{#405183}
Patch Set 1 #Patch Set 2 : Decompress ETC texture data when there is no native support. #Patch Set 3 : Decompress ETC texture data when there is no native support. #Patch Set 4 : Decompress ETC texture data when there is no native support. #
Total comments: 12
Patch Set 5 : Address comments, fix PBOs #Patch Set 6 : rebase #Patch Set 7 : fix more typos #Patch Set 8 : Fix unpack alignment #
Total comments: 11
Patch Set 9 : Validate PBOs #
Total comments: 2
Patch Set 10 : Remove autogen changes. #Patch Set 11 : Fix formatting. #
Total comments: 2
Patch Set 12 : Check MapBuffer result. #
Messages
Total messages: 67 (37 generated)
Description was changed from ========== Decompress ETC texture data when there is no native support. BUG=612205 ========== to ========== Decompress ETC texture data when there is no native support. BUG=612205 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel ==========
The CQ bit was checked by geofflang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...) cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...)
The CQ bit was checked by geofflang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_...)
The CQ bit was checked by geofflang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Decompress ETC texture data when there is no native support. BUG=612205 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Decompress ETC texture data when there is no native support. BUG=612205 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel ==========
geofflang@chromium.org changed reviewers: + piman@chromium.org, zmo@chromium.org
PTAL
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
Great work. Some situation needs a bit further work, but in general it looks good. https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:11483: const CompressedFormatInfo kCompressedFormatInfoArray[]{ nit: a space between [] and { https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:11579: glPixelStorei(GL_UNPACK_SKIP_IMAGES, 0); No need for all the SKIP params as they are always 0 in service side. You can just DCHECK to make sure of that. Also, we need to be very careful here. We only send ROW_LENGTH and IMAGE_HEIGHT down to the driver if a PIXEL_UNPACK_BUFFER is bound. Otherwise we simply cache the values in context_state. See ContextState::UpdateUnpackParameters(). So what you did here will cause problem in some situations. I think it's better you fold this function into ContextState, so we have a centralized place for this.
https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... File gpu/command_buffer/service/feature_info.h (right): https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/feature_info.h:94: bool arb_es3_compatability; nit: typo compatability->compatibility https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:11474: uint32_t blockSize; nit: use chromium style here and below (e.g. block_size) https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:12031: DecompressTextureData(*format_info, width, height, 1, data); What happens if there's a PIXEL_UNPACK_BUFFER bound, and data is an offset to the PBO? I think this is possibly a problem already, but this makes it obviously problematic... Maybe we can add a check in the mean time (fail the call if a PBO is bound), but what's the plan in the longer term, map the buffer to decompress the data? https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:15258: GLenum compatability_iternal_format = internal_format; nit: 2 typos: compatability_iternal_format -> compatibility_internal_format
The CQ bit was checked by geofflang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-device-gn on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-gn/bui...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, no build URL) ios-simulator-gn on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-gn/...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, no build URL) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...) mac_optional_gpu_tests_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_optional_gpu_...)
The CQ bit was checked by geofflang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by geofflang@chromium.org to run a CQ dry run
https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... File gpu/command_buffer/service/feature_info.h (right): https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/feature_info.h:94: bool arb_es3_compatability; On 2016/07/06 21:20:59, piman wrote: > nit: typo compatability->compatibility Done. https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:11474: uint32_t blockSize; On 2016/07/06 21:20:59, piman wrote: > nit: use chromium style here and below (e.g. block_size) Done. https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:11483: const CompressedFormatInfo kCompressedFormatInfoArray[]{ On 2016/07/06 19:45:39, Zhenyao Mo wrote: > nit: a space between [] and { Done. https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:11579: glPixelStorei(GL_UNPACK_SKIP_IMAGES, 0); On 2016/07/06 19:45:39, Zhenyao Mo wrote: > No need for all the SKIP params as they are always 0 in service side. You can > just DCHECK to make sure of that. > > Also, we need to be very careful here. We only send ROW_LENGTH and IMAGE_HEIGHT > down to the driver if a PIXEL_UNPACK_BUFFER is bound. Otherwise we simply cache > the values in context_state. See ContextState::UpdateUnpackParameters(). So > what you did here will cause problem in some situations. > > I think it's better you fold this function into ContextState, so we have a > centralized place for this. Ah, thanks for pointing that out. I kept the Push/Pop functions here and added a helper in ContextState. https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:12031: DecompressTextureData(*format_info, width, height, 1, data); On 2016/07/06 21:20:59, piman wrote: > What happens if there's a PIXEL_UNPACK_BUFFER bound, and data is an offset to > the PBO? > I think this is possibly a problem already, but this makes it obviously > problematic... > > Maybe we can add a check in the mean time (fail the call if a PBO is bound), but > what's the plan in the longer term, map the buffer to decompress the data? Yea, I noticed that too. PBOs aren't handled at all for compressed textures it appears. Mapping the buffer will be required for this decompression technique. I ended up just fixing PBOs and CompressedTexImage, it now works for both the decompression and regular case. https://codereview.chromium.org/2076213002/diff/60001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:15258: GLenum compatability_iternal_format = internal_format; On 2016/07/06 21:20:59, piman wrote: > nit: 2 typos: compatability_iternal_format -> compatibility_internal_format Done.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clan...) chromeos_x86-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_x86-ge...) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_compile_dbg_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... File gpu/command_buffer/service/context_state.cc (right): https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/context_state.cc:274: glPixelStorei(GL_UNPACK_SKIP_IMAGES, unpack_skip_images); We never pass GL_UNPACK_SKIP_ROWS/PIXELS/IMAGES to the driver (because we handle them manually), so we should leave those to their default value https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11579: uint32_t num_blocks_high = ((height + info.block_size - 1) / info.block_size); nit: no need for the outer set of parens. https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11599: input_data = glMapBufferRange(GL_PIXEL_UNPACK_BUFFER, The buffer might already be mapped, in which case glMapBufferRange will fail. You can check if it's already mapped with state.bound_pixel_unpack_buffer->GetMappedRange(), in which case raising GL_INVALID_OPERATION should be ok. Also, we would want to bounds check (data, data+image_size) against the the buffer size to avoid trying to map outside the buffer (which would fail). Lastly, mapping may fail because of GL_OUT_OF_MEMORY, in which case we shouldn't continue - instead pass the GL_OUT_OF_MEMORY to the client, I think. https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11605: width, height, depth, reinterpret_cast<const uint8_t*>(input_data), nit: static_cast instead of reinterpret_cast https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11612: glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER); glUnmapBuffer is allowed to fail, corrupting the data (sigh...). If that happens, I think we should lose the context, similarly to what we do in HandleUnmapBuffer.
https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11622: glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); nit: the above three lines can be put inside the condition if a unpack buffer is bound (otherwise we haven't really sent the ROW_LENGTH and IMAGE_HEIGHT to driver). I feel this should also be handled in ContextState like the Pop* one.
The CQ bit was checked by geofflang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11579: uint32_t num_blocks_high = ((height + info.block_size - 1) / info.block_size); On 2016/07/08 19:30:39, piman wrote: > nit: no need for the outer set of parens. Done. https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11599: input_data = glMapBufferRange(GL_PIXEL_UNPACK_BUFFER, On 2016/07/08 19:30:39, piman wrote: > The buffer might already be mapped, in which case glMapBufferRange will fail. > You can check if it's already mapped with > state.bound_pixel_unpack_buffer->GetMappedRange(), in which case raising > GL_INVALID_OPERATION should be ok. > > Also, we would want to bounds check (data, data+image_size) against the the > buffer size to avoid trying to map outside the buffer (which would fail). > Lastly, mapping may fail because of GL_OUT_OF_MEMORY, in which case we shouldn't > continue - instead pass the GL_OUT_OF_MEMORY to the client, I think. I updated the validation code to cover these cases. I incorrectly assumed that they were already handled. https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11605: width, height, depth, reinterpret_cast<const uint8_t*>(input_data), On 2016/07/08 19:30:39, piman wrote: > nit: static_cast instead of reinterpret_cast Done. https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11612: glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER); On 2016/07/08 19:30:39, piman wrote: > glUnmapBuffer is allowed to fail, corrupting the data (sigh...). If that > happens, I think we should lose the context, similarly to what we do in > HandleUnmapBuffer. Done, I had to modify the command buffer generation script to allow the errors to propagate all the way back. https://codereview.chromium.org/2076213002/diff/140001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11622: glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); On 2016/07/08 22:40:29, Zhenyao Mo wrote: > nit: the above three lines can be put inside the condition if a unpack buffer is > bound (otherwise we haven't really sent the ROW_LENGTH and IMAGE_HEIGHT to > driver). I feel this should also be handled in ContextState like the Pop* one. Done, moved all the logic into ContextState.
lgtm but wait for piman to take a look too.
lgtm in principle, but I think this is a bit more complex than necessary - we can lose the context without returning kLostContext (and we do that in a few places), this will be handled correctly. https://codereview.chromium.org/2076213002/diff/160001/gpu/command_buffer/ser... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/160001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:12084: return error::kLostContext; You don't really need to return kLostContext here, and the associated autogen complexity, because MarcContextLost sets current_decoder_error_, which will exit the processing loop and raise the error (albeit possibly delayed for a few commands, which is ok).
On 2016/07/11 19:38:45, piman wrote: > lgtm in principle, but I think this is a bit more complex than necessary - we > can lose the context without returning kLostContext (and we do that in a few > places), this will be handled correctly. > > https://codereview.chromium.org/2076213002/diff/160001/gpu/command_buffer/ser... > File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): > > https://codereview.chromium.org/2076213002/diff/160001/gpu/command_buffer/ser... > gpu/command_buffer/service/gles2_cmd_decoder.cc:12084: return > error::kLostContext; > You don't really need to return kLostContext here, and the associated autogen > complexity, because MarcContextLost sets current_decoder_error_, which will exit > the processing loop and raise the error (albeit possibly delayed for a few > commands, which is ok). Ok, I'll revert the changes to the generator.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
https://codereview.chromium.org/2076213002/diff/160001/gpu/command_buffer/ser... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/160001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:12084: return error::kLostContext; On 2016/07/11 19:38:45, piman wrote: > You don't really need to return kLostContext here, and the associated autogen > complexity, because MarcContextLost sets current_decoder_error_, which will exit > the processing loop and raise the error (albeit possibly delayed for a few > commands, which is ok). Done.
https://codereview.chromium.org/2076213002/diff/200001/gpu/command_buffer/ser... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/200001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11605: GL_MAP_READ_BIT); Oh, something I missed... do we need to return nullptr if input_data in null? E.g. if out of address space and the underlying mmap fails (the driver would raise GL_OUT_OF_MEMORY and return null in this case).
https://codereview.chromium.org/2076213002/diff/200001/gpu/command_buffer/ser... File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2076213002/diff/200001/gpu/command_buffer/ser... gpu/command_buffer/service/gles2_cmd_decoder.cc:11605: GL_MAP_READ_BIT); On 2016/07/11 20:18:18, piman wrote: > Oh, something I missed... do we need to return nullptr if input_data in null? > E.g. if out of address space and the underlying mmap fails (the driver would > raise GL_OUT_OF_MEMORY and return null in this case). Yep, should have checked this to be safe. Done.
The CQ bit was checked by geofflang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
LGTM, thanks!
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_optional_gpu_tests_rel on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_...)
The CQ bit was checked by geofflang@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from zmo@chromium.org Link to the patchset: https://codereview.chromium.org/2076213002/#ps220001 (title: "Check MapBuffer result.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_optional_gpu_tests_rel on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_...)
The CQ bit was checked by geofflang@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_optional_gpu_tests_rel on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_...)
The CQ bit was checked by zmo@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by zmo@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Decompress ETC texture data when there is no native support. BUG=612205 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Decompress ETC texture data when there is no native support. BUG=612205 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel ==========
Message was sent while issue was closed.
Committed patchset #12 (id:220001)
Message was sent while issue was closed.
CQ bit was unchecked.
Message was sent while issue was closed.
Description was changed from ========== Decompress ETC texture data when there is no native support. BUG=612205 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Decompress ETC texture data when there is no native support. BUG=612205 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/398fb2196bb0959997cba019a3cbb9e8b9d8e444 Cr-Commit-Position: refs/heads/master@{#405183} ==========
Message was sent while issue was closed.
Patchset 12 (id:??) landed as https://crrev.com/398fb2196bb0959997cba019a3cbb9e8b9d8e444 Cr-Commit-Position: refs/heads/master@{#405183} |