mesa: remove Driver.DeleteShader
Nothing overrides it. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -2132,7 +2132,7 @@ link_intrastage_shaders(void *mem_ctx,
|
|||||||
|
|
||||||
|
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
ctx->Driver.DeleteShader(ctx, linked);
|
_mesa_delete_shader(ctx, linked);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3732,7 +3732,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
|
|||||||
|
|
||||||
for (unsigned int i = 0; i < MESA_SHADER_STAGES; i++) {
|
for (unsigned int i = 0; i < MESA_SHADER_STAGES; i++) {
|
||||||
if (prog->_LinkedShaders[i] != NULL)
|
if (prog->_LinkedShaders[i] != NULL)
|
||||||
ctx->Driver.DeleteShader(ctx, prog->_LinkedShaders[i]);
|
_mesa_delete_shader(ctx, prog->_LinkedShaders[i]);
|
||||||
|
|
||||||
prog->_LinkedShaders[i] = NULL;
|
prog->_LinkedShaders[i] = NULL;
|
||||||
}
|
}
|
||||||
@@ -3747,7 +3747,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
|
|||||||
|
|
||||||
if (!prog->LinkStatus) {
|
if (!prog->LinkStatus) {
|
||||||
if (sh)
|
if (sh)
|
||||||
ctx->Driver.DeleteShader(ctx, sh);
|
_mesa_delete_shader(ctx, sh);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3770,7 +3770,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
|
|||||||
}
|
}
|
||||||
if (!prog->LinkStatus) {
|
if (!prog->LinkStatus) {
|
||||||
if (sh)
|
if (sh)
|
||||||
ctx->Driver.DeleteShader(ctx, sh);
|
_mesa_delete_shader(ctx, sh);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -85,6 +85,14 @@ _mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type)
|
|||||||
return shader;
|
return shader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh)
|
||||||
|
{
|
||||||
|
free((void *)sh->Source);
|
||||||
|
free(sh->Label);
|
||||||
|
ralloc_free(sh);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_mesa_clear_shader_program_data(struct gl_shader_program *shProg)
|
_mesa_clear_shader_program_data(struct gl_shader_program *shProg)
|
||||||
{
|
{
|
||||||
|
@@ -44,6 +44,9 @@ _mesa_reference_shader(struct gl_context *ctx, struct gl_shader **ptr,
|
|||||||
extern "C" struct gl_shader *
|
extern "C" struct gl_shader *
|
||||||
_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
|
_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
|
||||||
|
|
||||||
|
extern "C" void
|
||||||
|
_mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh);
|
||||||
|
|
||||||
extern "C" void
|
extern "C" void
|
||||||
_mesa_clear_shader_program_data(struct gl_shader_program *);
|
_mesa_clear_shader_program_data(struct gl_shader_program *);
|
||||||
|
|
||||||
|
@@ -785,7 +785,6 @@ struct dd_function_table {
|
|||||||
/*@{*/
|
/*@{*/
|
||||||
struct gl_shader *(*NewShader)(struct gl_context *ctx,
|
struct gl_shader *(*NewShader)(struct gl_context *ctx,
|
||||||
GLuint name, GLenum type);
|
GLuint name, GLenum type);
|
||||||
void (*DeleteShader)(struct gl_context *ctx, struct gl_shader *shader);
|
|
||||||
struct gl_shader_program *(*NewShaderProgram)(GLuint name);
|
struct gl_shader_program *(*NewShaderProgram)(GLuint name);
|
||||||
void (*DeleteShaderProgram)(struct gl_context *ctx,
|
void (*DeleteShaderProgram)(struct gl_context *ctx,
|
||||||
struct gl_shader_program *shProg);
|
struct gl_shader_program *shProg);
|
||||||
|
@@ -74,7 +74,7 @@ _mesa_reference_shader(struct gl_context *ctx, struct gl_shader **ptr,
|
|||||||
if (deleteFlag) {
|
if (deleteFlag) {
|
||||||
if (old->Name != 0)
|
if (old->Name != 0)
|
||||||
_mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name);
|
_mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name);
|
||||||
ctx->Driver.DeleteShader(ctx, old);
|
_mesa_delete_shader(ctx, old);
|
||||||
}
|
}
|
||||||
|
|
||||||
*ptr = NULL;
|
*ptr = NULL;
|
||||||
@@ -116,9 +116,8 @@ _mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a shader object.
|
* Delete a shader object.
|
||||||
* Called via ctx->Driver.DeleteShader().
|
|
||||||
*/
|
*/
|
||||||
static void
|
void
|
||||||
_mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh)
|
_mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh)
|
||||||
{
|
{
|
||||||
free((void *)sh->Source);
|
free((void *)sh->Source);
|
||||||
@@ -362,7 +361,7 @@ _mesa_free_shader_program_data(struct gl_context *ctx,
|
|||||||
|
|
||||||
for (sh = 0; sh < MESA_SHADER_STAGES; sh++) {
|
for (sh = 0; sh < MESA_SHADER_STAGES; sh++) {
|
||||||
if (shProg->_LinkedShaders[sh] != NULL) {
|
if (shProg->_LinkedShaders[sh] != NULL) {
|
||||||
ctx->Driver.DeleteShader(ctx, shProg->_LinkedShaders[sh]);
|
_mesa_delete_shader(ctx, shProg->_LinkedShaders[sh]);
|
||||||
shProg->_LinkedShaders[sh] = NULL;
|
shProg->_LinkedShaders[sh] = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -439,7 +438,6 @@ void
|
|||||||
_mesa_init_shader_object_functions(struct dd_function_table *driver)
|
_mesa_init_shader_object_functions(struct dd_function_table *driver)
|
||||||
{
|
{
|
||||||
driver->NewShader = _mesa_new_shader;
|
driver->NewShader = _mesa_new_shader;
|
||||||
driver->DeleteShader = _mesa_delete_shader;
|
|
||||||
driver->NewShaderProgram = _mesa_new_shader_program;
|
driver->NewShaderProgram = _mesa_new_shader_program;
|
||||||
driver->DeleteShaderProgram = _mesa_delete_shader_program;
|
driver->DeleteShaderProgram = _mesa_delete_shader_program;
|
||||||
driver->LinkShader = _mesa_ir_link_shader;
|
driver->LinkShader = _mesa_ir_link_shader;
|
||||||
|
@@ -82,6 +82,9 @@ _mesa_init_shader(struct gl_context *ctx, struct gl_shader *shader);
|
|||||||
extern struct gl_shader *
|
extern struct gl_shader *
|
||||||
_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
|
_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
_mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh);
|
||||||
|
|
||||||
extern struct gl_shader_program *
|
extern struct gl_shader_program *
|
||||||
_mesa_lookup_shader_program(struct gl_context *ctx, GLuint name);
|
_mesa_lookup_shader_program(struct gl_context *ctx, GLuint name);
|
||||||
|
|
||||||
|
@@ -219,7 +219,7 @@ delete_shader_cb(GLuint id, void *data, void *userData)
|
|||||||
struct gl_context *ctx = (struct gl_context *) userData;
|
struct gl_context *ctx = (struct gl_context *) userData;
|
||||||
struct gl_shader *sh = (struct gl_shader *) data;
|
struct gl_shader *sh = (struct gl_shader *) data;
|
||||||
if (_mesa_validate_shader_target(ctx, sh->Type)) {
|
if (_mesa_validate_shader_target(ctx, sh->Type)) {
|
||||||
ctx->Driver.DeleteShader(ctx, sh);
|
_mesa_delete_shader(ctx, sh);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
struct gl_shader_program *shProg = (struct gl_shader_program *) data;
|
struct gl_shader_program *shProg = (struct gl_shader_program *) data;
|
||||||
|
Reference in New Issue
Block a user