1b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org// 286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang// Copyright (c) 2013-2014 The ANGLE Project Authors. All rights reserved. 3b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org// Use of this source code is governed by a BSD-style license that can be 4b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org// found in the LICENSE file. 5b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org// 6b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 7b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org// loadimage.h: Defines image loading functions 8b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 9b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org#ifndef LIBGLESV2_RENDERER_LOADIMAGE_H_ 10b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org#define LIBGLESV2_RENDERER_LOADIMAGE_H_ 11b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 1286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang#include "libGLESv2/angletypes.h" 13a32a2ba4da2e0f12ab277fc06830e84d70e0a37eshannonwoods@chromium.org 1486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang#include <cstdint> 15b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 1686846e242e61e16d19e7a07492c081ee29a59694Geoff Langnamespace rx 178d46e91406929e3726b0f905b6ca861fd7938a13shannonwoods@chromium.org{ 18b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 1986846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadA8ToRGBA8(size_t width, size_t height, size_t depth, 2086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 2186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 22b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 2386846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadA8ToBGRA8(size_t width, size_t height, size_t depth, 2486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 2586846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 26b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 2786846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadA8ToBGRA8_SSE2(size_t width, size_t height, size_t depth, 2886846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 2986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 30b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 3186846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadA32FToRGBA32F(size_t width, size_t height, size_t depth, 3286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 3386846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 34b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 3586846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadA16FToRGBA16F(size_t width, size_t height, size_t depth, 3686846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 3786846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 38b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 3986846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadL8ToRGBA8(size_t width, size_t height, size_t depth, 4086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 4186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 42b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 4386846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadL8ToBGRA8(size_t width, size_t height, size_t depth, 4486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 4586846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 46b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 4786846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadL32FToRGBA32F(size_t width, size_t height, size_t depth, 4886846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 4986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 50b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 5186846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadL16FToRGBA16F(size_t width, size_t height, size_t depth, 5286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 5386846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 54b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 5586846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadLA8ToRGBA8(size_t width, size_t height, size_t depth, 5686846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 5786846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 58b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 5986846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadLA8ToBGRA8(size_t width, size_t height, size_t depth, 6086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 6186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 62632192dd8098d303fbf4d66f5d61c7363039a818Geoff Lang 6386846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadLA32FToRGBA32F(size_t width, size_t height, size_t depth, 6486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 6586846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 66632192dd8098d303fbf4d66f5d61c7363039a818Geoff Lang 6786846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadLA16FToRGBA16F(size_t width, size_t height, size_t depth, 6886846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 6986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 7036d0be90f401dfc7590cdf546540740a0018e77bshannonwoods@chromium.org 7186846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB8ToBGRX8(size_t width, size_t height, size_t depth, 7286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 7386846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 74b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 7586846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRG8ToBGRX8(size_t width, size_t height, size_t depth, 7686846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 7786846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 78b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 7986846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadR8ToBGRX8(size_t width, size_t height, size_t depth, 8086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 8186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 82b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 8386846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadR5G6B5ToBGRA8(size_t width, size_t height, size_t depth, 8486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 8586846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 86b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 8786846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadR5G6B5ToRGBA8(size_t width, size_t height, size_t depth, 8886846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 8986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 90b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 9186846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGBA8ToBGRA8_SSE2(size_t width, size_t height, size_t depth, 9286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 9386846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 94b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 9586846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGBA8ToBGRA8(size_t width, size_t height, size_t depth, 9686846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 9786846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 98b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 9986846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGBA4ToBGRA8(size_t width, size_t height, size_t depth, 10086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 10186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 102b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 10386846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGBA4ToRGBA8(size_t width, size_t height, size_t depth, 10486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 10586846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 106b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 10786846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadBGRA4ToBGRA8(size_t width, size_t height, size_t depth, 10886846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 10986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 110b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 11186846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB5A1ToBGRA8(size_t width, size_t height, size_t depth, 11286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 11386846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 114b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 11586846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB5A1ToRGBA8(size_t width, size_t height, size_t depth, 11686846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 11786846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 118b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 11986846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadBGR5A1ToBGRA8(size_t width, size_t height, size_t depth, 12086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 12186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 122b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 12386846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB10A2ToRGBA8(size_t width, size_t height, size_t depth, 12486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 12586846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 126b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 12786846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB16FToRGB9E5(size_t width, size_t height, size_t depth, 12886846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 12986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 130b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 13186846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB32FToRGB9E5(size_t width, size_t height, size_t depth, 13286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 13386846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 134b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 13586846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB16FToRG11B10F(size_t width, size_t height, size_t depth, 13686846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 13786846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 1385d4468e9e12f34e895a17c733f207ddb12fe4625shannonwoods@chromium.org 13986846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB32FToRG11B10F(size_t width, size_t height, size_t depth, 14086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 14186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 1425d4468e9e12f34e895a17c733f207ddb12fe4625shannonwoods@chromium.org 14386846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadG8R24ToR24G8(size_t width, size_t height, size_t depth, 14486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 14586846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 14692b9cd57673dad9c0ead2956bad0ded4e5ac49f8shannonwoods@chromium.org 14786846e242e61e16d19e7a07492c081ee29a59694Geoff Langtemplate <typename type, size_t componentCount> 14886846e242e61e16d19e7a07492c081ee29a59694Geoff Langinline void LoadToNative(size_t width, size_t height, size_t depth, 14986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 15086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 15186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang 15286846e242e61e16d19e7a07492c081ee29a59694Geoff Langtemplate <typename type, uint32_t fourthComponentBits> 15386846e242e61e16d19e7a07492c081ee29a59694Geoff Langinline void LoadToNative3To4(size_t width, size_t height, size_t depth, 15486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 15586846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 15692b9cd57673dad9c0ead2956bad0ded4e5ac49f8shannonwoods@chromium.org 15786846e242e61e16d19e7a07492c081ee29a59694Geoff Langtemplate <size_t componentCount> 15886846e242e61e16d19e7a07492c081ee29a59694Geoff Langinline void Load32FTo16F(size_t width, size_t height, size_t depth, 15986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 16086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 161a43d829fabc8a251d6695922966ad25320e4c99fshannonwoods@chromium.org 16286846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadRGB32FToRGBA16F(size_t width, size_t height, size_t depth, 16386846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 16486846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 165a43d829fabc8a251d6695922966ad25320e4c99fshannonwoods@chromium.org 16686846e242e61e16d19e7a07492c081ee29a59694Geoff Langtemplate <size_t blockWidth, size_t blockHeight, size_t blockSize> 16786846e242e61e16d19e7a07492c081ee29a59694Geoff Langinline void LoadCompressedToNative(size_t width, size_t height, size_t depth, 16886846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 16986846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 1704133f5c2f10ab5d42a0ca8cf81e0b10fdaecea74Geoff Lang 17186846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadR32ToR16(size_t width, size_t height, size_t depth, 17286846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 17386846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 1748d46e91406929e3726b0f905b6ca861fd7938a13shannonwoods@chromium.org 17586846e242e61e16d19e7a07492c081ee29a59694Geoff Langtemplate <typename type, uint32_t firstBits, uint32_t secondBits, uint32_t thirdBits, uint32_t fourthBits> 17686846e242e61e16d19e7a07492c081ee29a59694Geoff Langinline void Initialize4ComponentData(size_t width, size_t height, size_t depth, 17786846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 178a32a2ba4da2e0f12ab277fc06830e84d70e0a37eshannonwoods@chromium.org 17986846e242e61e16d19e7a07492c081ee29a59694Geoff Langvoid LoadR32ToR24G8(size_t width, size_t height, size_t depth, 18086846e242e61e16d19e7a07492c081ee29a59694Geoff Lang const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, 18186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); 182de7e6a24c958f03ea81f4ca548d52ceb02fbe6dcshannonwoods@chromium.org 18386846e242e61e16d19e7a07492c081ee29a59694Geoff Langtemplate <typename T> 18486846e242e61e16d19e7a07492c081ee29a59694Geoff Langinline T *OffsetDataPointer(uint8_t *data, size_t y, size_t z, size_t rowPitch, size_t depthPitch); 185b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 18686846e242e61e16d19e7a07492c081ee29a59694Geoff Langtemplate <typename T> 18786846e242e61e16d19e7a07492c081ee29a59694Geoff Langinline const T *OffsetDataPointer(const uint8_t *data, size_t y, size_t z, size_t rowPitch, size_t depthPitch); 1888746546078623e08c386ec2a2e3a1b77a3b327b6Geoff Lang 1890c99b1b0a42afd3b5fb578468895b166acd5bb6eGeoff Lang} 1900c99b1b0a42afd3b5fb578468895b166acd5bb6eGeoff Lang 19186846e242e61e16d19e7a07492c081ee29a59694Geoff Lang#include "loadimage.inl" 192b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org 193b8490f3c368bd2407980ed7df7810b3d84b20b68shannonwoods@chromium.org#endif // LIBGLESV2_RENDERER_LOADIMAGE_H_ 194