diff --git a/projects/xcode5/GLSLOptimizer/GLSLOptimizer.h b/projects/xcode5/GLSLOptimizer/GLSLOptimizer.h new file mode 100644 index 00000000000..8124b8849e9 --- /dev/null +++ b/projects/xcode5/GLSLOptimizer/GLSLOptimizer.h @@ -0,0 +1,19 @@ +// +// GLSLOptimiser.h +// GLSLOptimiser +// +// Created by Ryan Walklin on 2/06/2015. +// +// + +#import + +//! Project version number for GLSLOptimizer. +FOUNDATION_EXPORT double GLSLOptimizerVersionNumber; + +//! Project version string for GLSLOptimizer. +FOUNDATION_EXPORT const unsigned char GLSLOptimizerVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#import "GLSLOptimizerBridge.h" diff --git a/projects/xcode5/GLSLOptimizer/GLSLOptimizerBridge.h b/projects/xcode5/GLSLOptimizer/GLSLOptimizerBridge.h new file mode 100644 index 00000000000..8164923dd1a --- /dev/null +++ b/projects/xcode5/GLSLOptimizer/GLSLOptimizerBridge.h @@ -0,0 +1,112 @@ +// +// GLSLOptimizerBridge.h +// glsl_optimizer_lib +// +// Created by Ryan Walklin on 2/06/2015. +// +// + +@class GLSLShader; + +#import + +typedef NS_ENUM(NSUInteger, GLSLOptShaderType) { + GLSLOptShaderTypeVertex = 0, // kGlslOptShaderVertex + GLSLOptShaderTypeFragment // kGlslOptShaderFragment +}; // glslopt_shader_type + +// Options flags for glsl_optimize +typedef NS_ENUM(NSUInteger, GLSLOptOptions) { + GLSLOptOptionsSkipProcessor = 0, //kGlslOptionSkipPreprocessor = (1<<0), // Skip preprocessing shader source. Saves some time if you know you don't need it. + GLSLOptOptionsNotFullShader // kGlslOptionNotFullShader = (1<<1), // Passed shader is not the full shader source. This makes some optimizations weaker. +}; // glslopt_options + +// Optimizer target language +typedef NS_ENUM(NSUInteger, GLSLOptTarget) { + GLSLOptTargetOpenGL = 0, // kGlslTargetOpenGL = 0, + GLSLOptTargetOpenGLES20 = 1, // kGlslTargetOpenGLES20 = 1, + GLSLOptTargetOpenGLES30 = 2,// kGlslTargetOpenGLES30 = 2, + GLSLOptTargetMetal = 3// kGlslTargetMetal = 3, +}; // glslopt_target + +// Type info +typedef NS_ENUM(NSUInteger, GLSLOptBasicType) { + GLSLOptBasicTypeFloat = 0, // kGlslTypeFloat = 0, + GLSLOptBasicTypeInt, // kGlslTypeInt, + GLSLOptBasicTypeBool, // kGlslTypeBool, + GLSLOptBasicTypeTex2D, // kGlslTypeTex2D, + GLSLOptBasicTypeTex3D, // kGlslTypeTex3D, + GLSLOptBasicTypeTexCube, // kGlslTypeTexCube, + GLSLOptBasicTypeOther, // kGlslTypeOther, + GLSLOptBasicTypeCount // kGlslTypeCount +}; // glslopt_basic_type + +typedef NS_ENUM(NSUInteger, GLSLOptPrecision) { + GLSLOptPrecisionHigh = 0, // kGlslPrecHigh = 0, + GLSLOptPrecisionMedium, // kGlslPrecMedium, + GLSLOptPrecisionLow, // kGlslPrecLow, + GLSLOptPrecisionCount // kGlslPrecCount +}; // glslopt_precision + +@interface GLSLShaderVariableDescription : NSObject + +@property UInt32 index; +@property NSString *name; +@property GLSLOptBasicType type; +@property GLSLOptPrecision prec; +@property UInt32 vecSize; +@property UInt32 matSize; +@property SInt32 arraySize; +@property UInt32 location; + +-(UInt32)elementCount; +-(UInt32)elementSize; +-(UInt32)rawSize; + +@end + +@interface GLSLShader: NSObject + +-(BOOL)status; + +-(NSString *)output; +-(NSString *)rawOutput; +-(NSString *)log; +-(UInt32)inputCount; +-(GLSLShaderVariableDescription *)inputDescription:(UInt32)index; + +-(UInt32)uniformCount; +-(UInt32)uniformTotalSize; +-(GLSLShaderVariableDescription *)uniformDescription:(UInt32)index; + +-(UInt32)textureCount; +-(GLSLShaderVariableDescription *)textureDescription:(UInt32)index; + +@end + +@interface GLSLOptimizer: NSObject + +-(id)init:(GLSLOptTarget)target; + +-(void)setMaxUnrollIterations:(UInt32)iterations; + +-(GLSLShader *)optimize:(GLSLOptShaderType)shaderType shaderSource:(NSString *)shaderSource options:(NSUInteger)options; + +@end + + + +/* + +int glslopt_shader_get_uniform_count (glslopt_shader* shader); +int glslopt_shader_get_uniform_total_size (glslopt_shader* shader); +void glslopt_shader_get_uniform_desc (glslopt_shader* shader, int index, const char** outName, glslopt_basic_type* outType, glslopt_precision* outPrec, int* outVecSize, int* outMatSize, int* outArraySize, int* outLocation); +int glslopt_shader_get_texture_count (glslopt_shader* shader); +void glslopt_shader_get_texture_desc (glslopt_shader* shader, int index, const char** outName, glslopt_basic_type* outType, glslopt_precision* outPrec, int* outVecSize, int* outMatSize, int* outArraySize, int* outLocation); + +// Get *very* approximate shader stats: +// Number of math, texture and flow control instructions. +void glslopt_shader_get_stats (glslopt_shader* shader, int* approxMath, int* approxTex, int* approxFlow); + +*/ + diff --git a/projects/xcode5/GLSLOptimizer/GLSLOptimizerBridge.mm b/projects/xcode5/GLSLOptimizer/GLSLOptimizerBridge.mm new file mode 100644 index 00000000000..62e408adc2d --- /dev/null +++ b/projects/xcode5/GLSLOptimizer/GLSLOptimizerBridge.mm @@ -0,0 +1,213 @@ +// +// GLSLOptimizerBridge.m +// glsl_optimizer_lib +// +// Created by Ryan Walklin on 2/06/2015. +// +// + +#import + +#import "GLSLOptimizerBridge.h" + +#import "glsl_optimizer.h" + +@implementation GLSLShaderVariableDescription + +-(UInt32)elementCount { + return self.vecSize * self.matSize * (self.arraySize == -1 ? 1 : self.arraySize); +} + +-(UInt32)elementSize { + UInt32 elementSize = 0; + + switch (self.type) { + case GLSLOptBasicTypeFloat: + elementSize = sizeof(float); + break; + case GLSLOptBasicTypeInt: + elementSize = sizeof(int); + break; + case GLSLOptBasicTypeBool: + elementSize = sizeof(bool); + break; + case GLSLOptBasicTypeTex2D: + case GLSLOptBasicTypeTex3D: + case GLSLOptBasicTypeTexCube: + break; + default: + break; + } + return elementSize; +} +-(UInt32)rawSize { + return [self elementCount] * [self elementSize]; +} + +@end + +typedef NS_ENUM(NSUInteger, GLSLShaderVariableType) { + GLSLShaderVariableTypeInput = 0, + GLSLShaderVariableTypeUniform, + GLSLShaderVariableTypeTexture +}; + +@interface GLSLShader () { + +@private + glslopt_shader *_shader; +} + +-(id)initWithShader: (glslopt_shader *)shader; + +-(GLSLShaderVariableDescription *)shaderVariableDescription:(GLSLShaderVariableType)type index:(UInt32)index; + +@end + +@implementation GLSLShader: NSObject + +-(id)initWithShader: (glslopt_shader *)shader { + self = [super init]; + if (self) { + _shader = shader; + } + return self; +} + +-(BOOL)status { + return glslopt_get_status(_shader) == true; +} + +-(NSString *)output { + return [NSString stringWithUTF8String: glslopt_get_output(_shader)]; + +} + +-(NSString *)rawOutput { + return [NSString stringWithUTF8String: glslopt_get_raw_output(_shader)]; +} + +-(NSString *)log { + return [NSString stringWithUTF8String: glslopt_get_log (_shader)]; +} + +-(UInt32)inputCount { + return UInt32(glslopt_shader_get_input_count(_shader)); +} + +-(GLSLShaderVariableDescription *)inputDescription:(UInt32)index { + NSAssert(index < self.inputCount, @"index < inputCount"); + return [self shaderVariableDescription:GLSLShaderVariableTypeInput index:index]; +} + +-(UInt32)uniformCount { + return UInt32(glslopt_shader_get_uniform_count(_shader)); +} + +-(UInt32)uniformTotalSize { + return UInt32(glslopt_shader_get_uniform_total_size(_shader)); +} + +-(GLSLShaderVariableDescription *)uniformDescription:(UInt32)index { + NSAssert(index < self.uniformCount, @"index < inputCount"); + return [self shaderVariableDescription:GLSLShaderVariableTypeUniform index:index]; +} + +-(UInt32)textureCount { + return UInt32(glslopt_shader_get_texture_count(_shader)); +} + +-(GLSLShaderVariableDescription *)textureDescription:(UInt32)index { + NSAssert(index < self.textureCount, @"index < inputCount"); + return [self shaderVariableDescription:GLSLShaderVariableTypeTexture index:index]; +} + +-(GLSLShaderVariableDescription *)shaderVariableDescription:(GLSLShaderVariableType)type index:(UInt32)index { + + const char *outName = nil; + glslopt_basic_type outType; + glslopt_precision outPrec; + int outVecSize; + int outMatSize; + int outArraySize; + int outLocation; + + switch (type) { + case GLSLShaderVariableTypeInput: + glslopt_shader_get_input_desc(_shader, index, &outName, &outType, &outPrec, &outVecSize, &outMatSize, &outArraySize, &outLocation); + break; + case GLSLShaderVariableTypeUniform: + glslopt_shader_get_uniform_desc(_shader, index, &outName, &outType, &outPrec, &outVecSize, &outMatSize, &outArraySize, &outLocation); + break; + case GLSLShaderVariableTypeTexture: + glslopt_shader_get_texture_desc(_shader, index, &outName, &outType, &outPrec, &outVecSize, &outMatSize, &outArraySize, &outLocation); + break; + } + + GLSLShaderVariableDescription *varDesc = [[GLSLShaderVariableDescription alloc] init]; + + varDesc.name = [NSString stringWithUTF8String:outName]; + varDesc.type = GLSLOptBasicType(outType); + varDesc.prec = GLSLOptPrecision(outPrec); + varDesc.vecSize = SInt32(outVecSize); + varDesc.matSize = SInt32(outMatSize); + varDesc.arraySize = SInt32(outArraySize); + varDesc.location = SInt32(outLocation); + + return varDesc; +} + +/* + // Get *very* approximate shader stats: + // Number of math, texture and flow control instructions. + void glslopt_shader_get_stats (glslopt_shader* shader, int* approxMath, int* approxTex, int* approxFlow); + */ + +- (void)dealloc +{ + glslopt_shader_delete(_shader); +} + +@end + +@interface GLSLOptimizer () { + @private + glslopt_ctx *_ctx; +} + +@end + +@implementation GLSLOptimizer + +-(id)init:(GLSLOptTarget)target { + self = [super init]; + if (self) { + _ctx = glslopt_initialize(glslopt_target(target)); + } + return self; +} + +-(void)dealloc { + glslopt_cleanup(_ctx); +} + +-(void)setMaxUnrollIterations:(UInt32)iterations { + glslopt_set_max_unroll_iterations(_ctx, iterations); +} + +-(GLSLShader *)optimize:(GLSLOptShaderType)shaderType shaderSource:(NSString *)shaderSource options:(NSUInteger)options { + glslopt_shader* shader = glslopt_optimize(_ctx, glslopt_shader_type(shaderType), shaderSource.UTF8String, UInt32(options)); + + GLSLShader *glslShader = [[GLSLShader alloc] initWithShader: shader]; + + if ([glslShader status]) { + return glslShader; + } else { + NSLog(@"%@", [glslShader log]); + } + return nil; +} + +@end + + diff --git a/projects/xcode5/GLSLOptimizer/Info.plist b/projects/xcode5/GLSLOptimizer/Info.plist new file mode 100644 index 00000000000..33ab1405231 --- /dev/null +++ b/projects/xcode5/GLSLOptimizer/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + testtoast.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/projects/xcode5/glsl_optimizer_lib.xcodeproj/project.pbxproj b/projects/xcode5/glsl_optimizer_lib.xcodeproj/project.pbxproj index 04a79805cf7..d3bd34026b8 100644 --- a/projects/xcode5/glsl_optimizer_lib.xcodeproj/project.pbxproj +++ b/projects/xcode5/glsl_optimizer_lib.xcodeproj/project.pbxproj @@ -165,6 +165,167 @@ 2BDCB95D184E182B0075CE6F /* ir_stats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDCB95B184E182B0075CE6F /* ir_stats.cpp */; }; 2BDCB95E184E182B0075CE6F /* ir_stats.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDCB95C184E182B0075CE6F /* ir_stats.h */; }; 2BEC22EA1356E98300B5E301 /* opt_copy_propagation_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BEC22CB1356E94E00B5E301 /* opt_copy_propagation_elements.cpp */; }; + 942993641B1DB6E20095A86F /* GLSLOptimizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 942993631B1DB6E20095A86F /* GLSLOptimizer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 942993781B1DB70D0095A86F /* hash_table.c in Sources */ = {isa = PBXBuildFile; fileRef = 2B39E41019E959F9001C6A17 /* hash_table.c */; }; + 942993791B1DB70D0095A86F /* hash_table.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B39E41119E959F9001C6A17 /* hash_table.h */; }; + 9429937A1B1DB70D0095A86F /* macros.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B39E41219E959F9001C6A17 /* macros.h */; }; + 9429937B1B1DB70D0095A86F /* ralloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 2B39E41319E959F9001C6A17 /* ralloc.c */; }; + 9429937C1B1DB70D0095A86F /* ralloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B39E41419E959F9001C6A17 /* ralloc.h */; }; + 9429937D1B1DB7120095A86F /* imports.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD9DC717196A3B00515007 /* imports.c */; }; + 9429937E1B1DB7120095A86F /* compiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB7259B135094BE0057D8B5 /* compiler.h */; }; + 9429937F1B1DB7120095A86F /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB7259C135094BE0057D8B5 /* config.h */; }; + 942993801B1DB7120095A86F /* context.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB7259D135094BE0057D8B5 /* context.h */; }; + 942993811B1DB7120095A86F /* core.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB7259E135094BE0057D8B5 /* core.h */; }; + 942993821B1DB7120095A86F /* dd.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB7259F135094BE0057D8B5 /* dd.h */; }; + 942993831B1DB7120095A86F /* glheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB725A1135094BE0057D8B5 /* glheader.h */; }; + 942993841B1DB7120095A86F /* glminimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B6AC8AC161ED9080094FD86 /* glminimal.h */; }; + 942993851B1DB7120095A86F /* imports.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB725A2135094BE0057D8B5 /* imports.h */; }; + 942993861B1DB7120095A86F /* macros.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB725A3135094BE0057D8B5 /* macros.h */; }; + 942993871B1DB7120095A86F /* mtypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB725A5135094BE0057D8B5 /* mtypes.h */; }; + 942993881B1DB7120095A86F /* simple_list.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB725A7135094BE0057D8B5 /* simple_list.h */; }; + 942993891B1DB7190095A86F /* prog_instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B6AC7B5161EC99C0094FD86 /* prog_instruction.h */; }; + 9429938A1B1DB7190095A86F /* prog_parameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B6AC7B6161EC99C0094FD86 /* prog_parameter.h */; }; + 9429938B1B1DB7190095A86F /* prog_statevars.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B6AC7B7161EC99C0094FD86 /* prog_statevars.h */; }; + 9429938C1B1DB7190095A86F /* prog_hash_table.c in Sources */ = {isa = PBXBuildFile; fileRef = 2B47D9FD1209C87B00937F2C /* prog_hash_table.c */; }; + 9429938D1B1DB7190095A86F /* hash_table.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B47D9FE1209C87B00937F2C /* hash_table.h */; }; + 9429938E1B1DB7190095A86F /* symbol_table.c in Sources */ = {isa = PBXBuildFile; fileRef = 2B47D9FF1209C87B00937F2C /* symbol_table.c */; }; + 9429938F1B1DB7190095A86F /* symbol_table.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B47DA001209C87B00937F2C /* symbol_table.h */; }; + 942993901B1DB71E0095A86F /* ast.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A551207FEA6002DC82D /* ast.h */; }; + 942993911B1DB71E0095A86F /* ast_array_index.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD9DA91719693E00515007 /* ast_array_index.cpp */; }; + 942993921B1DB71E0095A86F /* ast_expr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A511207FEA6002DC82D /* ast_expr.cpp */; }; + 942993931B1DB71E0095A86F /* ast_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A521207FEA6002DC82D /* ast_function.cpp */; }; + 942993941B1DB71E0095A86F /* ast_to_hir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A531207FEA6002DC82D /* ast_to_hir.cpp */; }; + 942993951B1DB71E0095A86F /* ast_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A541207FEA6002DC82D /* ast_type.cpp */; }; + 942993961B1DB71E0095A86F /* builtin_functions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B8979DD182C0C4700718F8A /* builtin_functions.cpp */; }; + 942993971B1DB71E0095A86F /* builtin_type_macros.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA7E13817D0AEB200D5C475 /* builtin_type_macros.h */; }; + 942993981B1DB71E0095A86F /* builtin_types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA7E13917D0AEB200D5C475 /* builtin_types.cpp */; }; + 942993991B1DB71E0095A86F /* builtin_variables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B92A05C15F9FF4700CFED4A /* builtin_variables.cpp */; }; + 9429939A1B1DB74D0095A86F /* glsl_lexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A591207FEA6002DC82D /* glsl_lexer.cpp */; }; + 9429939B1B1DB74D0095A86F /* glsl_optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A5B1207FEA6002DC82D /* glsl_optimizer.cpp */; }; + 9429939C1B1DB74D0095A86F /* glsl_optimizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A5C1207FEA6002DC82D /* glsl_optimizer.h */; }; + 9429939D1B1DB74D0095A86F /* glsl_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A5F1207FEA6002DC82D /* glsl_parser.cpp */; }; + 9429939E1B1DB74D0095A86F /* glsl_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A601207FEA6002DC82D /* glsl_parser.h */; }; + 9429939F1B1DB74D0095A86F /* glsl_parser_extras.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A5D1207FEA6002DC82D /* glsl_parser_extras.cpp */; }; + 942993A01B1DB74D0095A86F /* glsl_parser_extras.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A5E1207FEA6002DC82D /* glsl_parser_extras.h */; }; + 942993A11B1DB74D0095A86F /* glsl_symbol_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBA491F1254706A00D42573 /* glsl_symbol_table.cpp */; }; + 942993A21B1DB74D0095A86F /* glsl_symbol_table.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A621207FEA6002DC82D /* glsl_symbol_table.h */; }; + 942993A31B1DB74D0095A86F /* glsl_types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A631207FEA6002DC82D /* glsl_types.cpp */; }; + 942993A41B1DB74D0095A86F /* glsl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A641207FEA6002DC82D /* glsl_types.h */; }; + 942993A51B1DB74D0095A86F /* hir_field_selection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A651207FEA6002DC82D /* hir_field_selection.cpp */; }; + 942993A61B1DB74D0095A86F /* ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A931207FEA6002DC82D /* ir.cpp */; }; + 942993A71B1DB74D0095A86F /* ir.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A941207FEA6002DC82D /* ir.h */; }; + 942993A81B1DB74D0095A86F /* ir_basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A671207FEA6002DC82D /* ir_basic_block.cpp */; }; + 942993A91B1DB74D0095A86F /* ir_basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A681207FEA6002DC82D /* ir_basic_block.h */; }; + 942993AA1B1DB74D0095A86F /* ir_builder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3A6BD715FA08E1000DCBE1 /* ir_builder.cpp */; }; + 942993AB1B1DB74D0095A86F /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B3A6BD815FA08E1000DCBE1 /* ir_builder.h */; }; + 942993AC1B1DB74D0095A86F /* ir_clone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A691207FEA6002DC82D /* ir_clone.cpp */; }; + 942993AD1B1DB74D0095A86F /* ir_constant_expression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A6A1207FEA6002DC82D /* ir_constant_expression.cpp */; }; + 942993AE1B1DB74D0095A86F /* ir_expression_flattening.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A711207FEA6002DC82D /* ir_expression_flattening.cpp */; }; + 942993AF1B1DB74D0095A86F /* ir_expression_flattening.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A721207FEA6002DC82D /* ir_expression_flattening.h */; }; + 942993B01B1DB74D0095A86F /* ir_equals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B78C91C1858B052007F5D2A /* ir_equals.cpp */; }; + 942993B11B1DB74D0095A86F /* ir_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A761207FEA6002DC82D /* ir_function.cpp */; }; + 942993B21B1DB74D0095A86F /* ir_function_can_inline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A731207FEA6002DC82D /* ir_function_can_inline.cpp */; }; + 942993B31B1DB74D0095A86F /* ir_function_detect_recursion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B655A7113E0322E00B5278F /* ir_function_detect_recursion.cpp */; }; + 942993B41B1DB74D0095A86F /* ir_function_inlining.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A751207FEA6002DC82D /* ir_function_inlining.h */; }; + 942993B51B1DB74D0095A86F /* ir_hierarchical_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A771207FEA6002DC82D /* ir_hierarchical_visitor.cpp */; }; + 942993B61B1DB74D0095A86F /* ir_hierarchical_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A781207FEA6002DC82D /* ir_hierarchical_visitor.h */; }; + 942993B71B1DB74D0095A86F /* ir_hv_accept.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A791207FEA6002DC82D /* ir_hv_accept.cpp */; }; + 942993B81B1DB74D0095A86F /* ir_import_prototypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A7D1207FEA6002DC82D /* ir_import_prototypes.cpp */; }; + 942993B91B1DB74D0095A86F /* ir_optimization.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A801207FEA6002DC82D /* ir_optimization.h */; }; + 942993BA1B1DB74D0095A86F /* ir_print_glsl_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A811207FEA6002DC82D /* ir_print_glsl_visitor.cpp */; }; + 942993BB1B1DB74D0095A86F /* ir_print_glsl_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A821207FEA6002DC82D /* ir_print_glsl_visitor.h */; }; + 942993BC1B1DB74D0095A86F /* ir_print_metal_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BCF3A8B19ADE1E50057C395 /* ir_print_metal_visitor.cpp */; }; + 942993BD1B1DB74D0095A86F /* ir_print_metal_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BCF3A8C19ADE1E50057C395 /* ir_print_metal_visitor.h */; }; + 942993BE1B1DB74D0095A86F /* ir_print_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A831207FEA6002DC82D /* ir_print_visitor.cpp */; }; + 942993BF1B1DB74D0095A86F /* ir_print_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A841207FEA6002DC82D /* ir_print_visitor.h */; }; + 942993C01B1DB74D0095A86F /* ir_rvalue_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B62490D12191339003F6EEE /* ir_rvalue_visitor.cpp */; }; + 942993C11B1DB74D0095A86F /* ir_rvalue_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B62490E12191339003F6EEE /* ir_rvalue_visitor.h */; }; + 942993C21B1DB74D0095A86F /* ir_stats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDCB95B184E182B0075CE6F /* ir_stats.cpp */; }; + 942993C31B1DB74D0095A86F /* ir_stats.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDCB95C184E182B0075CE6F /* ir_stats.h */; }; + 942993C41B1DB74D0095A86F /* ir_uniform.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B6AC7BC161EC9D40094FD86 /* ir_uniform.h */; }; + 942993C51B1DB74D0095A86F /* ir_unused_structs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A8A1207FEA6002DC82D /* ir_unused_structs.cpp */; }; + 942993C61B1DB74D0095A86F /* ir_unused_structs.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A8B1207FEA6002DC82D /* ir_unused_structs.h */; }; + 942993C71B1DB74D0095A86F /* ir_validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A8C1207FEA6002DC82D /* ir_validate.cpp */; }; + 942993C81B1DB74D0095A86F /* ir_variable_refcount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A8D1207FEA6002DC82D /* ir_variable_refcount.cpp */; }; + 942993C91B1DB74D0095A86F /* ir_variable_refcount.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A8E1207FEA6002DC82D /* ir_variable_refcount.h */; }; + 942993CA1B1DB74D0095A86F /* ir_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A921207FEA6002DC82D /* ir_visitor.h */; }; + 942993CB1B1DB74D0095A86F /* link_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B8979E1182CB62900718F8A /* link_atomics.cpp */; }; + 942993CC1B1DB74D0095A86F /* link_functions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A951207FEA6002DC82D /* link_functions.cpp */; }; + 942993CD1B1DB74D0095A86F /* link_interface_blocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA7E13A17D0AEB200D5C475 /* link_interface_blocks.cpp */; }; + 942993CE1B1DB74D0095A86F /* link_uniform_block_active_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD9DAA1719693F00515007 /* link_uniform_block_active_visitor.cpp */; }; + 942993CF1B1DB74D0095A86F /* link_uniform_block_active_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BBD9DAB1719694000515007 /* link_uniform_block_active_visitor.h */; }; + 942993D01B1DB74D0095A86F /* link_uniform_blocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD9DAC1719694100515007 /* link_uniform_blocks.cpp */; }; + 942993D11B1DB74D0095A86F /* link_uniform_initializers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3A6B9515FA0468000DCBE1 /* link_uniform_initializers.cpp */; }; + 942993D21B1DB74D0095A86F /* link_uniforms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3A6B8E15FA043D000DCBE1 /* link_uniforms.cpp */; }; + 942993D31B1DB74D0095A86F /* link_varyings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD9DB41719698800515007 /* link_varyings.cpp */; }; + 942993D41B1DB74D0095A86F /* link_varyings.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BBD9DB51719698900515007 /* link_varyings.h */; }; + 942993D51B1DB74D0095A86F /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A961207FEA6002DC82D /* linker.cpp */; }; + 942993D61B1DB74D0095A86F /* linker.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A971207FEA6002DC82D /* linker.h */; }; + 942993D71B1DB74D0095A86F /* list.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A981207FEA6002DC82D /* list.h */; }; + 942993D81B1DB74D0095A86F /* loop_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBA49211254706A00D42573 /* loop_analysis.cpp */; }; + 942993D91B1DB74D0095A86F /* loop_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BBA49221254706A00D42573 /* loop_analysis.h */; }; + 942993DA1B1DB74D0095A86F /* loop_controls.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBA49231254706A00D42573 /* loop_controls.cpp */; }; + 942993DB1B1DB74D0095A86F /* loop_unroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBA49241254706A00D42573 /* loop_unroll.cpp */; }; + 942993DC1B1DB74D0095A86F /* lower_clip_distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3A6B9C15FA0494000DCBE1 /* lower_clip_distance.cpp */; }; + 942993DD1B1DB74D0095A86F /* lower_discard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BB2F5AA12B8F1580052C6B0 /* lower_discard.cpp */; }; + 942993DE1B1DB74D0095A86F /* lower_discard_flow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3A6B9D15FA0494000DCBE1 /* lower_discard_flow.cpp */; }; + 942993DF1B1DB74D0095A86F /* lower_if_to_cond_assign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854481293BE5000F3E692 /* lower_if_to_cond_assign.cpp */; }; + 942993E01B1DB74D0095A86F /* lower_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BB2F5AB12B8F1580052C6B0 /* lower_instructions.cpp */; }; + 942993E11B1DB74D0095A86F /* lower_jumps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854491293BE5000F3E692 /* lower_jumps.cpp */; }; + 942993E21B1DB74D0095A86F /* lower_mat_op_to_vec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B38544A1293BE5000F3E692 /* lower_mat_op_to_vec.cpp */; }; + 942993E31B1DB74D0095A86F /* lower_named_interface_blocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA7E13B17D0AEB200D5C475 /* lower_named_interface_blocks.cpp */; }; + 942993E41B1DB74D0095A86F /* lower_noise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBA49251254706A00D42573 /* lower_noise.cpp */; }; + 942993E51B1DB74D0095A86F /* lower_offset_array.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B39E41A19E95FA7001C6A17 /* lower_offset_array.cpp */; }; + 942993E61B1DB74D0095A86F /* lower_output_reads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3A6B9E15FA0494000DCBE1 /* lower_output_reads.cpp */; }; + 942993E71B1DB74D0095A86F /* lower_packed_varyings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD9DB61719698900515007 /* lower_packed_varyings.cpp */; }; + 942993E81B1DB74D0095A86F /* lower_packing_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD9DB71719698A00515007 /* lower_packing_builtins.cpp */; }; + 942993E91B1DB74D0095A86F /* lower_ubo_reference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3A6BA015FA0494000DCBE1 /* lower_ubo_reference.cpp */; }; + 942993EA1B1DB74D0095A86F /* lower_variable_index_to_cond_assign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBA49261254706A00D42573 /* lower_variable_index_to_cond_assign.cpp */; }; + 942993EB1B1DB74D0095A86F /* lower_vec_index_to_cond_assign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B38544D1293BE5000F3E692 /* lower_vec_index_to_cond_assign.cpp */; }; + 942993EC1B1DB74D0095A86F /* lower_vec_index_to_swizzle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B38544E1293BE5000F3E692 /* lower_vec_index_to_swizzle.cpp */; }; + 942993ED1B1DB74D0095A86F /* lower_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BB2F5AC12B8F1580052C6B0 /* lower_vector.cpp */; }; + 942993EE1B1DB74D0095A86F /* lower_vector_insert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA7E13C17D0AEB200D5C475 /* lower_vector_insert.cpp */; }; + 942993EF1B1DB74D0095A86F /* lower_vertex_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B39E41B19E95FA7001C6A17 /* lower_vertex_id.cpp */; }; + 942993F01B1DB74D0095A86F /* opt_algebraic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B38544F1293BE5000F3E692 /* opt_algebraic.cpp */; }; + 942993F11B1DB74D0095A86F /* opt_array_splitting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3A6BA115FA0494000DCBE1 /* opt_array_splitting.cpp */; }; + 942993F21B1DB74D0095A86F /* opt_constant_folding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854501293BE5000F3E692 /* opt_constant_folding.cpp */; }; + 942993F31B1DB74D0095A86F /* opt_constant_propagation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854511293BE5000F3E692 /* opt_constant_propagation.cpp */; }; + 942993F41B1DB74D0095A86F /* opt_constant_variable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854521293BE5000F3E692 /* opt_constant_variable.cpp */; }; + 942993F51B1DB74D0095A86F /* opt_copy_propagation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854531293BE5000F3E692 /* opt_copy_propagation.cpp */; }; + 942993F61B1DB74D0095A86F /* opt_copy_propagation_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BEC22CB1356E94E00B5E301 /* opt_copy_propagation_elements.cpp */; }; + 942993F71B1DB74D0095A86F /* opt_cse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B8979DF182C195C00718F8A /* opt_cse.cpp */; }; + 942993F81B1DB74D0095A86F /* opt_dead_builtin_variables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B39E41C19E95FA7001C6A17 /* opt_dead_builtin_variables.cpp */; }; + 942993F91B1DB74D0095A86F /* opt_dead_builtin_varyings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA7E13D17D0AEB200D5C475 /* opt_dead_builtin_varyings.cpp */; }; + 942993FA1B1DB74D0095A86F /* opt_dead_code.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854551293BE5000F3E692 /* opt_dead_code.cpp */; }; + 942993FB1B1DB74D0095A86F /* opt_dead_code_local.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854541293BE5000F3E692 /* opt_dead_code_local.cpp */; }; + 942993FC1B1DB74D0095A86F /* opt_dead_functions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854561293BE5000F3E692 /* opt_dead_functions.cpp */; }; + 942993FD1B1DB74D0095A86F /* opt_flatten_nested_if_blocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD9DB81719698B00515007 /* opt_flatten_nested_if_blocks.cpp */; }; + 942993FE1B1DB74D0095A86F /* opt_flip_matrices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA7E13E17D0AEB200D5C475 /* opt_flip_matrices.cpp */; }; + 942993FF1B1DB74D0095A86F /* opt_function_inlining.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854571293BE5000F3E692 /* opt_function_inlining.cpp */; }; + 942994001B1DB74D0095A86F /* opt_if_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854581293BE5000F3E692 /* opt_if_simplification.cpp */; }; + 942994011B1DB74D0095A86F /* opt_minmax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B39E41D19E95FA7001C6A17 /* opt_minmax.cpp */; }; + 942994021B1DB74D0095A86F /* opt_noop_swizzle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B3854591293BE5000F3E692 /* opt_noop_swizzle.cpp */; }; + 942994031B1DB74D0095A86F /* opt_rebalance_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B39E41E19E95FA7001C6A17 /* opt_rebalance_tree.cpp */; }; + 942994041B1DB74D0095A86F /* opt_redundant_jumps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BBA49271254706A00D42573 /* opt_redundant_jumps.cpp */; }; + 942994051B1DB74D0095A86F /* opt_structure_splitting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B38545A1293BE5000F3E692 /* opt_structure_splitting.cpp */; }; + 942994061B1DB74D0095A86F /* opt_swizzle_swizzle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B38545B1293BE5000F3E692 /* opt_swizzle_swizzle.cpp */; }; + 942994071B1DB74D0095A86F /* opt_tree_grafting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B38545C1293BE5000F3E692 /* opt_tree_grafting.cpp */; }; + 942994081B1DB74D0095A86F /* opt_vectorize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B9F0A3C189664F3002FF617 /* opt_vectorize.cpp */; }; + 942994091B1DB74D0095A86F /* opt_vector_splitting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA84CA519580C9D0021BE1D /* opt_vector_splitting.cpp */; }; + 9429940A1B1DB74D0095A86F /* program.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A991207FEA6002DC82D /* program.h */; }; + 9429940B1B1DB74D0095A86F /* s_expression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA55A9A1207FEA6002DC82D /* s_expression.cpp */; }; + 9429940C1B1DB74D0095A86F /* s_expression.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA55A9B1207FEA6002DC82D /* s_expression.h */; }; + 9429940D1B1DB74D0095A86F /* standalone_scaffolding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B655A7613E0324F00B5278F /* standalone_scaffolding.cpp */; }; + 9429940E1B1DB74D0095A86F /* standalone_scaffolding.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B655A7713E0324F00B5278F /* standalone_scaffolding.h */; }; + 9429940F1B1DB74D0095A86F /* strtod.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BB2F5AE12B8F1580052C6B0 /* strtod.c */; }; + 942994101B1DB74D0095A86F /* strtod.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB2F5AF12B8F1580052C6B0 /* strtod.h */; }; + 942994111B1DB8CB0095A86F /* pp.c in Sources */ = {isa = PBXBuildFile; fileRef = 2B6A99F31223B1670059FBED /* pp.c */; }; + 942994121B1DB8F40095A86F /* glcpp-lex.c in Sources */ = {isa = PBXBuildFile; fileRef = 2B6A99EC1223B1670059FBED /* glcpp-lex.c */; }; + 942994131B1DB9040095A86F /* glcpp-parse.c in Sources */ = {isa = PBXBuildFile; fileRef = 2B6A99EE1223B1670059FBED /* glcpp-parse.c */; }; + 942994141B1DB9040095A86F /* glcpp-parse.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B6A99EF1223B1670059FBED /* glcpp-parse.h */; }; + 942994151B1DB9040095A86F /* glcpp.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B6A99F21223B1670059FBED /* glcpp.h */; }; + 942994271B1DBC6C0095A86F /* GLSLOptimizerBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 942994251B1DBC6C0095A86F /* GLSLOptimizerBridge.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 942994281B1DBC6C0095A86F /* GLSLOptimizerBridge.mm in Sources */ = {isa = PBXBuildFile; fileRef = 942994261B1DBC6C0095A86F /* GLSLOptimizerBridge.mm */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -241,7 +402,7 @@ 2BA55A551207FEA6002DC82D /* ast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ast.h; path = ../../src/glsl/ast.h; sourceTree = SOURCE_ROOT; }; 2BA55A591207FEA6002DC82D /* glsl_lexer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = glsl_lexer.cpp; path = ../../src/glsl/glsl_lexer.cpp; sourceTree = SOURCE_ROOT; }; 2BA55A5A1207FEA6002DC82D /* glsl_lexer.ll */ = {isa = PBXFileReference; explicitFileType = sourcecode.lex; fileEncoding = 4; name = glsl_lexer.ll; path = ../../src/glsl/glsl_lexer.ll; sourceTree = SOURCE_ROOT; }; - 2BA55A5B1207FEA6002DC82D /* glsl_optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = glsl_optimizer.cpp; path = ../../src/glsl/glsl_optimizer.cpp; sourceTree = SOURCE_ROOT; }; + 2BA55A5B1207FEA6002DC82D /* glsl_optimizer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = glsl_optimizer.cpp; path = ../../src/glsl/glsl_optimizer.cpp; sourceTree = SOURCE_ROOT; }; 2BA55A5C1207FEA6002DC82D /* glsl_optimizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = glsl_optimizer.h; path = ../../src/glsl/glsl_optimizer.h; sourceTree = SOURCE_ROOT; }; 2BA55A5D1207FEA6002DC82D /* glsl_parser_extras.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = glsl_parser_extras.cpp; path = ../../src/glsl/glsl_parser_extras.cpp; sourceTree = SOURCE_ROOT; }; 2BA55A5E1207FEA6002DC82D /* glsl_parser_extras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = glsl_parser_extras.h; path = ../../src/glsl/glsl_parser_extras.h; sourceTree = SOURCE_ROOT; }; @@ -332,10 +493,24 @@ 2BDCB95B184E182B0075CE6F /* ir_stats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ir_stats.cpp; path = ../../src/glsl/ir_stats.cpp; sourceTree = ""; }; 2BDCB95C184E182B0075CE6F /* ir_stats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ir_stats.h; path = ../../src/glsl/ir_stats.h; sourceTree = ""; }; 2BEC22CB1356E94E00B5E301 /* opt_copy_propagation_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = opt_copy_propagation_elements.cpp; path = ../../src/glsl/opt_copy_propagation_elements.cpp; sourceTree = SOURCE_ROOT; }; + 9429935F1B1DB6E20095A86F /* GLSLOptimizer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GLSLOptimizer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 942993621B1DB6E20095A86F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 942993631B1DB6E20095A86F /* GLSLOptimizer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = GLSLOptimizer.h; sourceTree = ""; }; + 9429936F1B1DB6E20095A86F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 942993701B1DB6E20095A86F /* GLSLOptimiserTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GLSLOptimiserTests.m; sourceTree = ""; }; + 942994251B1DBC6C0095A86F /* GLSLOptimizerBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLOptimizerBridge.h; sourceTree = ""; }; + 942994261B1DBC6C0095A86F /* GLSLOptimizerBridge.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GLSLOptimizerBridge.mm; sourceTree = ""; }; D2AAC046055464E500DB518D /* libglsl_optimizer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libglsl_optimizer.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 9429935B1B1DB6E20095A86F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; D289987405E68DCB004EDB86 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -351,6 +526,8 @@ children = ( 2BBD9DA717193BEA00515007 /* README.md */, 08FB7795FE84155DC02AAC07 /* Source */, + 942993601B1DB6E20095A86F /* GLSLOptimizer */, + 9429936D1B1DB6E20095A86F /* GLSLOptimiserTests */, 1AB674ADFE9D54B511CA2CBB /* Products */, ); name = mesaglsl2; @@ -371,6 +548,7 @@ isa = PBXGroup; children = ( D2AAC046055464E500DB518D /* libglsl_optimizer.a */, + 9429935F1B1DB6E20095A86F /* GLSLOptimizer.framework */, ); name = Products; sourceTree = ""; @@ -574,9 +752,108 @@ name = mesa; sourceTree = ""; }; + 942993601B1DB6E20095A86F /* GLSLOptimizer */ = { + isa = PBXGroup; + children = ( + 942993631B1DB6E20095A86F /* GLSLOptimizer.h */, + 942994251B1DBC6C0095A86F /* GLSLOptimizerBridge.h */, + 942994261B1DBC6C0095A86F /* GLSLOptimizerBridge.mm */, + 942993611B1DB6E20095A86F /* Supporting Files */, + ); + name = GLSLOptimizer; + path = GLSLOptimiser; + sourceTree = ""; + }; + 942993611B1DB6E20095A86F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 942993621B1DB6E20095A86F /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 9429936D1B1DB6E20095A86F /* GLSLOptimiserTests */ = { + isa = PBXGroup; + children = ( + 942993701B1DB6E20095A86F /* GLSLOptimiserTests.m */, + 9429936E1B1DB6E20095A86F /* Supporting Files */, + ); + path = GLSLOptimiserTests; + sourceTree = ""; + }; + 9429936E1B1DB6E20095A86F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 9429936F1B1DB6E20095A86F /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 9429935C1B1DB6E20095A86F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9429938B1B1DB7190095A86F /* prog_statevars.h in Headers */, + 942994271B1DBC6C0095A86F /* GLSLOptimizerBridge.h in Headers */, + 942993641B1DB6E20095A86F /* GLSLOptimizer.h in Headers */, + 9429939C1B1DB74D0095A86F /* glsl_optimizer.h in Headers */, + 942993A71B1DB74D0095A86F /* ir.h in Headers */, + 942993D71B1DB74D0095A86F /* list.h in Headers */, + 942993A91B1DB74D0095A86F /* ir_basic_block.h in Headers */, + 942993D61B1DB74D0095A86F /* linker.h in Headers */, + 942993B41B1DB74D0095A86F /* ir_function_inlining.h in Headers */, + 9429938D1B1DB7190095A86F /* hash_table.h in Headers */, + 942993801B1DB7120095A86F /* context.h in Headers */, + 942993891B1DB7190095A86F /* prog_instruction.h in Headers */, + 942993881B1DB7120095A86F /* simple_list.h in Headers */, + 942993BB1B1DB74D0095A86F /* ir_print_glsl_visitor.h in Headers */, + 942993B91B1DB74D0095A86F /* ir_optimization.h in Headers */, + 942993971B1DB71E0095A86F /* builtin_type_macros.h in Headers */, + 9429938F1B1DB7190095A86F /* symbol_table.h in Headers */, + 942994151B1DB9040095A86F /* glcpp.h in Headers */, + 942993C41B1DB74D0095A86F /* ir_uniform.h in Headers */, + 942993D41B1DB74D0095A86F /* link_varyings.h in Headers */, + 942993CA1B1DB74D0095A86F /* ir_visitor.h in Headers */, + 9429940C1B1DB74D0095A86F /* s_expression.h in Headers */, + 942993C11B1DB74D0095A86F /* ir_rvalue_visitor.h in Headers */, + 942993861B1DB7120095A86F /* macros.h in Headers */, + 9429939E1B1DB74D0095A86F /* glsl_parser.h in Headers */, + 942993821B1DB7120095A86F /* dd.h in Headers */, + 942993791B1DB70D0095A86F /* hash_table.h in Headers */, + 9429937F1B1DB7120095A86F /* config.h in Headers */, + 942993871B1DB7120095A86F /* mtypes.h in Headers */, + 942993C91B1DB74D0095A86F /* ir_variable_refcount.h in Headers */, + 942993901B1DB71E0095A86F /* ast.h in Headers */, + 942993AF1B1DB74D0095A86F /* ir_expression_flattening.h in Headers */, + 942993C61B1DB74D0095A86F /* ir_unused_structs.h in Headers */, + 942993CF1B1DB74D0095A86F /* link_uniform_block_active_visitor.h in Headers */, + 942993AB1B1DB74D0095A86F /* ir_builder.h in Headers */, + 942994141B1DB9040095A86F /* glcpp-parse.h in Headers */, + 942993851B1DB7120095A86F /* imports.h in Headers */, + 9429937A1B1DB70D0095A86F /* macros.h in Headers */, + 942993811B1DB7120095A86F /* core.h in Headers */, + 942993D91B1DB74D0095A86F /* loop_analysis.h in Headers */, + 942993A01B1DB74D0095A86F /* glsl_parser_extras.h in Headers */, + 942993BD1B1DB74D0095A86F /* ir_print_metal_visitor.h in Headers */, + 9429938A1B1DB7190095A86F /* prog_parameter.h in Headers */, + 9429940E1B1DB74D0095A86F /* standalone_scaffolding.h in Headers */, + 9429937C1B1DB70D0095A86F /* ralloc.h in Headers */, + 942993A41B1DB74D0095A86F /* glsl_types.h in Headers */, + 942994101B1DB74D0095A86F /* strtod.h in Headers */, + 942993BF1B1DB74D0095A86F /* ir_print_visitor.h in Headers */, + 942993B61B1DB74D0095A86F /* ir_hierarchical_visitor.h in Headers */, + 942993A21B1DB74D0095A86F /* glsl_symbol_table.h in Headers */, + 942993841B1DB7120095A86F /* glminimal.h in Headers */, + 9429940A1B1DB74D0095A86F /* program.h in Headers */, + 942993831B1DB7120095A86F /* glheader.h in Headers */, + 9429937E1B1DB7120095A86F /* compiler.h in Headers */, + 942993C31B1DB74D0095A86F /* ir_stats.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D2AAC043055464E500DB518D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -640,6 +917,24 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + 9429935E1B1DB6E20095A86F /* GLSLOptimizer */ = { + isa = PBXNativeTarget; + buildConfigurationList = 942993721B1DB6E20095A86F /* Build configuration list for PBXNativeTarget "GLSLOptimizer" */; + buildPhases = ( + 9429935A1B1DB6E20095A86F /* Sources */, + 9429935B1B1DB6E20095A86F /* Frameworks */, + 9429935C1B1DB6E20095A86F /* Headers */, + 9429935D1B1DB6E20095A86F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = GLSLOptimizer; + productName = GLSLOptimiser; + productReference = 9429935F1B1DB6E20095A86F /* GLSLOptimizer.framework */; + productType = "com.apple.product-type.framework"; + }; D2AAC045055464E500DB518D /* glsl_optimizer */ = { isa = PBXNativeTarget; buildConfigurationList = 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "glsl_optimizer" */; @@ -664,6 +959,11 @@ isa = PBXProject; attributes = { LastUpgradeCheck = 0500; + TargetAttributes = { + 9429935E1B1DB6E20095A86F = { + CreatedOnToolsVersion = 6.3.2; + }; + }; }; buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "glsl_optimizer_lib" */; compatibilityVersion = "Xcode 3.2"; @@ -680,11 +980,135 @@ projectRoot = ""; targets = ( D2AAC045055464E500DB518D /* glsl_optimizer */, + 9429935E1B1DB6E20095A86F /* GLSLOptimizer */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + 9429935D1B1DB6E20095A86F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ + 9429935A1B1DB6E20095A86F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9429940D1B1DB74D0095A86F /* standalone_scaffolding.cpp in Sources */, + 9429940F1B1DB74D0095A86F /* strtod.c in Sources */, + 942993E51B1DB74D0095A86F /* lower_offset_array.cpp in Sources */, + 942993D51B1DB74D0095A86F /* linker.cpp in Sources */, + 942993D01B1DB74D0095A86F /* link_uniform_blocks.cpp in Sources */, + 942993B11B1DB74D0095A86F /* ir_function.cpp in Sources */, + 942993FA1B1DB74D0095A86F /* opt_dead_code.cpp in Sources */, + 942993CD1B1DB74D0095A86F /* link_interface_blocks.cpp in Sources */, + 942993AD1B1DB74D0095A86F /* ir_constant_expression.cpp in Sources */, + 9429940B1B1DB74D0095A86F /* s_expression.cpp in Sources */, + 942993E71B1DB74D0095A86F /* lower_packed_varyings.cpp in Sources */, + 942993B01B1DB74D0095A86F /* ir_equals.cpp in Sources */, + 942993BE1B1DB74D0095A86F /* ir_print_visitor.cpp in Sources */, + 942993AC1B1DB74D0095A86F /* ir_clone.cpp in Sources */, + 942993F71B1DB74D0095A86F /* opt_cse.cpp in Sources */, + 942993F61B1DB74D0095A86F /* opt_copy_propagation_elements.cpp in Sources */, + 942994001B1DB74D0095A86F /* opt_if_simplification.cpp in Sources */, + 942993DE1B1DB74D0095A86F /* lower_discard_flow.cpp in Sources */, + 9429939B1B1DB74D0095A86F /* glsl_optimizer.cpp in Sources */, + 942993961B1DB71E0095A86F /* builtin_functions.cpp in Sources */, + 942993F31B1DB74D0095A86F /* opt_constant_propagation.cpp in Sources */, + 942993F91B1DB74D0095A86F /* opt_dead_builtin_varyings.cpp in Sources */, + 942993C51B1DB74D0095A86F /* ir_unused_structs.cpp in Sources */, + 942993CB1B1DB74D0095A86F /* link_atomics.cpp in Sources */, + 942993B31B1DB74D0095A86F /* ir_function_detect_recursion.cpp in Sources */, + 942993981B1DB71E0095A86F /* builtin_types.cpp in Sources */, + 942993E31B1DB74D0095A86F /* lower_named_interface_blocks.cpp in Sources */, + 942993B71B1DB74D0095A86F /* ir_hv_accept.cpp in Sources */, + 942993C01B1DB74D0095A86F /* ir_rvalue_visitor.cpp in Sources */, + 942993DC1B1DB74D0095A86F /* lower_clip_distance.cpp in Sources */, + 9429938E1B1DB7190095A86F /* symbol_table.c in Sources */, + 942993941B1DB71E0095A86F /* ast_to_hir.cpp in Sources */, + 942993B21B1DB74D0095A86F /* ir_function_can_inline.cpp in Sources */, + 942993D21B1DB74D0095A86F /* link_uniforms.cpp in Sources */, + 9429938C1B1DB7190095A86F /* prog_hash_table.c in Sources */, + 942994071B1DB74D0095A86F /* opt_tree_grafting.cpp in Sources */, + 942993F01B1DB74D0095A86F /* opt_algebraic.cpp in Sources */, + 942993AE1B1DB74D0095A86F /* ir_expression_flattening.cpp in Sources */, + 942993AA1B1DB74D0095A86F /* ir_builder.cpp in Sources */, + 9429937B1B1DB70D0095A86F /* ralloc.c in Sources */, + 9429939A1B1DB74D0095A86F /* glsl_lexer.cpp in Sources */, + 942994131B1DB9040095A86F /* glcpp-parse.c in Sources */, + 942993E91B1DB74D0095A86F /* lower_ubo_reference.cpp in Sources */, + 942994091B1DB74D0095A86F /* opt_vector_splitting.cpp in Sources */, + 942993DD1B1DB74D0095A86F /* lower_discard.cpp in Sources */, + 942993911B1DB71E0095A86F /* ast_array_index.cpp in Sources */, + 942993A81B1DB74D0095A86F /* ir_basic_block.cpp in Sources */, + 942993E01B1DB74D0095A86F /* lower_instructions.cpp in Sources */, + 942994081B1DB74D0095A86F /* opt_vectorize.cpp in Sources */, + 942994021B1DB74D0095A86F /* opt_noop_swizzle.cpp in Sources */, + 942993F51B1DB74D0095A86F /* opt_copy_propagation.cpp in Sources */, + 942993C81B1DB74D0095A86F /* ir_variable_refcount.cpp in Sources */, + 942993B51B1DB74D0095A86F /* ir_hierarchical_visitor.cpp in Sources */, + 942993921B1DB71E0095A86F /* ast_expr.cpp in Sources */, + 942993CC1B1DB74D0095A86F /* link_functions.cpp in Sources */, + 942993EE1B1DB74D0095A86F /* lower_vector_insert.cpp in Sources */, + 942993A61B1DB74D0095A86F /* ir.cpp in Sources */, + 942993ED1B1DB74D0095A86F /* lower_vector.cpp in Sources */, + 942994111B1DB8CB0095A86F /* pp.c in Sources */, + 942993F11B1DB74D0095A86F /* opt_array_splitting.cpp in Sources */, + 942993E11B1DB74D0095A86F /* lower_jumps.cpp in Sources */, + 942993F81B1DB74D0095A86F /* opt_dead_builtin_variables.cpp in Sources */, + 942993EF1B1DB74D0095A86F /* lower_vertex_id.cpp in Sources */, + 942993951B1DB71E0095A86F /* ast_type.cpp in Sources */, + 942993A51B1DB74D0095A86F /* hir_field_selection.cpp in Sources */, + 9429939F1B1DB74D0095A86F /* glsl_parser_extras.cpp in Sources */, + 942993FF1B1DB74D0095A86F /* opt_function_inlining.cpp in Sources */, + 942993D11B1DB74D0095A86F /* link_uniform_initializers.cpp in Sources */, + 942993DB1B1DB74D0095A86F /* loop_unroll.cpp in Sources */, + 942993B81B1DB74D0095A86F /* ir_import_prototypes.cpp in Sources */, + 942993EB1B1DB74D0095A86F /* lower_vec_index_to_cond_assign.cpp in Sources */, + 942993781B1DB70D0095A86F /* hash_table.c in Sources */, + 942993E61B1DB74D0095A86F /* lower_output_reads.cpp in Sources */, + 942994121B1DB8F40095A86F /* glcpp-lex.c in Sources */, + 942993D31B1DB74D0095A86F /* link_varyings.cpp in Sources */, + 942993F41B1DB74D0095A86F /* opt_constant_variable.cpp in Sources */, + 942993DA1B1DB74D0095A86F /* loop_controls.cpp in Sources */, + 942993991B1DB71E0095A86F /* builtin_variables.cpp in Sources */, + 942993E21B1DB74D0095A86F /* lower_mat_op_to_vec.cpp in Sources */, + 942994031B1DB74D0095A86F /* opt_rebalance_tree.cpp in Sources */, + 942993BC1B1DB74D0095A86F /* ir_print_metal_visitor.cpp in Sources */, + 942993A11B1DB74D0095A86F /* glsl_symbol_table.cpp in Sources */, + 942994061B1DB74D0095A86F /* opt_swizzle_swizzle.cpp in Sources */, + 942993C21B1DB74D0095A86F /* ir_stats.cpp in Sources */, + 942993931B1DB71E0095A86F /* ast_function.cpp in Sources */, + 9429939D1B1DB74D0095A86F /* glsl_parser.cpp in Sources */, + 942993EA1B1DB74D0095A86F /* lower_variable_index_to_cond_assign.cpp in Sources */, + 942993FB1B1DB74D0095A86F /* opt_dead_code_local.cpp in Sources */, + 942993E41B1DB74D0095A86F /* lower_noise.cpp in Sources */, + 942993D81B1DB74D0095A86F /* loop_analysis.cpp in Sources */, + 942993C71B1DB74D0095A86F /* ir_validate.cpp in Sources */, + 942994041B1DB74D0095A86F /* opt_redundant_jumps.cpp in Sources */, + 9429937D1B1DB7120095A86F /* imports.c in Sources */, + 942993DF1B1DB74D0095A86F /* lower_if_to_cond_assign.cpp in Sources */, + 942993EC1B1DB74D0095A86F /* lower_vec_index_to_swizzle.cpp in Sources */, + 942993FD1B1DB74D0095A86F /* opt_flatten_nested_if_blocks.cpp in Sources */, + 942993A31B1DB74D0095A86F /* glsl_types.cpp in Sources */, + 942993FE1B1DB74D0095A86F /* opt_flip_matrices.cpp in Sources */, + 942993E81B1DB74D0095A86F /* lower_packing_builtins.cpp in Sources */, + 942993BA1B1DB74D0095A86F /* ir_print_glsl_visitor.cpp in Sources */, + 942993FC1B1DB74D0095A86F /* opt_dead_functions.cpp in Sources */, + 942994011B1DB74D0095A86F /* opt_minmax.cpp in Sources */, + 942993CE1B1DB74D0095A86F /* link_uniform_block_active_visitor.cpp in Sources */, + 942994281B1DBC6C0095A86F /* GLSLOptimizerBridge.mm in Sources */, + 942993F21B1DB74D0095A86F /* opt_constant_folding.cpp in Sources */, + 942994051B1DB74D0095A86F /* opt_structure_splitting.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D2AAC044055464E500DB518D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -804,13 +1228,17 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEFINES_MODULE = YES; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = glsl_optimizer; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; }; name = Debug; }; @@ -818,17 +1246,22 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; GCC_MODEL_TUNING = G5; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = glsl_optimizer; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; }; name = Release; }; 1DEB91F008733DB70010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_MODULES = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; @@ -847,6 +1280,7 @@ 1DEB91F108733DB70010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_MODULES = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; @@ -859,6 +1293,108 @@ }; name = Release; }; + 942993731B1DB6E20095A86F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_DYNAMIC_NO_PIC = NO; + GCC_INPUT_FILETYPE = automatic; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = GLSLOptimiser/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 942993741B1DB6E20095A86F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_INPUT_FILETYPE = automatic; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = GLSLOptimiser/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -880,6 +1416,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 942993721B1DB6E20095A86F /* Build configuration list for PBXNativeTarget "GLSLOptimizer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 942993731B1DB6E20095A86F /* Debug */, + 942993741B1DB6E20095A86F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; diff --git a/projects/xcode5/glsl_optimizer_lib.xcodeproj/xcshareddata/xcschemes/glsl_optimizer.xcscheme b/projects/xcode5/glsl_optimizer_lib.xcodeproj/xcshareddata/xcschemes/glsl_optimizer.xcscheme new file mode 100644 index 00000000000..e4f4fd359d3 --- /dev/null +++ b/projects/xcode5/glsl_optimizer_lib.xcodeproj/xcshareddata/xcschemes/glsl_optimizer.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +