diff --git a/util/capture/frame_capture_test_utils.cpp b/util/capture/frame_capture_test_utils.cpp index cfde7945d..f681351b5 100644 --- a/util/capture/frame_capture_test_utils.cpp +++ b/util/capture/frame_capture_test_utils.cpp @@ -33,6 +33,23 @@ bool LoadJSONFromFile(const std::string &fileName, rapidjson::Document *doc) doc->ParseStream(inWrapper); return !doc->HasParseError(); } + +// https://anglebug.com/8307: temporary checks (copied from RendererVk.cpp) +uint16_t ComputeCRC16(const uint8_t *data, const size_t size) +{ + constexpr uint16_t kPolynomialCRC16 = 0x8408; + uint16_t rem = 0; + + for (size_t i = 0; i < size; i++) + { + rem ^= data[i]; + for (int j = 0; j < 8; j++) + { + rem = (rem & 1) ? kPolynomialCRC16 ^ (rem >> 1) : rem >> 1; + } + } + return rem; +} } // namespace bool LoadTraceNamesFromJSON(const std::string jsonFilePath, std::vector *namesOut) @@ -212,6 +229,10 @@ uint8_t *TraceLibrary::LoadBinaryData(const char *fileName) std::vector compressedData(size); (void)fread(compressedData.data(), 1, size, fp); + // https://anglebug.com/8307: temporary checks + std::cout << "Compressed binary data size=" << size + << " crc16=" << ComputeCRC16(compressedData.data(), size) << "\n"; + uint32_t uncompressedSize = zlib_internal::GetGzipUncompressedSize(compressedData.data(), compressedData.size());