(filename: *u8, source: *u8, sourcelen: u32, comments: **u8, comment_count: u32, symbols: *MOJOSHADER_symbol, symbol_count: u32, defines: *MOJOSHADER_preprocessorDefine, define_count: u32, include_open: MOJOSHADER_includeOpen, include_close: MOJOSHADER_includeClose, m: MOJOSHADER_malloc, f: MOJOSHADER_free, d: *void) -> *MOJOSHADER_parseData
#import "MojoShader";
Procedures#
() -> *u8
(srcprofile: *u8, filename: *u8, source: *u8, sourcelen: u32, defs: *MOJOSHADER_preprocessorDefine, define_count: u32, include_open: MOJOSHADER_includeOpen, include_close: MOJOSHADER_includeClose, m: MOJOSHADER_malloc, f: MOJOSHADER_free, d: *void) -> *MOJOSHADER_compileData
(data: *MOJOSHADER_astData) -> void
(data: *MOJOSHADER_compileData) -> void
(data: *MOJOSHADER_parseData) -> void
(data: *MOJOSHADER_preprocessData) -> void
(preshader: *MOJOSHADER_preshader) -> void
(lookup: MOJOSHADER_glGetProcAddress, lookup_d: *void, profs: **u8, size: s32, m: MOJOSHADER_malloc, f: MOJOSHADER_free, malloc_d: *void) -> s32
(lookup: MOJOSHADER_glGetProcAddress, lookup_d: *void, m: MOJOSHADER_malloc, f: MOJOSHADER_free, malloc_d: *void) -> *u8
(program: *MOJOSHADER_glProgram) -> void
(tokenbuf: *u8, bufsize: u32, swiz: *MOJOSHADER_swizzle, swizcount: u32, smap: *MOJOSHADER_samplerMap, smapcount: u32) -> *MOJOSHADER_glShader
(profile: *u8, lookup: MOJOSHADER_glGetProcAddress, lookup_d: *void, m: MOJOSHADER_malloc, f: MOJOSHADER_free, malloc_d: *void) -> *MOJOSHADER_glContext
(program: *MOJOSHADER_glProgram) -> void
(shader: *MOJOSHADER_glShader) -> void
(ctx: *MOJOSHADER_glContext) -> void
() -> *u8
(idx: u32, data: *s32, bcount: u32) -> void
(idx: u32, data: *float32, vec4count: u32) -> void
(idx: u32, data: *s32, ivec4count: u32) -> void
(shader: *MOJOSHADER_glShader) -> *MOJOSHADER_parseData
(usage: MOJOSHADER_usage, index: s32) -> s32
(idx: u32, data: *s32, bcount: u32) -> void
(idx: u32, data: *float32, vec4count: u32) -> void
(idx: u32, data: *s32, ivec4count: u32) -> void
(ctx: *MOJOSHADER_glContext) -> void
(shader_type: MOJOSHADER_shaderType) -> s32
() -> void
(sampler: u32, mat00: float32, mat01: float32, mat10: float32, mat11: float32, lscale: float32, loffset: float32) -> void
(idx: u32, data: *s32, bcount: u32) -> void
(idx: u32, data: *float32, vec4count: u32) -> void
(idx: u32, data: *s32, ivec4count: u32) -> void
(usage: MOJOSHADER_usage, index: s32, divisor: u32) -> void
(usage: MOJOSHADER_usage, index: s32, size: u32, type: MOJOSHADER_attributeType, normalized: s32, stride: u32, ptr: *void) -> void
(idx: u32, data: *s32, bcount: u32) -> void
(idx: u32, data: *float32, vec4count: u32) -> void
(idx: u32, data: *s32, ivec4count: u32) -> void
(profile: *u8) -> s32
(profile: *u8, mainfn: *u8, tokenbuf: *u8, bufsize: u32, swiz: *MOJOSHADER_swizzle, swizcount: u32, smap: *MOJOSHADER_samplerMap, smapcount: u32, m: MOJOSHADER_malloc, f: MOJOSHADER_free, d: *void) -> *MOJOSHADER_parseData
(srcprofile: *u8, filename: *u8, source: *u8, sourcelen: u32, defs: *MOJOSHADER_preprocessorDefine, define_count: u32, include_open: MOJOSHADER_includeOpen, include_close: MOJOSHADER_includeClose, m: MOJOSHADER_malloc, f: MOJOSHADER_free, d: *void) -> *MOJOSHADER_astData
(filename: *u8, source: *u8, sourcelen: u32, defines: *MOJOSHADER_preprocessorDefine, define_count: u32, include_open: MOJOSHADER_includeOpen, include_close: MOJOSHADER_includeClose, m: MOJOSHADER_malloc, f: MOJOSHADER_free, d: *void) -> *MOJOSHADER_preprocessData
() -> s32
Types#
:: struct
- datatype: *MOJOSHADER_astDataType
- initializer: *MOJOSHADER_astExpression
- next: *MOJOSHADER_astAnnotations
:: struct
- argument: *MOJOSHADER_astExpression
- next: *MOJOSHADER_astArguments
:: struct
- next: *MOJOSHADER_astStatement
- statements: *MOJOSHADER_astStatement
:: struct
:: struct
- declaration: *MOJOSHADER_astFunctionSignature
- definition: *MOJOSHADER_astStatement
- index: s32
:: struct
- struct_info: *MOJOSHADER_astStructDeclaration
:: struct
- _type_info: *MOJOSHADER_astTypedef
:: struct
- declaration: *MOJOSHADER_astVariableDeclaration
:: struct
- error_count: s32
- errors: *MOJOSHADER_error
- source_profile: *u8
- ast: *MOJOSHADER_astNode
- malloc: MOJOSHADER_malloc
- free: MOJOSHADER_free
- malloc_data: *void
- opaque: *void
:: union
- type: MOJOSHADER_astDataTypeType
- array: MOJOSHADER_astDataTypeArray
- structure: MOJOSHADER_astDataTypeStruct
- vector: MOJOSHADER_astDataTypeVector
- matrix: MOJOSHADER_astDataTypeMatrix
- buffer: MOJOSHADER_astDataTypeBuffer
- function: MOJOSHADER_astDataTypeFunction
:: struct
- type: MOJOSHADER_astDataTypeType
- base: *MOJOSHADER_astDataType
- elements: s32
:: struct
- type: MOJOSHADER_astDataTypeType
- base: *MOJOSHADER_astDataType
:: struct
- type: MOJOSHADER_astDataTypeType
- retval: *MOJOSHADER_astDataType
- params: **MOJOSHADER_astDataType
- num_params: s32
- intrinsic: s32
:: struct
- type: MOJOSHADER_astDataTypeType
- base: *MOJOSHADER_astDataType
- rows: s32
- columns: s32
:: struct
- type: MOJOSHADER_astDataTypeType
- members: *MOJOSHADER_astDataTypeStructMember
- member_count: s32
:: struct
- datatype: *MOJOSHADER_astDataType
- identifier: *u8
:: struct
- type: MOJOSHADER_astDataTypeType
- details: *MOJOSHADER_astDataType
- name: *u8
:: struct
- datatype: *MOJOSHADER_astDataType
:: struct
- datatype: *MOJOSHADER_astDataType
- left: *MOJOSHADER_astExpression
- right: *MOJOSHADER_astExpression
:: struct
- datatype: *MOJOSHADER_astDataType
- value: s32
:: struct
- datatype: *MOJOSHADER_astDataType
- identifier: *MOJOSHADER_astExpressionIdentifier
- args: *MOJOSHADER_astArguments
:: struct
- datatype: *MOJOSHADER_astDataType
- operand: *MOJOSHADER_astExpression
:: struct
- datatype: *MOJOSHADER_astDataType
- args: *MOJOSHADER_astArguments
:: struct
- datatype: *MOJOSHADER_astDataType
- identifier: *MOJOSHADER_astExpression
- member: *u8
- isswizzle: s32
- member_index: s32
:: struct
- datatype: *MOJOSHADER_astDataType
- value: float64
:: struct
- datatype: *MOJOSHADER_astDataType
- identifier: *u8
- index: s32
:: struct
- datatype: *MOJOSHADER_astDataType
- value: s32
:: struct
- next: *MOJOSHADER_astStatement
- expr: *MOJOSHADER_astExpression
:: struct
- datatype: *MOJOSHADER_astDataType
- _string: *u8
:: struct
- datatype: *MOJOSHADER_astDataType
- left: *MOJOSHADER_astExpression
- center: *MOJOSHADER_astExpression
- right: *MOJOSHADER_astExpression
:: struct
- datatype: *MOJOSHADER_astDataType
- operand: *MOJOSHADER_astExpression
:: struct
- next: *MOJOSHADER_astStatement
- unroll: s32
- var_decl: *MOJOSHADER_astVariableDeclaration
- initializer: *MOJOSHADER_astExpression
- looptest: *MOJOSHADER_astExpression
- counter: *MOJOSHADER_astExpression
- statement: *MOJOSHADER_astStatement
:: struct
- datatype: *MOJOSHADER_astDataType
- input_modifier: MOJOSHADER_astInputModifier
- identifier: *u8
- semantic: *u8
- interpolation_modifier: MOJOSHADER_astInterpolationModifier
- initializer: *MOJOSHADER_astExpression
:: struct
- datatype: *MOJOSHADER_astDataType
- identifier: *u8
- params: *MOJOSHADER_astFunctionParameters
- storage_class: MOJOSHADER_astFunctionStorageClass
- semantic: *u8
:: struct
:: struct
- next: *MOJOSHADER_astStatement
- attributes: s32
- expr: *MOJOSHADER_astExpression
- statement: *MOJOSHADER_astStatement
- else_statement: *MOJOSHADER_astStatement
:: union
- generic: MOJOSHADER_astGeneric
- expression: MOJOSHADER_astExpression
- arguments: MOJOSHADER_astArguments
- binary: MOJOSHADER_astExpressionBinary
- ternary: MOJOSHADER_astExpressionTernary
- identifier: MOJOSHADER_astExpressionIdentifier
- intliteral: MOJOSHADER_astExpressionIntLiteral
- floatliteral: MOJOSHADER_astExpressionFloatLiteral
- stringliteral: MOJOSHADER_astExpressionStringLiteral
- boolliteral: MOJOSHADER_astExpressionBooleanLiteral
- constructor: MOJOSHADER_astExpressionConstructor
- derefstruct: MOJOSHADER_astExpressionDerefStruct
- callfunc: MOJOSHADER_astExpressionCallFunction
- _cast: MOJOSHADER_astExpressionCast
- compunit: MOJOSHADER_astCompilationUnit
- params: MOJOSHADER_astFunctionParameters
- funcsig: MOJOSHADER_astFunctionSignature
- annotations: MOJOSHADER_astAnnotations
- packoffset: MOJOSHADER_astPackOffset
- varlowlevel: MOJOSHADER_astVariableLowLevel
- structmembers: MOJOSHADER_astStructMembers
- structdecl: MOJOSHADER_astStructDeclaration
- vardecl: MOJOSHADER_astVariableDeclaration
- stmt: MOJOSHADER_astStatement
- emptystmt: MOJOSHADER_astEmptyStatement
- breakstmt: MOJOSHADER_astBreakStatement
- contstmt: MOJOSHADER_astContinueStatement
- discardstmt: MOJOSHADER_astDiscardStatement
- blockstmt: MOJOSHADER_astBlockStatement
- returnstmt: MOJOSHADER_astReturnStatement
- exprstmt: MOJOSHADER_astExpressionStatement
- ifstmt: MOJOSHADER_astIfStatement
- cases: MOJOSHADER_astSwitchCases
- switchstmt: MOJOSHADER_astSwitchStatement
- whilestmt: MOJOSHADER_astWhileStatement
- dostmt: MOJOSHADER_astDoStatement
- forstmt: MOJOSHADER_astForStatement
- typdef: MOJOSHADER_astTypedef
- typedefstmt: MOJOSHADER_astTypedefStatement
- vardeclstmt: MOJOSHADER_astVarDeclStatement
- structstmt: MOJOSHADER_astStructStatement
- funcunit: MOJOSHADER_astCompilationUnitFunction
- typedefunit: MOJOSHADER_astCompilationUnitTypedef
- structunit: MOJOSHADER_astCompilationUnitStruct
:: struct
- type: MOJOSHADER_astNodeType
- filename: *u8
- line: u32
:: struct
- ident1: *u8
- ident2: *u8
:: struct
- next: *MOJOSHADER_astStatement
- expr: *MOJOSHADER_astExpression
:: struct
- identifier: *u8
- isarray: s32
- dimension: *MOJOSHADER_astExpression
:: struct
- next: *MOJOSHADER_astStatement
:: struct
- datatype: *MOJOSHADER_astDataType
- name: *u8
- members: *MOJOSHADER_astStructMembers
:: struct
- datatype: *MOJOSHADER_astDataType
- semantic: *u8
- details: *MOJOSHADER_astScalarOrArray
- interpolation_mod: MOJOSHADER_astInterpolationModifier
- next: *MOJOSHADER_astStructMembers
:: struct
- next: *MOJOSHADER_astStatement
- struct_info: *MOJOSHADER_astStructDeclaration
:: struct
- expr: *MOJOSHADER_astExpression
- statement: *MOJOSHADER_astStatement
- next: *MOJOSHADER_astSwitchCases
:: struct
- next: *MOJOSHADER_astStatement
- attributes: s32
- expr: *MOJOSHADER_astExpression
- cases: *MOJOSHADER_astSwitchCases
:: struct
- datatype: *MOJOSHADER_astDataType
- isconst: s32
- details: *MOJOSHADER_astScalarOrArray
:: struct
- next: *MOJOSHADER_astStatement
- _type_info: *MOJOSHADER_astTypedef
:: struct
- next: *MOJOSHADER_astStatement
- declaration: *MOJOSHADER_astVariableDeclaration
:: struct
- attributes: s32
- datatype: *MOJOSHADER_astDataType
- anonymous_datatype: *MOJOSHADER_astStructDeclaration
- details: *MOJOSHADER_astScalarOrArray
- semantic: *u8
- annotations: *MOJOSHADER_astAnnotations
- initializer: *MOJOSHADER_astExpression
- lowlevel: *MOJOSHADER_astVariableLowLevel
:: struct
- packoffset: *MOJOSHADER_astPackOffset
- register_name: *u8
:: struct
- next: *MOJOSHADER_astStatement
- unroll: s32
- expr: *MOJOSHADER_astExpression
- statement: *MOJOSHADER_astStatement
:: struct
- usage: MOJOSHADER_usage
- index: s32
- name: *u8
:: struct
- error_count: s32
- errors: *MOJOSHADER_error
- warning_count: s32
- warnings: *MOJOSHADER_error
- source_profile: *u8
- output: *u8
- output_len: s32
- symbol_count: s32
- symbols: *MOJOSHADER_symbol
- malloc: MOJOSHADER_malloc
- free: MOJOSHADER_free
- malloc_data: *void
:: struct
- type: MOJOSHADER_uniformType
- index: s32
- value: union { f: [4] float32; i: [4] s32; b: s32; }
:: struct
- error: *u8
- filename: *u8
- error_position: s32
:: struct
:: struct
:: struct
:: struct
- info: MOJOSHADER_irExprInfo
- array: *MOJOSHADER_irExpression
- element: *MOJOSHADER_irExpression
:: struct
- info: MOJOSHADER_irExprInfo
- op: MOJOSHADER_irBinOpType
- left: *MOJOSHADER_irExpression
- right: *MOJOSHADER_irExpression
:: struct
- info: MOJOSHADER_irExprInfo
- index: s32
- args: *MOJOSHADER_irExprList
:: struct
- cond: MOJOSHADER_irConditionType
- left: *MOJOSHADER_irExpression
- right: *MOJOSHADER_irExpression
- iftrue: s32
- iffalse: s32
:: struct
- info: MOJOSHADER_irExprInfo
- value: anon_struct_10
:: struct
- info: MOJOSHADER_irExprInfo
- args: *MOJOSHADER_irExprList
:: struct
- info: MOJOSHADER_irExprInfo
- expr: *MOJOSHADER_irExpression
:: struct
- info: MOJOSHADER_irExprInfo
- stmt: *MOJOSHADER_irStatement
- expr: *MOJOSHADER_irExpression
:: union
- info: MOJOSHADER_irExprInfo
- constant: MOJOSHADER_irConstant
- temp: MOJOSHADER_irTemp
- binop: MOJOSHADER_irBinOp
- memory: MOJOSHADER_irMemory
- call: MOJOSHADER_irCall
- eseq: MOJOSHADER_irESeq
- array: MOJOSHADER_irArray
- convert: MOJOSHADER_irConvert
- swizzle: MOJOSHADER_irSwizzle
- construct: MOJOSHADER_irConstruct
:: struct
- type: MOJOSHADER_astDataTypeType
- elements: s32
:: struct
- expr: *MOJOSHADER_irExpression
- next: *MOJOSHADER_irExprList
:: struct
- expr: *MOJOSHADER_irExpression
:: struct
:: struct
- label: s32
:: struct
- index: s32
:: struct
- info: MOJOSHADER_irExprInfo
- index: s32
:: union
- generic: MOJOSHADER_irGeneric
- exprlist: MOJOSHADER_irExprList
:: struct
- dst: *MOJOSHADER_irExpression
- src: *MOJOSHADER_irExpression
- writemask: s32
:: union
- generic: MOJOSHADER_irGeneric
- expr: MOJOSHADER_irExpression
- stmt: MOJOSHADER_irStatement
- misc: MOJOSHADER_irMisc
:: struct
- type: MOJOSHADER_irNodeType
- filename: *u8
- line: u32
:: struct
- first: *MOJOSHADER_irStatement
- next: *MOJOSHADER_irStatement
:: union
- generic: MOJOSHADER_irGeneric
- move: MOJOSHADER_irMove
- expr: MOJOSHADER_irExprStmt
- jump: MOJOSHADER_irJump
- cjump: MOJOSHADER_irCJump
- seq: MOJOSHADER_irSeq
- label: MOJOSHADER_irLabel
- discard: MOJOSHADER_irDiscard
:: struct
- info: MOJOSHADER_irExprInfo
- expr: *MOJOSHADER_irExpression
- channels: [4] u8
:: struct
- info: MOJOSHADER_irExprInfo
- index: s32
:: struct
- error_count: s32
- errors: *MOJOSHADER_error
- profile: *u8
- output: *u8
- output_len: s32
- instruction_count: s32
- shader_type: MOJOSHADER_shaderType
- major_ver: s32
- minor_ver: s32
- mainfn: *u8
- uniform_count: s32
- uniforms: *MOJOSHADER_uniform
- constant_count: s32
- constants: *MOJOSHADER_constant
- sampler_count: s32
- samplers: *MOJOSHADER_sampler
- attribute_count: s32
- attributes: *MOJOSHADER_attribute
- output_count: s32
- outputs: *MOJOSHADER_attribute
- swizzle_count: s32
- swizzles: *MOJOSHADER_swizzle
- symbol_count: s32
- symbols: *MOJOSHADER_symbol
- preshader: *MOJOSHADER_preshader
- malloc: MOJOSHADER_malloc
- free: MOJOSHADER_free
- malloc_data: *void
:: struct
- error_count: s32
- errors: *MOJOSHADER_error
- output: *u8
- output_len: s32
- malloc: MOJOSHADER_malloc
- free: MOJOSHADER_free
- malloc_data: *void
:: struct
- identifier: *u8
- definition: *u8
:: struct
- literal_count: u32
- literals: *float64
- temp_count: u32
- symbol_count: u32
- symbols: *MOJOSHADER_symbol
- instruction_count: u32
- instructions: *MOJOSHADER_preshaderInstruction
- register_count: u32
- registers: *float32
- malloc: MOJOSHADER_malloc
- free: MOJOSHADER_free
- malloc_data: *void
:: struct
- opcode: MOJOSHADER_preshaderOpcode
- element_count: u32
- operand_count: u32
- operands: [4] MOJOSHADER_preshaderOperand
:: struct
- type: MOJOSHADER_preshaderOperandType
- index: u32
- array_register_count: u32
- array_registers: *u32
:: struct
- type: MOJOSHADER_samplerType
- index: s32
- name: *u8
- texbem: s32
:: struct
- index: s32
- type: MOJOSHADER_samplerType
:: struct
- usage: MOJOSHADER_usage
- index: u32
- swizzles: [4] u8
:: struct
- name: *u8
- register_set: MOJOSHADER_symbolRegisterSet
- register_index: u32
- register_count: u32
:: struct
- name: *u8
:: struct
- parameter_class: MOJOSHADER_symbolClass
- parameter_type: MOJOSHADER_symbolType
- rows: u32
- columns: u32
- elements: u32
- member_count: u32
- members: *MOJOSHADER_symbolStructMember
:: struct
- type: MOJOSHADER_uniformType
- index: s32
- array_count: s32
- constant: s32
- name: *u8
:: #type (a0: *void, a1: *void) -> void #c_call
:: #type (a0: *u8, a1: *void) -> *void #c_call
:: #type (a0: MOJOSHADER_includeType, a1: *u8, a2: *u8, a3: **u8, a4: *u32, a5: MOJOSHADER_malloc, a6: MOJOSHADER_free, a7: *void) -> s32 #c_call
:: #type (a0: s32, a1: *void) -> *void #c_call
:: struct
- next: *MOJOSHADER_astStatement
:: struct
- next: *MOJOSHADER_astStatement
:: struct
- type: MOJOSHADER_astDataTypeType
- base: *MOJOSHADER_astDataType
- elements: s32
:: struct
- next: *MOJOSHADER_astStatement
:: struct
- next: *MOJOSHADER_astStatement
- unroll: s32
- expr: *MOJOSHADER_astExpression
- statement: *MOJOSHADER_astStatement
:: struct
- next: *MOJOSHADER_astStatement
:: struct