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