瀏覽代碼

mesa: Move _mesa_GetActiveAttribARB to shader_query.cpp

This just folds get_active_attrib into _mesa_GetActiveAttribARB
and moves the resulting function function to the other source file.
More changes are coming soon.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
tags/mesa-8.0-rc1
Ian Romanick 14 年之前
父節點
當前提交
7a80c1bbc5
共有 2 個檔案被更改,包括 32 行新增42 行删除
  1. 32
    0
      src/mesa/main/shader_query.cpp
  2. 0
    42
      src/mesa/main/shaderapi.c

+ 32
- 0
src/mesa/main/shader_query.cpp 查看文件

@@ -84,6 +84,38 @@ _mesa_BindAttribLocationARB(GLhandleARB program, GLuint index,
*/
}

void GLAPIENTRY
_mesa_GetActiveAttribARB(GLhandleARB program, GLuint index,
GLsizei maxLength, GLsizei * length, GLint * size,
GLenum * type, GLcharARB * name)
{
GET_CURRENT_CONTEXT(ctx);
const struct gl_program_parameter_list *attribs = NULL;
struct gl_shader_program *shProg;

shProg = _mesa_lookup_shader_program_err(ctx, program, "glGetActiveAttrib");
if (!shProg)
return;

if (shProg->VertexProgram)
attribs = shProg->VertexProgram->Base.Attributes;

if (!attribs || index >= attribs->NumParameters) {
_mesa_error(ctx, GL_INVALID_VALUE, "glGetActiveAttrib(index)");
return;
}

_mesa_copy_string(name, maxLength, length,
attribs->Parameters[index].Name);

if (size)
*size = attribs->Parameters[index].Size
/ _mesa_sizeof_glsl_type(attribs->Parameters[index].DataType);

if (type)
*type = attribs->Parameters[index].DataType;
}

GLint GLAPIENTRY
_mesa_GetAttribLocationARB(GLhandleARB program, const GLcharARB * name)
{

+ 0
- 42
src/mesa/main/shaderapi.c 查看文件

@@ -481,38 +481,6 @@ detach_shader(struct gl_context *ctx, GLuint program, GLuint shader)
}


static void
get_active_attrib(struct gl_context *ctx, GLuint program, GLuint index,
GLsizei maxLength, GLsizei *length, GLint *size,
GLenum *type, GLchar *nameOut)
{
const struct gl_program_parameter_list *attribs = NULL;
struct gl_shader_program *shProg;

shProg = _mesa_lookup_shader_program_err(ctx, program, "glGetActiveAttrib");
if (!shProg)
return;

if (shProg->VertexProgram)
attribs = shProg->VertexProgram->Base.Attributes;

if (!attribs || index >= attribs->NumParameters) {
_mesa_error(ctx, GL_INVALID_VALUE, "glGetActiveAttrib(index)");
return;
}

_mesa_copy_string(nameOut, maxLength, length,
attribs->Parameters[index].Name);

if (size)
*size = attribs->Parameters[index].Size
/ _mesa_sizeof_glsl_type(attribs->Parameters[index].DataType);

if (type)
*type = attribs->Parameters[index].DataType;
}


/**
* Return list of shaders attached to shader program.
*/
@@ -1203,16 +1171,6 @@ _mesa_DetachShader(GLuint program, GLuint shader)
}


void GLAPIENTRY
_mesa_GetActiveAttribARB(GLhandleARB program, GLuint index,
GLsizei maxLength, GLsizei * length, GLint * size,
GLenum * type, GLcharARB * name)
{
GET_CURRENT_CONTEXT(ctx);
get_active_attrib(ctx, program, index, maxLength, length, size, type, name);
}


void GLAPIENTRY
_mesa_GetAttachedObjectsARB(GLhandleARB container, GLsizei maxCount,
GLsizei * count, GLhandleARB * obj)

Loading…
取消
儲存