| Index: cc/resources/texture_compressor.cc
|
| diff --git a/cc/resources/texture_compressor.cc b/cc/resources/texture_compressor.cc
|
| index 186a47d04b65a7d9539b033a61b5c8d35c1d01f9..a32615cb7a5b1930b43d8b3c8ae046a39c88b929 100644
|
| --- a/cc/resources/texture_compressor.cc
|
| +++ b/cc/resources/texture_compressor.cc
|
| @@ -7,12 +7,24 @@
|
| #include "base/logging.h"
|
| #include "cc/resources/texture_compressor_etc1.h"
|
|
|
| +#if defined(ARCH_CPU_X86_FAMILY)
|
| +#include "base/cpu.h"
|
| +#include "cc/resources/texture_compressor_etc1_sse.h"
|
| +#endif
|
| +
|
| namespace cc {
|
|
|
| scoped_ptr<TextureCompressor> TextureCompressor::Create(Format format) {
|
| switch (format) {
|
| - case kFormatETC1:
|
| + case kFormatETC1: {
|
| +#if defined(ARCH_CPU_X86_FAMILY)
|
| + base::CPU cpu;
|
| + if (cpu.has_sse2()) {
|
| + return make_scoped_ptr(new TextureCompressorETC1SSE());
|
| + }
|
| +#endif
|
| return make_scoped_ptr(new TextureCompressorETC1());
|
| + }
|
| }
|
|
|
| NOTREACHED();
|
|
|