mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
mesa/cs: Create the gl_compute_program struct, and the code to initialize it.
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
9b34ae2e64
commit
47d480e3e4
3 changed files with 32 additions and 0 deletions
|
|
@ -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.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -278,6 +278,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.
|
||||
*/
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -83,6 +83,11 @@ _mesa_init_geometry_program(struct gl_context *ctx,
|
|||
struct gl_geometry_program *prog,
|
||||
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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue