… | |
… | |
87 | my @funcs; |
87 | my @funcs; |
88 | my %alias; |
88 | my %alias; |
89 | |
89 | |
90 | while (<$fh>) { |
90 | while (<$fh>) { |
91 | chomp; |
91 | chomp; |
92 | my ($class, $name, $ctype) = split /,\s*/, $_, 3; |
92 | my ($class, $name, $ctype) = split /\s*,\s*/, $_, 3; |
93 | next unless $class eq "cl_$CLASS\_info"; |
93 | next unless $class eq "cl_$CLASS\_info"; |
94 | next if $name eq "CL_IMAGE_FORMAT"; # struct |
94 | next if $name eq "CL_IMAGE_FORMAT"; # struct |
95 | next if $name eq "CL_PROGRAM_BINARIES"; # needs multiple calls |
95 | next if $name eq "CL_PROGRAM_BINARIES"; # needs multiple calls |
96 | |
96 | |
97 | $ctype =~ s/cl:://g; |
97 | $ctype =~ s/cl:://g; |
… | |
… | |
191 | $oclass = "MemObject" if $oclass eq "Memory"; |
191 | $oclass = "MemObject" if $oclass eq "Memory"; |
192 | $oclass = "CommandQueue" if $oclass eq "Queue"; |
192 | $oclass = "CommandQueue" if $oclass eq "Queue"; |
193 | |
193 | |
194 | $XS2 .= " {\n"; |
194 | $XS2 .= " {\n"; |
195 | $XS2 .= " NEED_SUCCESS (Retain$oclass, (value [i]));\n" unless $1 eq "Platform" || $1 eq "Device"; |
195 | $XS2 .= " NEED_SUCCESS (Retain$oclass, (value [i]));\n" unless $1 eq "Platform" || $1 eq "Device"; |
196 | $XS2 .= " PUSHs (NEW_MORTAL_OBJ (\"$type->[1]\", value [i]));\n"; |
196 | $XS2 .= " PUSH_CLOBJ (\"$type->[1]\", value [i]);\n"; |
197 | $XS2 .= " }\n"; |
197 | $XS2 .= " }\n"; |
198 | } else { |
198 | } else { |
199 | $XS2 .= " PUSHs (sv_2mortal ($type->[1]));\n"; |
199 | $XS2 .= " PUSHs (sv_2mortal ($type->[1]));\n"; |
200 | } |
200 | } |
201 | |
201 | |