| Index: cc/resources/texture_compressor.cc
|
| diff --git a/cc/resources/texture_compressor.cc b/cc/resources/texture_compressor.cc
|
| index 186a47d04b65a7d9539b033a61b5c8d35c1d01f9..15f20cc65386ef5ff6ff3b209e60896b049aba79 100644
|
| --- a/cc/resources/texture_compressor.cc
|
| +++ b/cc/resources/texture_compressor.cc
|
| @@ -4,19 +4,29 @@
|
|
|
| #include "cc/resources/texture_compressor.h"
|
|
|
| +#include <stdio.h>
|
| +
|
| #include "base/logging.h"
|
| #include "cc/resources/texture_compressor_etc1.h"
|
| +#include "cc/resources/texture_compressor_etc1_sse.h"
|
|
|
| namespace cc {
|
|
|
| scoped_ptr<TextureCompressor> TextureCompressor::Create(Format format) {
|
| switch (format) {
|
| - case kFormatETC1:
|
| - return make_scoped_ptr(new TextureCompressorETC1());
|
| + case kFormatETC1: {
|
| + scoped_ptr<TextureCompressor> compressor(new TextureCompressorETC1());
|
| +#if defined(__i386__) || defined(__x86_x64__)
|
| + if (cpu.has_sse2()) {
|
| + compressor.reset(new TextureCompressorETC1SSE());
|
| + }
|
| +#endif
|
| + return compressor;
|
| + }
|
| + default:
|
| + NOTREACHED();
|
| + return nullptr;
|
| }
|
| -
|
| - NOTREACHED();
|
| - return nullptr;
|
| }
|
|
|
| } // namespace cc
|
|
|