ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

slang_emit.c File Reference
#include "main/imports.h"
#include "main/context.h"
#include "main/macros.h"
#include "shader/program.h"
#include "shader/prog_instruction.h"
#include "shader/prog_parameter.h"
#include "shader/prog_print.h"
#include "slang_builtin.h"
#include "slang_emit.h"
#include "slang_mem.h"

Go to the source code of this file.

Data Structures

struct  slang_emit_info

Defines

#define PEEPHOLE_OPTIMIZATIONS   1
#define ANNOTATE   0

Functions

static struct gl_programnew_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_instructionnew_instruction (slang_emit_info *emitInfo, gl_inst_opcode opcode)
static struct prog_instructionemit_arl_load (slang_emit_info *emitInfo, enum register_file file, GLint index, GLuint swizzle)
static struct prog_instructionemit_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_instructionprev_instruction (slang_emit_info *emitInfo)
static struct prog_instructionemit (slang_emit_info *emitInfo, slang_ir_node *n)
static charstorage_annotation (const slang_ir_node *n, const struct gl_program *prog)
static charinstruction_annotation (gl_inst_opcode opcode, char *dstAnnot, char *srcAnnot0, char *srcAnnot1, char *srcAnnot2)
static struct prog_instructionemit_comment (slang_emit_info *emitInfo, const char *comment)
static struct prog_instructionemit_arith (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_compare (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_clamp (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_negation (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_label (slang_emit_info *emitInfo, const slang_ir_node *n)
static struct prog_instructionemit_fcall (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_return (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_kill (slang_emit_info *emitInfo)
static struct prog_instructionemit_tex (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_copy (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_cond (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_not (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_if (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_loop (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_cont_break (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_cont_break_if_true (slang_emit_info *emitInfo, slang_ir_node *n)
static GLuint swizzle_size (GLuint swizzle)
static struct prog_instructionemit_swizzle (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_array_element (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_struct_field (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_var_decl (slang_emit_info *emitInfo, slang_ir_node *n)
static struct prog_instructionemit_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)

Detailed Description

Emit program instructions (PI code) from IR trees.

Author:
Brian Paul

Definition in file slang_emit.c.


Generated on Sun May 27 2012 04:59:32 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.