mesa: add misc tessellation shader support
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:

committed by
Marek Olšák

parent
78d3054980
commit
a894ed8293
@@ -365,6 +365,16 @@ _mesa_new_program(struct gl_context *ctx, GLenum target, GLuint id)
|
||||
CALLOC_STRUCT(gl_geometry_program),
|
||||
target, id);
|
||||
break;
|
||||
case GL_TESS_CONTROL_PROGRAM_NV:
|
||||
prog = _mesa_init_tess_ctrl_program(ctx,
|
||||
CALLOC_STRUCT(gl_tess_ctrl_program),
|
||||
target, id);
|
||||
break;
|
||||
case GL_TESS_EVALUATION_PROGRAM_NV:
|
||||
prog = _mesa_init_tess_eval_program(ctx,
|
||||
CALLOC_STRUCT(gl_tess_eval_program),
|
||||
target, id);
|
||||
break;
|
||||
case GL_COMPUTE_PROGRAM_NV:
|
||||
prog = _mesa_init_compute_program(ctx,
|
||||
CALLOC_STRUCT(gl_compute_program),
|
||||
@@ -586,6 +596,23 @@ _mesa_clone_program(struct gl_context *ctx, const struct gl_program *prog)
|
||||
gpc->UsesStreams = gp->UsesStreams;
|
||||
}
|
||||
break;
|
||||
case GL_TESS_CONTROL_PROGRAM_NV:
|
||||
{
|
||||
const struct gl_tess_ctrl_program *tcp = gl_tess_ctrl_program_const(prog);
|
||||
struct gl_tess_ctrl_program *tcpc = gl_tess_ctrl_program(clone);
|
||||
tcpc->VerticesOut = tcp->VerticesOut;
|
||||
}
|
||||
break;
|
||||
case GL_TESS_EVALUATION_PROGRAM_NV:
|
||||
{
|
||||
const struct gl_tess_eval_program *tep = gl_tess_eval_program_const(prog);
|
||||
struct gl_tess_eval_program *tepc = gl_tess_eval_program(clone);
|
||||
tepc->PrimitiveMode = tep->PrimitiveMode;
|
||||
tepc->Spacing = tep->Spacing;
|
||||
tepc->VertexOrder = tep->VertexOrder;
|
||||
tepc->PointMode = tep->PointMode;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
_mesa_problem(NULL, "Unexpected target in _mesa_clone_program");
|
||||
}
|
||||
|
Reference in New Issue
Block a user