Replace parameter_type enum in program.[ch], use register_file enums instead.
This commit is contained in:
@@ -1723,20 +1723,23 @@ struct atifs_machine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Names of the various vertex/fragment register files
|
* Names of the various vertex/fragment program register files, etc.
|
||||||
|
* NOTE: first four tokens must fit into 2 bits (see t_vb_arbprogram.c)
|
||||||
|
* All values should fit in a 4-bit field.
|
||||||
*/
|
*/
|
||||||
enum register_file
|
enum register_file
|
||||||
{
|
{
|
||||||
PROGRAM_TEMPORARY,
|
PROGRAM_TEMPORARY = 0,
|
||||||
PROGRAM_INPUT,
|
PROGRAM_LOCAL_PARAM = 1,
|
||||||
PROGRAM_OUTPUT,
|
PROGRAM_ENV_PARAM = 2,
|
||||||
PROGRAM_LOCAL_PARAM,
|
PROGRAM_STATE_VAR = 3,
|
||||||
PROGRAM_ENV_PARAM,
|
PROGRAM_INPUT = 4,
|
||||||
PROGRAM_NAMED_PARAM,
|
PROGRAM_OUTPUT = 5,
|
||||||
PROGRAM_STATE_VAR,
|
PROGRAM_NAMED_PARAM = 6,
|
||||||
PROGRAM_WRITE_ONLY,
|
PROGRAM_CONSTANT = 7,
|
||||||
PROGRAM_ADDRESS,
|
PROGRAM_WRITE_ONLY = 8,
|
||||||
PROGRAM_UNDEFINED /* invalid value */
|
PROGRAM_ADDRESS = 9,
|
||||||
|
PROGRAM_UNDEFINED = 15 /* invalid value */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1582,7 +1582,7 @@ PrintSrcReg(const struct fragment_program *program,
|
|||||||
_mesa_printf("-");
|
_mesa_printf("-");
|
||||||
}
|
}
|
||||||
if (src->File == PROGRAM_NAMED_PARAM) {
|
if (src->File == PROGRAM_NAMED_PARAM) {
|
||||||
if (program->Parameters->Parameters[src->Index].Type == CONSTANT) {
|
if (program->Parameters->Parameters[src->Index].Type == PROGRAM_CONSTANT) {
|
||||||
_mesa_printf("{%g, %g, %g, %g}",
|
_mesa_printf("{%g, %g, %g, %g}",
|
||||||
program->Parameters->ParameterValues[src->Index][0],
|
program->Parameters->ParameterValues[src->Index][0],
|
||||||
program->Parameters->ParameterValues[src->Index][1],
|
program->Parameters->ParameterValues[src->Index][1],
|
||||||
@@ -1591,7 +1591,7 @@ PrintSrcReg(const struct fragment_program *program,
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ASSERT(program->Parameters->Parameters[src->Index].Type
|
ASSERT(program->Parameters->Parameters[src->Index].Type
|
||||||
== NAMED_PARAMETER);
|
== PROGRAM_NAMED_PARAM);
|
||||||
_mesa_printf("%s", program->Parameters->Parameters[src->Index].Name);
|
_mesa_printf("%s", program->Parameters->Parameters[src->Index].Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -388,7 +388,7 @@ _mesa_free_parameters(struct program_parameter_list *paramList)
|
|||||||
static GLint
|
static GLint
|
||||||
add_parameter(struct program_parameter_list *paramList,
|
add_parameter(struct program_parameter_list *paramList,
|
||||||
const char *name, const GLfloat values[4],
|
const char *name, const GLfloat values[4],
|
||||||
enum parameter_type type)
|
enum register_file type)
|
||||||
{
|
{
|
||||||
const GLuint n = paramList->NumParameters;
|
const GLuint n = paramList->NumParameters;
|
||||||
|
|
||||||
@@ -443,7 +443,7 @@ GLint
|
|||||||
_mesa_add_named_parameter(struct program_parameter_list *paramList,
|
_mesa_add_named_parameter(struct program_parameter_list *paramList,
|
||||||
const char *name, const GLfloat values[4])
|
const char *name, const GLfloat values[4])
|
||||||
{
|
{
|
||||||
return add_parameter(paramList, name, values, NAMED_PARAMETER);
|
return add_parameter(paramList, name, values, PROGRAM_NAMED_PARAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -457,7 +457,7 @@ GLint
|
|||||||
_mesa_add_named_constant(struct program_parameter_list *paramList,
|
_mesa_add_named_constant(struct program_parameter_list *paramList,
|
||||||
const char *name, const GLfloat values[4])
|
const char *name, const GLfloat values[4])
|
||||||
{
|
{
|
||||||
return add_parameter(paramList, name, values, CONSTANT);
|
return add_parameter(paramList, name, values, PROGRAM_CONSTANT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -471,7 +471,7 @@ GLint
|
|||||||
_mesa_add_unnamed_constant(struct program_parameter_list *paramList,
|
_mesa_add_unnamed_constant(struct program_parameter_list *paramList,
|
||||||
const GLfloat values[4])
|
const GLfloat values[4])
|
||||||
{
|
{
|
||||||
return add_parameter(paramList, NULL, values, CONSTANT);
|
return add_parameter(paramList, NULL, values, PROGRAM_CONSTANT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -491,7 +491,7 @@ _mesa_add_state_reference(struct program_parameter_list *paramList,
|
|||||||
*/
|
*/
|
||||||
GLint index;
|
GLint index;
|
||||||
|
|
||||||
index = add_parameter(paramList, NULL, NULL, STATE);
|
index = add_parameter(paramList, NULL, NULL, PROGRAM_STATE_VAR);
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
GLuint i;
|
GLuint i;
|
||||||
for (i = 0; i < 6; i++)
|
for (i = 0; i < 6; i++)
|
||||||
@@ -953,7 +953,7 @@ _mesa_load_state_parameters(GLcontext *ctx,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = 0; i < paramList->NumParameters; i++) {
|
for (i = 0; i < paramList->NumParameters; i++) {
|
||||||
if (paramList->Parameters[i].Type == STATE) {
|
if (paramList->Parameters[i].Type == PROGRAM_STATE_VAR) {
|
||||||
_mesa_fetch_state(ctx,
|
_mesa_fetch_state(ctx,
|
||||||
paramList->Parameters[i].StateIndexes,
|
paramList->Parameters[i].StateIndexes,
|
||||||
paramList->ParameterValues[i]);
|
paramList->ParameterValues[i]);
|
||||||
|
@@ -190,35 +190,26 @@ enum state_index {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Named program parameters
|
* Named program parameters
|
||||||
* Used for NV_fragment_program "DEFINE"d constants and "DECLARE"d parameters,
|
* Used for NV_fragment_program "DEFINE"d constants and "DECLARE"d parameters,
|
||||||
* and ARB_fragment_program global state references. For the later, Name
|
* and ARB_fragment_program global state references. For the later, Name
|
||||||
* might be "state.light[0].diffuse", for example.
|
* might be "state.light[0].diffuse", for example.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
enum parameter_type
|
|
||||||
{
|
|
||||||
NAMED_PARAMETER,
|
|
||||||
CONSTANT,
|
|
||||||
STATE
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct program_parameter
|
struct program_parameter
|
||||||
{
|
{
|
||||||
const char *Name; /* Null-terminated */
|
const char *Name; /* Null-terminated */
|
||||||
enum parameter_type Type;
|
enum register_file Type; /** PROGRAM_NAMED_PARAM, CONSTANT or STATE_VAR */
|
||||||
enum state_index StateIndexes[6]; /* Global state reference */
|
enum state_index StateIndexes[6]; /* Global state reference */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct program_parameter_list
|
struct program_parameter_list
|
||||||
{
|
{
|
||||||
GLuint Size;
|
GLuint Size; /** allocated size of Parameters, ParameterValues */
|
||||||
GLuint NumParameters;
|
GLuint NumParameters; /** number of parameters in arrays */
|
||||||
struct program_parameter *Parameters;
|
struct program_parameter *Parameters; /** Array [Size] */
|
||||||
GLfloat (*ParameterValues)[4];
|
GLfloat (*ParameterValues)[4]; /** Array [Size] */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user