core | glapi | vbo | math | shader | swrast | swrast_setup | tnl | tnl_dd

prog_print.c File Reference


Detailed Description

Print vertex/fragment programs - for debugging.

Author:
Brian Paul

#include "main/glheader.h"
#include "main/context.h"
#include "main/imports.h"
#include "prog_instruction.h"
#include "prog_parameter.h"
#include "prog_print.h"
#include "prog_statevars.h"

Functions

static const char * file_string (gl_register_file f, gl_prog_print_mode mode)
 Return string name for given program/register file.
static const char * arb_input_attrib_string (GLint index, GLenum progType)
 Return ARB_v/f_prog-style input attrib string.
static const char * arb_output_attrib_string (GLint index, GLenum progType)
 Return ARB_v/f_prog-style output attrib string.
static const char * reg_string (gl_register_file f, GLint index, gl_prog_print_mode mode, GLboolean relAddr, const struct gl_program *prog)
 Return string representation of the given register.
const char * _mesa_swizzle_string (GLuint swizzle, GLuint negateMask, GLboolean extended)
 Return a string representation of the given swizzle word.
void _mesa_print_swizzle (GLuint swizzle)
const char * _mesa_writemask_string (GLuint writeMask)
const char * _mesa_condcode_string (GLuint condcode)
static void fprint_dst_reg (FILE *f, const struct prog_dst_register *dstReg, gl_prog_print_mode mode, const struct gl_program *prog)
static void fprint_src_reg (FILE *f, const struct prog_src_register *srcReg, gl_prog_print_mode mode, const struct gl_program *prog)
static void fprint_comment (FILE *f, const struct prog_instruction *inst)
static void fprint_alu_instruction (FILE *f, const struct prog_instruction *inst, const char *opcode_string, GLuint numRegs, gl_prog_print_mode mode, const struct gl_program *prog)
void _mesa_print_alu_instruction (const struct prog_instruction *inst, const char *opcode_string, GLuint numRegs)
GLint _mesa_fprint_instruction_opt (FILE *f, const struct prog_instruction *inst, GLint indent, gl_prog_print_mode mode, const struct gl_program *prog)
 Print a single vertex/fragment program instruction.
GLint _mesa_print_instruction_opt (const struct prog_instruction *inst, GLint indent, gl_prog_print_mode mode, const struct gl_program *prog)
void _mesa_print_instruction (const struct prog_instruction *inst)
void _mesa_fprint_program_opt (FILE *f, const struct gl_program *prog, gl_prog_print_mode mode, GLboolean lineNumbers)
 Print program, with options.
void _mesa_print_program (const struct gl_program *prog)
 Print program to stderr, default options.
static const char * binary (GLbitfield val)
 Return binary representation of value (as a string).
static void _mesa_fprint_program_parameters (FILE *f, GLcontext *ctx, const struct gl_program *prog)
 Print all of a program's parameters/fields to given file.
void _mesa_print_program_parameters (GLcontext *ctx, const struct gl_program *prog)
 Print all of a program's parameters/fields to stderr.
static void _mesa_fprint_parameter_list (FILE *f, const struct gl_program_parameter_list *list)
 Print a program parameter list to given file.
void _mesa_print_parameter_list (const struct gl_program_parameter_list *list)
 Print a program parameter list to stderr.
void _mesa_write_shader_to_file (const struct gl_shader *shader)
 Write shader and associated info to a file.
void _mesa_append_uniforms_to_file (const struct gl_shader *shader, const struct gl_program *prog)
 Append the shader's uniform info/values to the shader log file.


Function Documentation

void _mesa_append_uniforms_to_file ( const struct gl_shader shader,
const struct gl_program prog 
)

Append the shader's uniform info/values to the shader log file.

The log file will typically have been created by the _mesa_write_shader_to_file function.

const char* _mesa_condcode_string ( GLuint  condcode  ) 

GLint _mesa_fprint_instruction_opt ( FILE *  f,
const struct prog_instruction inst,
GLint  indent,
gl_prog_print_mode  mode,
const struct gl_program prog 
)

Print a single vertex/fragment program instruction.

static void _mesa_fprint_parameter_list ( FILE *  f,
const struct gl_program_parameter_list list 
) [static]

Print a program parameter list to given file.

void _mesa_fprint_program_opt ( FILE *  f,
const struct gl_program prog,
gl_prog_print_mode  mode,
GLboolean  lineNumbers 
)

Print program, with options.

static void _mesa_fprint_program_parameters ( FILE *  f,
GLcontext ctx,
const struct gl_program prog 
) [static]

Print all of a program's parameters/fields to given file.

void _mesa_print_alu_instruction ( const struct prog_instruction inst,
const char *  opcode_string,
GLuint  numRegs 
)

void _mesa_print_instruction ( const struct prog_instruction inst  ) 

GLint _mesa_print_instruction_opt ( const struct prog_instruction inst,
GLint  indent,
gl_prog_print_mode  mode,
const struct gl_program prog 
)

void _mesa_print_parameter_list ( const struct gl_program_parameter_list list  ) 

Print a program parameter list to stderr.

void _mesa_print_program ( const struct gl_program prog  ) 

Print program to stderr, default options.

void _mesa_print_program_parameters ( GLcontext ctx,
const struct gl_program prog 
)

Print all of a program's parameters/fields to stderr.

void _mesa_print_swizzle ( GLuint  swizzle  ) 

const char* _mesa_swizzle_string ( GLuint  swizzle,
GLuint  negateMask,
GLboolean  extended 
)

Return a string representation of the given swizzle word.

If extended is true, use extended (comma-separated) format.

Parameters:
swizzle the swizzle field
negateBase 4-bit negation vector
extended if true, also allow 0, 1 values

void _mesa_write_shader_to_file ( const struct gl_shader shader  ) 

Write shader and associated info to a file.

const char* _mesa_writemask_string ( GLuint  writeMask  ) 

static const char* arb_input_attrib_string ( GLint  index,
GLenum  progType 
) [static]

Return ARB_v/f_prog-style input attrib string.

static const char* arb_output_attrib_string ( GLint  index,
GLenum  progType 
) [static]

Return ARB_v/f_prog-style output attrib string.

static const char* binary ( GLbitfield  val  )  [static]

Return binary representation of value (as a string).

Insert a comma to separate each group of 8 bits. XXX move to imports.[ch] if useful elsewhere.

static const char* file_string ( gl_register_file  f,
gl_prog_print_mode  mode 
) [static]

Return string name for given program/register file.

static void fprint_alu_instruction ( FILE *  f,
const struct prog_instruction inst,
const char *  opcode_string,
GLuint  numRegs,
gl_prog_print_mode  mode,
const struct gl_program prog 
) [static]

static void fprint_comment ( FILE *  f,
const struct prog_instruction inst 
) [static]

static void fprint_dst_reg ( FILE *  f,
const struct prog_dst_register dstReg,
gl_prog_print_mode  mode,
const struct gl_program prog 
) [static]

static void fprint_src_reg ( FILE *  f,
const struct prog_src_register srcReg,
gl_prog_print_mode  mode,
const struct gl_program prog 
) [static]

static const char* reg_string ( gl_register_file  f,
GLint  index,
gl_prog_print_mode  mode,
GLboolean  relAddr,
const struct gl_program prog 
) [static]

Return string representation of the given register.

Note that some types of registers (like PROGRAM_UNIFORM) aren't defined by the ARB/NV program languages so we've taken some liberties here.

Parameters:
f the register file (PROGRAM_INPUT, PROGRAM_TEMPORARY, etc)
index number of the register in the register file
mode the output format/mode/style
prog pointer to containing program


Generated on Sun Sep 27 06:48:02 2009 for Mesa Vertex and Fragment Program code by  doxygen 1.5.4