Module: Mesa Branch: master Commit: 47d480e3e4850ef8934775570444feea503295d7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=47d480e3e4850ef8934775570444feea503295d7
Author: Paul Berry <stereotype...@gmail.com> Date: Tue Jan 7 15:50:39 2014 -0800 mesa/cs: Create the gl_compute_program struct, and the code to initialize it. Reviewed-by: Matt Turner <matts...@gmail.com> --- src/mesa/main/mtypes.h | 7 +++++++ src/mesa/program/program.c | 20 ++++++++++++++++++++ src/mesa/program/program.h | 5 +++++ 3 files changed, 32 insertions(+) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index b793227..6af4db6 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2181,6 +2181,13 @@ struct gl_fragment_program }; +/** Compute program object */ +struct gl_compute_program +{ + struct gl_program Base; /**< base class */ +}; + + /** * State common to vertex and fragment programs. */ diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c index ea8eb0d..fa80bc5 100644 --- a/src/mesa/program/program.c +++ b/src/mesa/program/program.c @@ -279,6 +279,21 @@ _mesa_init_vertex_program( struct gl_context *ctx, struct gl_vertex_program *pro /** + * Initialize a new compute program object. + */ +struct gl_program * +_mesa_init_compute_program(struct gl_context *ctx, + struct gl_compute_program *prog, GLenum target, + GLuint id) +{ + if (prog) + return _mesa_init_program_struct( ctx, &prog->Base, target, id ); + else + return NULL; +} + + +/** * Initialize a new geometry program object. */ struct gl_program * @@ -324,6 +339,11 @@ _mesa_new_program(struct gl_context *ctx, GLenum target, GLuint id) CALLOC_STRUCT(gl_geometry_program), target, id); break; + case GL_COMPUTE_PROGRAM_NV: + prog = _mesa_init_compute_program(ctx, + CALLOC_STRUCT(gl_compute_program), + target, id); + break; default: _mesa_problem(ctx, "bad target in _mesa_new_program"); prog = NULL; diff --git a/src/mesa/program/program.h b/src/mesa/program/program.h index 4351e05..ef69824 100644 --- a/src/mesa/program/program.h +++ b/src/mesa/program/program.h @@ -84,6 +84,11 @@ _mesa_init_geometry_program(struct gl_context *ctx, GLenum target, GLuint id); extern struct gl_program * +_mesa_init_compute_program(struct gl_context *ctx, + struct gl_compute_program *prog, + GLenum target, GLuint id); + +extern struct gl_program * _mesa_new_program(struct gl_context *ctx, GLenum target, GLuint id); extern void _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit