/**
**
** Copyright 2010, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
#ifndef _TEXTURE_H_
#define _TEXTURE_H_
#if !USE_LLVM_TEXTURE_SAMPLER
namespace llvm
{
class Module;
class ExecutionEngine;
};
extern const struct GGLContext * textureGGLContext; // for getting wrap mode, dimensions, data
void DeclareTextureFunctions(llvm::Module * mod);
void AddTextureFunctionMappings(llvm::Module * mod, llvm::ExecutionEngine * ee);
#include "pixelflinger2/pixelflinger2_format.h"
template<GGLPixelFormat format>
void tex2d_int32(unsigned sample[4], const float tex_coord[4], const unsigned sampler);
#endif // #if !USE_LLVM_TEXTURE_SAMPLER
void InitializeTextureFunctions(struct GGLInterface * iface);
#endif // #ifndef _TEXTURE_H_