1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2022 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Worker // AstcDecompressorNoOp.cpp: No-op implementation if support for ASTC textures wasn't enabled
8*8975f5c5SAndroid Build Coastguard Worker
9*8975f5c5SAndroid Build Coastguard Worker #include "image_util/AstcDecompressor.h"
10*8975f5c5SAndroid Build Coastguard Worker
11*8975f5c5SAndroid Build Coastguard Worker namespace angle
12*8975f5c5SAndroid Build Coastguard Worker {
13*8975f5c5SAndroid Build Coastguard Worker
14*8975f5c5SAndroid Build Coastguard Worker namespace
15*8975f5c5SAndroid Build Coastguard Worker {
16*8975f5c5SAndroid Build Coastguard Worker
17*8975f5c5SAndroid Build Coastguard Worker class AstcDecompressorNoOp : public AstcDecompressor
18*8975f5c5SAndroid Build Coastguard Worker {
19*8975f5c5SAndroid Build Coastguard Worker public:
available() const20*8975f5c5SAndroid Build Coastguard Worker bool available() const override { return false; }
21*8975f5c5SAndroid Build Coastguard Worker
decompress(std::shared_ptr<WorkerThreadPool> singleThreadPool,std::shared_ptr<WorkerThreadPool> multiThreadPool,uint32_t imgWidth,uint32_t imgHeight,uint32_t blockWidth,uint32_t blockHeight,const uint8_t * astcData,size_t astcDataLength,uint8_t * output)22*8975f5c5SAndroid Build Coastguard Worker int32_t decompress(std::shared_ptr<WorkerThreadPool> singleThreadPool,
23*8975f5c5SAndroid Build Coastguard Worker std::shared_ptr<WorkerThreadPool> multiThreadPool,
24*8975f5c5SAndroid Build Coastguard Worker uint32_t imgWidth,
25*8975f5c5SAndroid Build Coastguard Worker uint32_t imgHeight,
26*8975f5c5SAndroid Build Coastguard Worker uint32_t blockWidth,
27*8975f5c5SAndroid Build Coastguard Worker uint32_t blockHeight,
28*8975f5c5SAndroid Build Coastguard Worker const uint8_t *astcData,
29*8975f5c5SAndroid Build Coastguard Worker size_t astcDataLength,
30*8975f5c5SAndroid Build Coastguard Worker uint8_t *output) override
31*8975f5c5SAndroid Build Coastguard Worker {
32*8975f5c5SAndroid Build Coastguard Worker return -1;
33*8975f5c5SAndroid Build Coastguard Worker }
34*8975f5c5SAndroid Build Coastguard Worker
getStatusString(int32_t statusCode) const35*8975f5c5SAndroid Build Coastguard Worker const char *getStatusString(int32_t statusCode) const override
36*8975f5c5SAndroid Build Coastguard Worker {
37*8975f5c5SAndroid Build Coastguard Worker return "ASTC CPU decomp not available";
38*8975f5c5SAndroid Build Coastguard Worker }
39*8975f5c5SAndroid Build Coastguard Worker };
40*8975f5c5SAndroid Build Coastguard Worker
41*8975f5c5SAndroid Build Coastguard Worker } // namespace
42*8975f5c5SAndroid Build Coastguard Worker
get()43*8975f5c5SAndroid Build Coastguard Worker AstcDecompressor &AstcDecompressor::get()
44*8975f5c5SAndroid Build Coastguard Worker {
45*8975f5c5SAndroid Build Coastguard Worker static AstcDecompressorNoOp *instance = new AstcDecompressorNoOp();
46*8975f5c5SAndroid Build Coastguard Worker return *instance;
47*8975f5c5SAndroid Build Coastguard Worker }
48*8975f5c5SAndroid Build Coastguard Worker
49*8975f5c5SAndroid Build Coastguard Worker } // namespace angle
50