Home | History | Annotate | Download | only in program

Lines Matching full:clone

489    struct gl_program *clone;
491 clone = ctx->Driver.NewProgram(ctx, prog->Target, prog->Id);
492 if (!clone)
495 assert(clone->Target == prog->Target);
496 assert(clone->RefCount == 1);
498 clone->String = (GLubyte *) _mesa_strdup((char *) prog->String);
499 clone->Format = prog->Format;
500 clone->Instructions = _mesa_alloc_instructions(prog->NumInstructions);
501 if (!clone->Instructions) {
502 _mesa_reference_program(ctx, &clone, NULL);
505 _mesa_copy_instructions(clone->Instructions, prog->Instructions,
507 clone->InputsRead = prog->InputsRead;
508 clone->OutputsWritten = prog->OutputsWritten;
509 clone->SamplersUsed = prog->SamplersUsed;
510 clone->ShadowSamplers = prog->ShadowSamplers;
511 memcpy(clone->TexturesUsed, prog->TexturesUsed, sizeof(prog->TexturesUsed));
514 clone->Parameters = _mesa_clone_parameter_list(prog->Parameters);
515 memcpy(clone->LocalParams, prog->LocalParams, sizeof(clone->LocalParams));
516 memcpy(clone->LocalParams, prog->LocalParams, sizeof(clone->LocalParams));
517 clone->IndirectRegisterFiles = prog->IndirectRegisterFiles;
518 clone->NumInstructions = prog->NumInstructions;
519 clone->NumTemporaries = prog->NumTemporaries;
520 clone->NumParameters = prog->NumParameters;
521 clone->NumAttributes = prog->NumAttributes;
522 clone->NumAddressRegs = prog->NumAddressRegs;
523 clone->NumNativeInstructions = prog->NumNativeInstructions;
524 clone->NumNativeTemporaries = prog->NumNativeTemporaries;
525 clone->NumNativeParameters = prog->NumNativeParameters;
526 clone->NumNativeAttributes = prog->NumNativeAttributes;
527 clone
528 clone->NumAluInstructions = prog->NumAluInstructions;
529 clone->NumTexInstructions = prog->NumTexInstructions;
530 clone->NumTexIndirections = prog->NumTexIndirections;
531 clone->NumNativeAluInstructions = prog->NumNativeAluInstructions;
532 clone->NumNativeTexInstructions = prog->NumNativeTexInstructions;
533 clone->NumNativeTexIndirections = prog->NumNativeTexIndirections;
539 struct gl_vertex_program *vpc = gl_vertex_program(clone);
547 struct gl_fragment_program *fpc = gl_fragment_program(clone);
557 struct gl_geometry_program *gpc = gl_geometry_program(clone);
567 return clone;