… | |
… | |
383 | package OpenCL; |
383 | package OpenCL; |
384 | |
384 | |
385 | use common::sense; |
385 | use common::sense; |
386 | |
386 | |
387 | BEGIN { |
387 | BEGIN { |
388 | our $VERSION = '0.96'; |
388 | our $VERSION = '0.97'; |
389 | |
389 | |
390 | require XSLoader; |
390 | require XSLoader; |
391 | XSLoader::load (__PACKAGE__, $VERSION); |
391 | XSLoader::load (__PACKAGE__, $VERSION); |
392 | |
392 | |
393 | @OpenCL::Platform::ISA = |
393 | @OpenCL::Platform::ISA = |
… | |
… | |
841 | =cut |
841 | =cut |
842 | |
842 | |
843 | sub OpenCL::Context::build_program { |
843 | sub OpenCL::Context::build_program { |
844 | my ($self, $prog, $options) = @_; |
844 | my ($self, $prog, $options) = @_; |
845 | |
845 | |
|
|
846 | require Carp; |
|
|
847 | |
846 | $prog = $self->program_with_source ($prog) |
848 | $prog = $self->program_with_source ($prog) |
847 | unless ref $prog; |
849 | unless ref $prog; |
848 | |
850 | |
849 | for my $dev ($self->devices) { |
851 | for my $dev ($self->devices) { |
850 | eval { $prog->build ($dev, $options); 1 } |
852 | eval { $prog->build ($dev, $options); 1 } |
851 | or Carp::croak "Building OpenCL program for device '" . $dev->name . "' failed:\n" |
853 | or Carp::croak ("Building OpenCL program for device '" . $dev->name . "' failed:\n" |
852 | . $prog->build_log ($dev); |
854 | . $prog->build_log ($dev)); |
853 | } |
855 | } |
854 | |
856 | |
855 | $prog |
857 | $prog |
856 | } |
858 | } |
857 | |
859 | |