program: remove other unused functions
Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -659,140 +659,6 @@ _mesa_find_free_register(const GLboolean used[],
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Check if the given register index is valid (doesn't exceed implementation-
|
||||
* dependent limits).
|
||||
* \return GL_TRUE if OK, GL_FALSE if bad index
|
||||
*/
|
||||
GLboolean
|
||||
_mesa_valid_register_index(const struct gl_context *ctx,
|
||||
gl_shader_stage shaderType,
|
||||
gl_register_file file, GLint index)
|
||||
{
|
||||
const struct gl_program_constants *c;
|
||||
|
||||
assert(0 <= shaderType && shaderType < MESA_SHADER_STAGES);
|
||||
c = &ctx->Const.Program[shaderType];
|
||||
|
||||
switch (file) {
|
||||
case PROGRAM_UNDEFINED:
|
||||
return GL_TRUE; /* XXX or maybe false? */
|
||||
|
||||
case PROGRAM_TEMPORARY:
|
||||
return index >= 0 && index < (GLint) c->MaxTemps;
|
||||
|
||||
case PROGRAM_UNIFORM:
|
||||
case PROGRAM_STATE_VAR:
|
||||
/* aka constant buffer */
|
||||
return index >= 0 && index < (GLint) c->MaxUniformComponents / 4;
|
||||
|
||||
case PROGRAM_CONSTANT:
|
||||
/* constant buffer w/ possible relative negative addressing */
|
||||
return (index > (int) c->MaxUniformComponents / -4 &&
|
||||
index < (int) c->MaxUniformComponents / 4);
|
||||
|
||||
case PROGRAM_INPUT:
|
||||
if (index < 0)
|
||||
return GL_FALSE;
|
||||
|
||||
switch (shaderType) {
|
||||
case MESA_SHADER_VERTEX:
|
||||
return index < VERT_ATTRIB_GENERIC0 + (GLint) c->MaxAttribs;
|
||||
case MESA_SHADER_FRAGMENT:
|
||||
return index < VARYING_SLOT_VAR0 + (GLint) ctx->Const.MaxVarying;
|
||||
case MESA_SHADER_GEOMETRY:
|
||||
return index < VARYING_SLOT_VAR0 + (GLint) ctx->Const.MaxVarying;
|
||||
default:
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
case PROGRAM_OUTPUT:
|
||||
if (index < 0)
|
||||
return GL_FALSE;
|
||||
|
||||
switch (shaderType) {
|
||||
case MESA_SHADER_VERTEX:
|
||||
return index < VARYING_SLOT_VAR0 + (GLint) ctx->Const.MaxVarying;
|
||||
case MESA_SHADER_FRAGMENT:
|
||||
return index < FRAG_RESULT_DATA0 + (GLint) ctx->Const.MaxDrawBuffers;
|
||||
case MESA_SHADER_GEOMETRY:
|
||||
return index < VARYING_SLOT_VAR0 + (GLint) ctx->Const.MaxVarying;
|
||||
default:
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
case PROGRAM_ADDRESS:
|
||||
return index >= 0 && index < (GLint) c->MaxAddressRegs;
|
||||
|
||||
default:
|
||||
_mesa_problem(ctx,
|
||||
"unexpected register file in _mesa_valid_register_index()");
|
||||
return GL_FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* "Post-process" a GPU program. This is intended to be used for debugging.
|
||||
* Example actions include no-op'ing instructions or changing instruction
|
||||
* behaviour.
|
||||
*/
|
||||
void
|
||||
_mesa_postprocess_program(struct gl_context *ctx, struct gl_program *prog)
|
||||
{
|
||||
static const GLfloat white[4] = { 0.5, 0.5, 0.5, 0.5 };
|
||||
GLuint i;
|
||||
GLuint whiteSwizzle;
|
||||
GLint whiteIndex = _mesa_add_unnamed_constant(prog->Parameters,
|
||||
(gl_constant_value *) white,
|
||||
4, &whiteSwizzle);
|
||||
|
||||
(void) whiteIndex;
|
||||
|
||||
for (i = 0; i < prog->NumInstructions; i++) {
|
||||
struct prog_instruction *inst = prog->Instructions + i;
|
||||
const GLuint n = _mesa_num_inst_src_regs(inst->Opcode);
|
||||
|
||||
(void) n;
|
||||
|
||||
if (_mesa_is_tex_instruction(inst->Opcode)) {
|
||||
#if 0
|
||||
/* replace TEX/TXP/TXB with MOV */
|
||||
inst->Opcode = OPCODE_MOV;
|
||||
inst->DstReg.WriteMask = WRITEMASK_XYZW;
|
||||
inst->SrcReg[0].Swizzle = SWIZZLE_XYZW;
|
||||
inst->SrcReg[0].Negate = NEGATE_NONE;
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* disable shadow texture mode */
|
||||
inst->TexShadow = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (inst->Opcode == OPCODE_TXP) {
|
||||
#if 0
|
||||
inst->Opcode = OPCODE_MOV;
|
||||
inst->DstReg.WriteMask = WRITEMASK_XYZW;
|
||||
inst->SrcReg[0].File = PROGRAM_CONSTANT;
|
||||
inst->SrcReg[0].Index = whiteIndex;
|
||||
inst->SrcReg[0].Swizzle = SWIZZLE_XYZW;
|
||||
inst->SrcReg[0].Negate = NEGATE_NONE;
|
||||
#endif
|
||||
#if 0
|
||||
inst->TexShadow = 0;
|
||||
#endif
|
||||
#if 0
|
||||
inst->Opcode = OPCODE_TEX;
|
||||
inst->TexShadow = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the minimum number of shader invocations per fragment.
|
||||
* This function is useful to determine if we need to do per
|
||||
* sample shading or per fragment shading.
|
||||
|
Reference in New Issue
Block a user