1fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang//
2268b6bcd5d415e2169228f4f082e546ac05aa899Geoff Lang// Copyright (c) 2013-2014 The ANGLE Project Authors. All rights reserved.
3fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang// Use of this source code is governed by a BSD-style license that can be
4fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang// found in the LICENSE file.
5fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang//
6fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
7fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang// copyimage.h: Defines image copying functions
8fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
9fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang#ifndef LIBGLESV2_RENDERER_COPYIMAGE_H_
10fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang#define LIBGLESV2_RENDERER_COPYIMAGE_H_
11fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
12fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang#include "common/mathutil.h"
13fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang#include "libGLESv2/angletypes.h"
14fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
150b7eef7c469bf717f7e1b57c6273f00d88e8b1d9Geoff Lang#include <cstdint>
160b7eef7c469bf717f7e1b57c6273f00d88e8b1d9Geoff Lang
17fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Langnamespace rx
18fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang{
19fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
20fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Langtemplate <typename sourceType, typename colorDataType>
21268b6bcd5d415e2169228f4f082e546ac05aa899Geoff Langvoid ReadColor(const uint8_t *source, uint8_t *dest);
22fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
23fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Langtemplate <typename destType, typename colorDataType>
24268b6bcd5d415e2169228f4f082e546ac05aa899Geoff Langvoid WriteColor(const uint8_t *source, uint8_t *dest);
25fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
26fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Langtemplate <typename sourceType, typename destType, typename colorDataType>
27268b6bcd5d415e2169228f4f082e546ac05aa899Geoff Langvoid CopyPixel(const uint8_t *source, uint8_t *dest);
28fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
29268b6bcd5d415e2169228f4f082e546ac05aa899Geoff Langvoid CopyBGRA8ToRGBA8(const uint8_t *source, uint8_t *dest);
30fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
31fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang}
32fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang
33268b6bcd5d415e2169228f4f082e546ac05aa899Geoff Lang#include "copyimage.inl"
34268b6bcd5d415e2169228f4f082e546ac05aa899Geoff Lang
35fe28ca06248f5b9cf97e0c8678275997cbf6b4daGeoff Lang#endif // LIBGLESV2_RENDERER_COPYIMAGE_H_
36