mirror of https://github.com/axmolengine/axmol.git
[feature] fix android compile error
This commit is contained in:
parent
d4375db34f
commit
5d5eaf4be1
|
@ -3,7 +3,9 @@
|
|||
#include "renderer/backend/Program.h"
|
||||
#include "renderer/backend/Texture.h"
|
||||
#include "renderer/backend/Types.h"
|
||||
#ifdef CC_USE_METAL
|
||||
#include "glsl_optimizer.h"
|
||||
#endif
|
||||
|
||||
CC_BACKEND_BEGIN
|
||||
|
||||
|
@ -245,6 +247,7 @@ void ProgramState::setUniform(const backend::UniformLocation& uniformLocation, c
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef CC_USE_METAL
|
||||
void ProgramState::convertUniformData(const backend::UniformInfo& uniformInfo, const void* srcData, uint32_t srcSize, std::vector<char>& uniformData)
|
||||
{
|
||||
auto basicType = static_cast<glslopt_basic_type>(uniformInfo.type);
|
||||
|
@ -309,6 +312,7 @@ void ProgramState::convertUniformData(const backend::UniformInfo& uniformInfo, c
|
|||
uniformData.assign(convertedData, convertedData + uniformInfo.bufferSize);
|
||||
CC_SAFE_DELETE_ARRAY(convertedData);
|
||||
}
|
||||
#endif
|
||||
|
||||
void ProgramState::setVertexUniform(int location, const void* data, uint32_t size)
|
||||
{
|
||||
|
|
|
@ -84,8 +84,10 @@ protected:
|
|||
void setTexture(int location, uint32_t slot, backend::Texture* texture, std::unordered_map<int, TextureInfo>& textureInfo);
|
||||
void setTextureArray(int location, const std::vector<uint32_t>& slots, const std::vector<backend::Texture*> textures, std::unordered_map<int, TextureInfo>& textureInfo);
|
||||
|
||||
#ifdef CC_USE_METAL
|
||||
//float3 etc in Metal has both sizeof and alignment same as float4, convert it before fill into uniform buffer
|
||||
void convertUniformData(const backend::UniformInfo& uniformInfo, const void* srcData, uint32_t srcSize, std::vector<char>& uniformData);
|
||||
#endif
|
||||
|
||||
backend::Program* _program = nullptr;
|
||||
std::vector<UniformBuffer> _vertexUniformInfos;
|
||||
|
|
Loading…
Reference in New Issue