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_ir_storage Struct Reference

#include <slang_ir.h>

Data Fields

enum register_file File
GLint Index
GLint Size
GLuint Swizzle
GLint RefCount
GLboolean RelAddr
GLboolean IsIndirect
enum register_file IndirectFile
GLint IndirectIndex
GLuint IndirectSwizzle
GLuint TexTarget
struct slang_ir_storage_Parent

Detailed Description

Describes where data/variables are stored in the various register files.

In the simple case, the File, Index and Size fields indicate where a variable is stored. For example, a vec3 variable may be stored as (File=PROGRAM_TEMPORARY, Index=6, Size=3). Or, File[Index]. Or, a program input like color may be stored as (File=PROGRAM_INPUT,Index=3,Size=4);

For single-float values, the Swizzle field indicates which component of the vector contains the float.

If IsIndirect is set, the storage is accessed through an indirect register lookup. The value in question will be located at: File[Index + IndirectFile[IndirectIndex]]

This is primary used for indexing arrays. For example, consider this GLSL code: uniform int i; float a[10]; float x = a[i];

here, storage for a[i] would be described by (File=PROGRAM_TEMPORAY, Index=aPos, IndirectFile=PROGRAM_UNIFORM, IndirectIndex=iPos), which would mean TEMP[aPos + UNIFORM[iPos]]

Definition at line 168 of file slang_ir.h.


The documentation for this struct was generated from the following file:

Generated on Fri May 25 2012 06:41:21 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.