Data Structures |
| struct | slang_emit_info |
Defines |
| #define | PEEPHOLE_OPTIMIZATIONS 1 |
| #define | ANNOTATE 0 |
Functions |
| static struct gl_program * | new_subroutine (slang_emit_info *emitInfo, GLuint *id) |
| static GLuint | writemask_to_swizzle (GLuint writemask) |
| static GLuint | swizzle_to_writemask (GLuint swizzle) |
| GLuint | _slang_swizzle_swizzle (GLuint swz1, GLuint swz2) |
| GLuint | _slang_var_swizzle (GLint size, GLint comp) |
| static GLboolean | alloc_node_storage (slang_emit_info *emitInfo, slang_ir_node *n, GLint defaultSize) |
| static void | free_node_storage (slang_var_table *vt, slang_ir_node *n) |
| static GLboolean | alloc_local_temp (slang_emit_info *emitInfo, slang_ir_storage *temp, GLint size) |
| static GLuint | fix_swizzle (GLuint swizzle) |
| static void | storage_to_dst_reg (struct prog_dst_register *dst, const slang_ir_storage *st) |
| static void | storage_to_src_reg (struct prog_src_register *src, const slang_ir_storage *st) |
| static void | constant_to_storage (slang_emit_info *emitInfo, GLfloat val, slang_ir_storage *store) |
| static struct prog_instruction * | new_instruction (slang_emit_info *emitInfo, gl_inst_opcode opcode) |
| static struct prog_instruction * | emit_arl_load (slang_emit_info *emitInfo, enum register_file file, GLint index, GLuint swizzle) |
| static struct prog_instruction * | emit_instruction (slang_emit_info *emitInfo, gl_inst_opcode opcode, const slang_ir_storage *dst, const slang_ir_storage *src0, const slang_ir_storage *src1, const slang_ir_storage *src2) |
| static void | inst_comment (struct prog_instruction *inst, const char *comment) |
| static struct prog_instruction * | prev_instruction (slang_emit_info *emitInfo) |
| static struct prog_instruction * | emit (slang_emit_info *emitInfo, slang_ir_node *n) |
| static char * | storage_annotation (const slang_ir_node *n, const struct gl_program *prog) |
| static char * | instruction_annotation (gl_inst_opcode opcode, char *dstAnnot, char *srcAnnot0, char *srcAnnot1, char *srcAnnot2) |
| static struct prog_instruction * | emit_comment (slang_emit_info *emitInfo, const char *comment) |
| static struct prog_instruction * | emit_arith (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_compare (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_clamp (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_negation (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_label (slang_emit_info *emitInfo, const slang_ir_node *n) |
| static struct prog_instruction * | emit_fcall (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_return (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_kill (slang_emit_info *emitInfo) |
| static struct prog_instruction * | emit_tex (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_copy (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_cond (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_not (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_if (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_loop (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_cont_break (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_cont_break_if_true (slang_emit_info *emitInfo, slang_ir_node *n) |
| static GLuint | swizzle_size (GLuint swizzle) |
| static struct prog_instruction * | emit_swizzle (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_array_element (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_struct_field (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_var_decl (slang_emit_info *emitInfo, slang_ir_node *n) |
| static struct prog_instruction * | emit_var_ref (slang_emit_info *emitInfo, slang_ir_node *n) |
| static void | _slang_resolve_subroutines (slang_emit_info *emitInfo) |
| GLboolean | _slang_emit_code (slang_ir_node *n, slang_var_table *vt, struct gl_program *prog, const struct gl_sl_pragmas *pragmas, GLboolean withEnd, slang_info_log *log) |
Emit program instructions (PI code) from IR trees.
- Author:
- Brian Paul
Definition in file slang_emit.c.