• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("//tensorflow/lite:special_rules.bzl", "tflite_portable_test_suite_combined")
2load(
3    "//tensorflow/core/platform:build_config_root.bzl",
4    "tf_gpu_tests_tags",
5)
6
7package(
8    default_visibility = ["//visibility:public"],
9    licenses = ["notice"],
10)
11
12cc_library(
13    name = "converter",
14    srcs = ["converter.cc"],
15    hdrs = ["converter.h"],
16    deps = [
17        "//tensorflow/lite/delegates/gpu:spi",
18        "//tensorflow/lite/delegates/gpu/common:shape",
19        "//tensorflow/lite/delegates/gpu/common:status",
20        "//tensorflow/lite/delegates/gpu/common:types",
21        "//tensorflow/lite/delegates/gpu/common:util",
22        "//tensorflow/lite/delegates/gpu/gl:command_queue",
23        "//tensorflow/lite/delegates/gpu/gl:gl_buffer",
24        "//tensorflow/lite/delegates/gpu/gl:gl_program",
25        "//tensorflow/lite/delegates/gpu/gl:gl_shader",
26        "@com_google_absl//absl/strings",
27        "@com_google_absl//absl/types:span",
28    ],
29)
30
31cc_test(
32    name = "converter_test",
33    size = "small",
34    srcs = ["converter_test.cc"],
35    linkopts = [
36        "-lEGL",
37        "-lGLESv3",
38    ],
39    tags = tf_gpu_tests_tags() + [
40        "local",
41        "nobuilder",
42        "notap",
43        "tflite_not_portable_ios",
44    ],
45    deps = [
46        ":converter",
47        "//tensorflow/lite/delegates/gpu/common:convert",
48        "//tensorflow/lite/delegates/gpu/common:shape",
49        "//tensorflow/lite/delegates/gpu/common:status",
50        "//tensorflow/lite/delegates/gpu/gl:egl_environment",
51        "//tensorflow/lite/delegates/gpu/gl:gl_buffer",
52        "//tensorflow/lite/delegates/gpu/gl:portable",
53        "@com_google_absl//absl/types:span",
54        "@com_google_googletest//:gtest_main",
55    ],
56)
57
58cc_library(
59    name = "add",
60    srcs = ["add.cc"],
61    hdrs = ["add.h"],
62    deps = [
63        "//tensorflow/lite/delegates/gpu/common:convert",
64        "//tensorflow/lite/delegates/gpu/common:data_type",
65        "//tensorflow/lite/delegates/gpu/common:operations",
66        "//tensorflow/lite/delegates/gpu/common:status",
67        "//tensorflow/lite/delegates/gpu/common:types",
68        "//tensorflow/lite/delegates/gpu/gl:node_shader",
69        "@com_google_absl//absl/memory",
70        "@com_google_absl//absl/strings",
71    ],
72)
73
74cc_test(
75    name = "add_test",
76    srcs = ["add_test.cc"],
77    linkstatic = True,
78    tags = tf_gpu_tests_tags() + [
79        "notap",
80        "tflite_not_portable_ios",
81    ],
82    deps = [
83        ":add",
84        ":test_util",
85        "//tensorflow/lite/delegates/gpu/common:operations",
86        "@com_google_googletest//:gtest",
87    ],
88)
89
90cc_library(
91    name = "concat",
92    srcs = ["concat.cc"],
93    hdrs = ["concat.h"],
94    deps = [
95        "//tensorflow/lite/delegates/gpu/common:operations",
96        "//tensorflow/lite/delegates/gpu/common:status",
97        "//tensorflow/lite/delegates/gpu/common:types",
98        "//tensorflow/lite/delegates/gpu/gl:node_shader",
99        "//tensorflow/lite/delegates/gpu/gl:variable",
100        "@com_google_absl//absl/memory",
101    ],
102)
103
104cc_test(
105    name = "concat_test",
106    srcs = ["concat_test.cc"],
107    linkstatic = True,
108    tags = tf_gpu_tests_tags() + [
109        "notap",
110        "tflite_not_portable_ios",
111    ],
112    deps = [
113        ":concat",
114        ":test_util",
115        "//tensorflow/lite/delegates/gpu/common:operations",
116        "@com_google_googletest//:gtest",
117    ],
118)
119
120cc_library(
121    name = "conv",
122    srcs = ["conv.cc"],
123    hdrs = ["conv.h"],
124    deps = [
125        "//tensorflow/lite/delegates/gpu/common:convert",
126        "//tensorflow/lite/delegates/gpu/common:operations",
127        "//tensorflow/lite/delegates/gpu/common:shape",
128        "//tensorflow/lite/delegates/gpu/common:status",
129        "//tensorflow/lite/delegates/gpu/common:types",
130        "//tensorflow/lite/delegates/gpu/common:util",
131        "//tensorflow/lite/delegates/gpu/gl:node_shader",
132        "//tensorflow/lite/delegates/gpu/gl:variable",
133        "//tensorflow/lite/delegates/gpu/gl/workgroups:ideal_workgroup_picker",
134        "@com_google_absl//absl/memory",
135        "@com_google_absl//absl/strings",
136    ],
137)
138
139cc_test(
140    name = "conv_test",
141    srcs = ["conv_test.cc"],
142    linkstatic = True,
143    tags = tf_gpu_tests_tags() + [
144        "notap",
145        "tflite_not_portable_ios",
146    ],
147    deps = [
148        ":conv",
149        ":test_util",
150        "//tensorflow/lite/delegates/gpu/common:operations",
151        "@com_google_googletest//:gtest",
152    ],
153)
154
155cc_library(
156    name = "custom_registry",
157    srcs = ["custom_registry.cc"],
158    hdrs = ["custom_registry.h"],
159    deps = [
160        "//tensorflow/lite/delegates/gpu/gl:node_shader",
161        "@com_google_absl//absl/container:flat_hash_map",
162    ],
163)
164
165cc_library(
166    name = "depthwise_conv",
167    srcs = ["depthwise_conv.cc"],
168    hdrs = ["depthwise_conv.h"],
169    deps = [
170        "//tensorflow/lite/delegates/gpu/common:convert",
171        "//tensorflow/lite/delegates/gpu/common:operations",
172        "//tensorflow/lite/delegates/gpu/common:shape",
173        "//tensorflow/lite/delegates/gpu/common:status",
174        "//tensorflow/lite/delegates/gpu/common:types",
175        "//tensorflow/lite/delegates/gpu/common:util",
176        "//tensorflow/lite/delegates/gpu/gl:node_shader",
177        "//tensorflow/lite/delegates/gpu/gl:variable",
178        "//tensorflow/lite/delegates/gpu/gl/workgroups:ideal_workgroup_picker",
179        "@com_google_absl//absl/memory",
180    ],
181)
182
183cc_test(
184    name = "depthwise_conv_test",
185    srcs = ["depthwise_conv_test.cc"],
186    linkstatic = True,
187    tags = tf_gpu_tests_tags() + [
188        "notap",
189        "tflite_not_portable_ios",
190    ],
191    deps = [
192        ":depthwise_conv",
193        ":test_util",
194        "//tensorflow/lite/delegates/gpu/common:operations",
195        "@com_google_googletest//:gtest",
196    ],
197)
198
199cc_library(
200    name = "elementwise",
201    srcs = ["elementwise.cc"],
202    hdrs = ["elementwise.h"],
203    deps = [
204        "//tensorflow/lite/delegates/gpu/common:operations",
205        "//tensorflow/lite/delegates/gpu/common:status",
206        "//tensorflow/lite/delegates/gpu/common:types",
207        "//tensorflow/lite/delegates/gpu/gl:node_shader",
208        "@com_google_absl//absl/memory",
209        "@com_google_absl//absl/strings",
210    ],
211)
212
213cc_test(
214    name = "elementwise_test",
215    srcs = ["elementwise_test.cc"],
216    linkstatic = True,
217    tags = tf_gpu_tests_tags() + [
218        "notap",
219        "tflite_not_portable_ios",
220    ],
221    deps = [
222        ":elementwise",
223        ":test_util",
224        "//tensorflow/lite/delegates/gpu/common:operations",
225        "@com_google_googletest//:gtest",
226    ],
227)
228
229cc_library(
230    name = "fully_connected",
231    srcs = ["fully_connected.cc"],
232    hdrs = ["fully_connected.h"],
233    deps = [
234        "//tensorflow/lite/delegates/gpu/common:convert",
235        "//tensorflow/lite/delegates/gpu/common:operations",
236        "//tensorflow/lite/delegates/gpu/common:status",
237        "//tensorflow/lite/delegates/gpu/common:types",
238        "//tensorflow/lite/delegates/gpu/gl:node_shader",
239        "//tensorflow/lite/delegates/gpu/gl:variable",
240        "@com_google_absl//absl/memory",
241    ],
242)
243
244cc_test(
245    name = "fully_connected_test",
246    srcs = ["fully_connected_test.cc"],
247    linkstatic = True,
248    tags = tf_gpu_tests_tags() + [
249        "notap",
250        "tflite_not_portable_ios",
251    ],
252    deps = [
253        ":fully_connected",
254        ":test_util",
255        "//tensorflow/lite/delegates/gpu/common:operations",
256        "@com_google_googletest//:gtest",
257    ],
258)
259
260cc_library(
261    name = "lstm",
262    srcs = ["lstm.cc"],
263    hdrs = ["lstm.h"],
264    deps = [
265        "//tensorflow/lite/delegates/gpu/common:operations",
266        "//tensorflow/lite/delegates/gpu/common:status",
267        "//tensorflow/lite/delegates/gpu/common:types",
268        "//tensorflow/lite/delegates/gpu/gl:node_shader",
269        "@com_google_absl//absl/memory",
270    ],
271)
272
273cc_test(
274    name = "lstm_test",
275    srcs = ["lstm_test.cc"],
276    linkstatic = True,
277    tags = tf_gpu_tests_tags() + [
278        "notap",
279        "tflite_not_portable_ios",
280    ],
281    deps = [
282        ":lstm",
283        ":test_util",
284        "//tensorflow/lite/delegates/gpu/common:operations",
285        "@com_google_googletest//:gtest",
286    ],
287)
288
289cc_library(
290    name = "max_unpooling",
291    srcs = ["max_unpooling.cc"],
292    hdrs = ["max_unpooling.h"],
293    deps = [
294        "//tensorflow/lite/delegates/gpu/common:operations",
295        "//tensorflow/lite/delegates/gpu/common:status",
296        "//tensorflow/lite/delegates/gpu/common:types",
297        "//tensorflow/lite/delegates/gpu/gl:node_shader",
298        "//tensorflow/lite/delegates/gpu/gl:variable",
299        "@com_google_absl//absl/memory",
300    ],
301)
302
303cc_test(
304    name = "max_unpooling_test",
305    srcs = ["max_unpooling_test.cc"],
306    linkstatic = True,
307    tags = tf_gpu_tests_tags() + [
308        "notap",
309        "tflite_not_portable_ios",
310    ],
311    deps = [
312        ":max_unpooling",
313        ":test_util",
314        "//tensorflow/lite/delegates/gpu/common:operations",
315        "@com_google_googletest//:gtest",
316    ],
317)
318
319cc_library(
320    name = "mean",
321    srcs = ["mean.cc"],
322    hdrs = ["mean.h"],
323    deps = [
324        "//tensorflow/lite/delegates/gpu/common:operations",
325        "//tensorflow/lite/delegates/gpu/common:status",
326        "//tensorflow/lite/delegates/gpu/common:types",
327        "//tensorflow/lite/delegates/gpu/common:util",
328        "//tensorflow/lite/delegates/gpu/gl:node_shader",
329        "@com_google_absl//absl/memory",
330        "@com_google_absl//absl/status",
331    ],
332)
333
334cc_test(
335    name = "mean_test",
336    srcs = ["mean_test.cc"],
337    linkstatic = True,
338    tags = tf_gpu_tests_tags() + [
339        "notap",
340        "tflite_not_portable_ios",
341    ],
342    deps = [
343        ":mean",
344        ":test_util",
345        "//tensorflow/lite/delegates/gpu/common:operations",
346        "@com_google_googletest//:gtest",
347    ],
348)
349
350cc_library(
351    name = "mul",
352    srcs = ["mul.cc"],
353    hdrs = ["mul.h"],
354    deps = [
355        "//tensorflow/lite/delegates/gpu/common:convert",
356        "//tensorflow/lite/delegates/gpu/common:operations",
357        "//tensorflow/lite/delegates/gpu/common:status",
358        "//tensorflow/lite/delegates/gpu/common:types",
359        "//tensorflow/lite/delegates/gpu/gl:node_shader",
360        "@com_google_absl//absl/memory",
361        "@com_google_absl//absl/strings",
362    ],
363)
364
365cc_test(
366    name = "mul_test",
367    srcs = ["mul_test.cc"],
368    linkstatic = True,
369    tags = tf_gpu_tests_tags() + [
370        "notap",
371        "tflite_not_portable_ios",
372    ],
373    deps = [
374        ":mul",
375        ":test_util",
376        "//tensorflow/lite/delegates/gpu/common:operations",
377        "@com_google_googletest//:gtest",
378    ],
379)
380
381cc_library(
382    name = "pad",
383    srcs = ["pad.cc"],
384    hdrs = ["pad.h"],
385    deps = [
386        "//tensorflow/lite/delegates/gpu/common:operations",
387        "//tensorflow/lite/delegates/gpu/common:status",
388        "//tensorflow/lite/delegates/gpu/common:types",
389        "//tensorflow/lite/delegates/gpu/gl:node_shader",
390        "//tensorflow/lite/delegates/gpu/gl:variable",
391        "@com_google_absl//absl/memory",
392    ],
393)
394
395cc_test(
396    name = "pad_test",
397    srcs = ["pad_test.cc"],
398    linkstatic = True,
399    tags = tf_gpu_tests_tags() + [
400        "notap",
401        "tflite_not_portable_ios",
402    ],
403    deps = [
404        ":pad",
405        ":test_util",
406        "//tensorflow/lite/delegates/gpu/common:operations",
407        "@com_google_googletest//:gtest",
408    ],
409)
410
411cc_library(
412    name = "pooling",
413    srcs = ["pooling.cc"],
414    hdrs = ["pooling.h"],
415    deps = [
416        "//tensorflow/lite/delegates/gpu/common:operations",
417        "//tensorflow/lite/delegates/gpu/common:status",
418        "//tensorflow/lite/delegates/gpu/common:types",
419        "//tensorflow/lite/delegates/gpu/gl:node_shader",
420        "//tensorflow/lite/delegates/gpu/gl:variable",
421        "@com_google_absl//absl/memory",
422    ],
423)
424
425cc_test(
426    name = "pooling_test",
427    srcs = ["pooling_test.cc"],
428    linkstatic = True,
429    tags = tf_gpu_tests_tags() + [
430        "notap",
431        "tflite_not_portable_ios",
432    ],
433    deps = [
434        ":pooling",
435        ":test_util",
436        "//tensorflow/lite/delegates/gpu/common:operations",
437        "@com_google_googletest//:gtest",
438    ],
439)
440
441cc_library(
442    name = "prelu",
443    srcs = ["prelu.cc"],
444    hdrs = ["prelu.h"],
445    deps = [
446        "//tensorflow/lite/delegates/gpu/common:convert",
447        "//tensorflow/lite/delegates/gpu/common:data_type",
448        "//tensorflow/lite/delegates/gpu/common:operations",
449        "//tensorflow/lite/delegates/gpu/common:shape",
450        "//tensorflow/lite/delegates/gpu/common:status",
451        "//tensorflow/lite/delegates/gpu/common:types",
452        "//tensorflow/lite/delegates/gpu/gl:node_shader",
453        "@com_google_absl//absl/memory",
454    ],
455)
456
457cc_test(
458    name = "prelu_test",
459    srcs = ["prelu_test.cc"],
460    linkstatic = True,
461    tags = tf_gpu_tests_tags() + [
462        "notap",
463        "tflite_not_portable_ios",
464    ],
465    deps = [
466        ":prelu",
467        ":test_util",
468        "//tensorflow/lite/delegates/gpu/common:operations",
469        "@com_google_googletest//:gtest",
470    ],
471)
472
473cc_library(
474    name = "quantize_and_dequantize",
475    srcs = ["quantize_and_dequantize.cc"],
476    hdrs = ["quantize_and_dequantize.h"],
477    deps = [
478        "//tensorflow/lite/delegates/gpu/common:data_type",
479        "//tensorflow/lite/delegates/gpu/common:operations",
480        "//tensorflow/lite/delegates/gpu/common:shape",
481        "//tensorflow/lite/delegates/gpu/common:status",
482        "//tensorflow/lite/delegates/gpu/common:types",
483        "//tensorflow/lite/delegates/gpu/gl:node_shader",
484        "@com_google_absl//absl/memory",
485    ],
486)
487
488cc_test(
489    name = "quantize_and_dequantize_test",
490    srcs = ["quantize_and_dequantize_test.cc"],
491    linkstatic = True,
492    tags = tf_gpu_tests_tags() + [
493        "notap",
494        "tflite_not_portable_ios",
495    ],
496    deps = [
497        ":quantize_and_dequantize",
498        ":test_util",
499        "//tensorflow/lite/delegates/gpu/common:operations",
500        "//tensorflow/lite/kernels/internal:quantization_util",
501        "@com_google_googletest//:gtest",
502    ],
503)
504
505cc_library(
506    name = "relu",
507    srcs = ["relu.cc"],
508    hdrs = ["relu.h"],
509    deps = [
510        "//tensorflow/lite/delegates/gpu/common:operations",
511        "//tensorflow/lite/delegates/gpu/common:status",
512        "//tensorflow/lite/delegates/gpu/common:types",
513        "//tensorflow/lite/delegates/gpu/gl:node_shader",
514        "//tensorflow/lite/delegates/gpu/gl:variable",
515        "@com_google_absl//absl/memory",
516    ],
517)
518
519cc_test(
520    name = "relu_test",
521    srcs = ["relu_test.cc"],
522    linkstatic = True,
523    tags = tf_gpu_tests_tags() + [
524        "notap",
525        "tflite_not_portable_ios",
526    ],
527    deps = [
528        ":relu",
529        ":test_util",
530        "//tensorflow/lite/delegates/gpu/common:operations",
531        "@com_google_googletest//:gtest",
532    ],
533)
534
535cc_library(
536    name = "resampler",
537    srcs = ["resampler.cc"],
538    hdrs = ["resampler.h"],
539    deps = [
540        "//tensorflow/lite/delegates/gpu/common:operations",
541        "//tensorflow/lite/delegates/gpu/common:status",
542        "//tensorflow/lite/delegates/gpu/common:types",
543        "//tensorflow/lite/delegates/gpu/gl:node_shader",
544        "@com_google_absl//absl/memory",
545    ],
546)
547
548cc_test(
549    name = "resampler_test",
550    srcs = ["resampler_test.cc"],
551    linkstatic = True,
552    tags = tf_gpu_tests_tags() + [
553        "notap",
554        "tflite_not_portable_ios",
555    ],
556    deps = [
557        ":resampler",
558        ":test_util",
559        "//tensorflow/lite/delegates/gpu/common:operations",
560        "@com_google_googletest//:gtest",
561    ],
562)
563
564cc_library(
565    name = "reshape",
566    srcs = ["reshape.cc"],
567    hdrs = ["reshape.h"],
568    deps = [
569        "//tensorflow/lite/delegates/gpu/common:operations",
570        "//tensorflow/lite/delegates/gpu/common:status",
571        "//tensorflow/lite/delegates/gpu/common:types",
572        "//tensorflow/lite/delegates/gpu/gl:node_shader",
573        "@com_google_absl//absl/memory",
574    ],
575)
576
577cc_test(
578    name = "reshape_test",
579    srcs = ["reshape_test.cc"],
580    linkstatic = True,
581    tags = tf_gpu_tests_tags() + [
582        "notap",
583        "tflite_not_portable_ios",
584    ],
585    deps = [
586        ":reshape",
587        ":test_util",
588        "//tensorflow/lite/delegates/gpu/common:operations",
589        "@com_google_googletest//:gtest",
590    ],
591)
592
593cc_library(
594    name = "resize",
595    srcs = ["resize.cc"],
596    hdrs = ["resize.h"],
597    deps = [
598        "//tensorflow/lite/delegates/gpu/common:operations",
599        "//tensorflow/lite/delegates/gpu/common:status",
600        "//tensorflow/lite/delegates/gpu/common:types",
601        "//tensorflow/lite/delegates/gpu/gl:node_shader",
602        "@com_google_absl//absl/memory",
603    ],
604)
605
606cc_test(
607    name = "resize_test",
608    srcs = ["resize_test.cc"],
609    linkstatic = True,
610    tags = tf_gpu_tests_tags() + [
611        "notap",
612        "tflite_not_portable_ios",
613    ],
614    deps = [
615        ":resize",
616        ":test_util",
617        "//tensorflow/lite/delegates/gpu/common:operations",
618        "@com_google_googletest//:gtest",
619    ],
620)
621
622cc_library(
623    name = "slice",
624    srcs = ["slice.cc"],
625    hdrs = ["slice.h"],
626    deps = [
627        "//tensorflow/lite/delegates/gpu/common:operations",
628        "//tensorflow/lite/delegates/gpu/common:status",
629        "//tensorflow/lite/delegates/gpu/common:types",
630        "//tensorflow/lite/delegates/gpu/gl:node_shader",
631        "//tensorflow/lite/delegates/gpu/gl:variable",
632        "@com_google_absl//absl/memory",
633    ],
634)
635
636cc_test(
637    name = "slice_test",
638    srcs = ["slice_test.cc"],
639    linkstatic = True,
640    tags = tf_gpu_tests_tags() + [
641        "notap",
642        "tflite_not_portable_ios",
643    ],
644    deps = [
645        ":slice",
646        ":test_util",
647        "//tensorflow/lite/delegates/gpu/common:operations",
648        "@com_google_googletest//:gtest",
649    ],
650)
651
652cc_library(
653    name = "softmax",
654    srcs = ["softmax.cc"],
655    hdrs = ["softmax.h"],
656    deps = [
657        "//tensorflow/lite/delegates/gpu/common:operations",
658        "//tensorflow/lite/delegates/gpu/common:shape",
659        "//tensorflow/lite/delegates/gpu/common:status",
660        "//tensorflow/lite/delegates/gpu/common:types",
661        "//tensorflow/lite/delegates/gpu/common:util",
662        "//tensorflow/lite/delegates/gpu/gl:node_shader",
663        "//tensorflow/lite/delegates/gpu/gl:variable",
664        "@com_google_absl//absl/memory",
665    ],
666)
667
668cc_test(
669    name = "softmax_test",
670    srcs = ["softmax_test.cc"],
671    linkstatic = True,
672    tags = tf_gpu_tests_tags() + [
673        "notap",
674        "tflite_not_portable_ios",
675    ],
676    deps = [
677        ":softmax",
678        ":test_util",
679        "//tensorflow/lite/delegates/gpu/common:operations",
680        "//tensorflow/lite/delegates/gpu/common:shape",
681        "@com_google_googletest//:gtest",
682    ],
683)
684
685cc_library(
686    name = "space_to_depth",
687    srcs = ["space_to_depth.cc"],
688    hdrs = ["space_to_depth.h"],
689    deps = [
690        "//tensorflow/lite/delegates/gpu/common:operations",
691        "//tensorflow/lite/delegates/gpu/common:status",
692        "//tensorflow/lite/delegates/gpu/gl:node_shader",
693        "@com_google_absl//absl/memory",
694        "@com_google_absl//absl/types:any",
695    ],
696)
697
698cc_test(
699    name = "space_to_depth_test",
700    srcs = ["space_to_depth_test.cc"],
701    linkstatic = True,
702    tags = tf_gpu_tests_tags() + [
703        "notap",
704        "tflite_not_portable_ios",
705    ],
706    deps = [
707        ":space_to_depth",
708        ":test_util",
709        "//tensorflow/lite/delegates/gpu/common:operations",
710        "@com_google_googletest//:gtest",
711    ],
712)
713
714cc_library(
715    name = "test_util",
716    testonly = 1,
717    srcs = ["test_util.cc"],
718    hdrs = ["test_util.h"],
719    linkopts = [
720        "-lEGL",
721        "-lGLESv3",
722    ],
723    deps = [
724        "//tensorflow/lite/delegates/gpu/common:model",
725        "//tensorflow/lite/delegates/gpu/common:operations",
726        "//tensorflow/lite/delegates/gpu/common:status",
727        "//tensorflow/lite/delegates/gpu/common:tensor",
728        "//tensorflow/lite/delegates/gpu/gl:api",
729        "//tensorflow/lite/delegates/gpu/gl:compiler_options",
730        "//tensorflow/lite/delegates/gpu/gl:egl_environment",
731        "//tensorflow/lite/delegates/gpu/gl:gl_buffer",
732        "//tensorflow/lite/delegates/gpu/gl:node_shader",
733        "//tensorflow/lite/delegates/gpu/gl:object_manager",
734        "//tensorflow/lite/delegates/gpu/gl:request_gpu_info",
735        "//tensorflow/lite/delegates/gpu/gl:runtime_options",
736        "//tensorflow/lite/delegates/gpu/gl/workgroups:default_calculator",
737        "@com_google_absl//absl/container:flat_hash_map",
738        "@com_google_absl//absl/container:flat_hash_set",
739        "@com_google_googletest//:gtest",
740        "@com_google_googletest//:gtest_main",
741    ],
742)
743
744cc_library(
745    name = "tile",
746    srcs = ["tile.cc"],
747    hdrs = ["tile.h"],
748    deps = [
749        "//tensorflow/lite/delegates/gpu/common:operations",
750        "//tensorflow/lite/delegates/gpu/common:status",
751        "//tensorflow/lite/delegates/gpu/gl:node_shader",
752        "@com_google_absl//absl/memory",
753        "@com_google_absl//absl/types:any",
754    ],
755)
756
757cc_test(
758    name = "tile_test",
759    srcs = ["tile_test.cc"],
760    linkstatic = True,
761    tags = tf_gpu_tests_tags() + [
762        "notap",
763        "tflite_not_portable_ios",
764    ],
765    deps = [
766        ":test_util",
767        ":tile",
768        "//tensorflow/lite/delegates/gpu/common:operations",
769        "@com_google_googletest//:gtest",
770    ],
771)
772
773cc_library(
774    name = "transpose_conv",
775    srcs = ["transpose_conv.cc"],
776    hdrs = ["transpose_conv.h"],
777    deps = [
778        "//tensorflow/lite/delegates/gpu/common:convert",
779        "//tensorflow/lite/delegates/gpu/common:operations",
780        "//tensorflow/lite/delegates/gpu/common:shape",
781        "//tensorflow/lite/delegates/gpu/common:status",
782        "//tensorflow/lite/delegates/gpu/common:types",
783        "//tensorflow/lite/delegates/gpu/common:util",
784        "//tensorflow/lite/delegates/gpu/gl:node_shader",
785        "//tensorflow/lite/delegates/gpu/gl:variable",
786        "@com_google_absl//absl/memory",
787    ],
788)
789
790cc_test(
791    name = "transpose_conv_test",
792    srcs = ["transpose_conv_test.cc"],
793    linkstatic = True,
794    tags = tf_gpu_tests_tags() + [
795        "notap",
796        "tflite_not_portable_ios",
797    ],
798    deps = [
799        ":test_util",
800        ":transpose_conv",
801        "//tensorflow/lite/delegates/gpu/common:operations",
802        "@com_google_googletest//:gtest",
803    ],
804)
805
806TFLITE_GPU_BINARY_RELEASE_OPERATORS = [
807    "add",
808    "concat",
809    "conv",
810    "depthwise_conv",
811    "elementwise",
812    "fully_connected",
813    "lstm",
814    "mul",
815    "pad",
816    "pooling",
817    "prelu",
818    "quantize_and_dequantize",
819    "relu",
820    "mean",
821    "resampler",
822    "reshape",
823    "resize",
824    "slice",
825    "softmax",
826    "space_to_depth",
827    "tile",
828    "transpose_conv",
829]
830
831NON_TFLITE_GPU_BINARY_RELEASE_OPERATORS = [
832    "max_unpooling",
833]
834
835cc_library(
836    name = "registry",
837    srcs = ["registry.cc"],
838    hdrs = ["registry.h"],
839    visibility = ["//visibility:public"],
840    deps = [":" + op_name for op_name in TFLITE_GPU_BINARY_RELEASE_OPERATORS] +
841           select({
842               "//tensorflow/lite/delegates/gpu:tflite_gpu_binary_release": [],
843               "//conditions:default": NON_TFLITE_GPU_BINARY_RELEASE_OPERATORS,
844           }) + [
845        ":custom_registry",
846        "@com_google_absl//absl/container:flat_hash_map",
847        "//tensorflow/lite/delegates/gpu/common:operations",
848        "//tensorflow/lite/delegates/gpu/common:status",
849        "//tensorflow/lite/delegates/gpu/gl:node_shader",
850        "@com_google_absl//absl/memory",
851        "@com_google_absl//absl/strings",
852    ],
853)
854
855tflite_portable_test_suite_combined(combine_conditions = {"deps": [":test_util"]})
856