C++程序  |  43行  |  1.28 KB

/** 
 **
 ** 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_