1/**
2 **
3 ** Copyright 2010, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 **     http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18#ifndef _TEXTURE_H_
19#define _TEXTURE_H_
20
21#if !USE_LLVM_TEXTURE_SAMPLER
22
23namespace llvm
24{
25    class Module;
26    class ExecutionEngine;
27};
28
29extern const struct GGLContext * textureGGLContext; // for getting wrap mode, dimensions, data
30
31void DeclareTextureFunctions(llvm::Module * mod);
32void AddTextureFunctionMappings(llvm::Module * mod, llvm::ExecutionEngine * ee);
33
34#include "pixelflinger2/pixelflinger2_format.h"
35
36template<GGLPixelFormat format>
37void tex2d_int32(unsigned sample[4], const float tex_coord[4], const unsigned sampler);
38
39#endif // #if !USE_LLVM_TEXTURE_SAMPLER
40
41void InitializeTextureFunctions(struct GGLInterface * iface);
42
43#endif // #ifndef _TEXTURE_H_