test_types.cc 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/viz/test/test_types.h"
  5. #include "components/viz/test/buildflags.h"
  6. namespace viz {
  7. namespace {
  8. // Provides a test renderer suffix appropriate for |type|.
  9. const char* RendererTypeTestSuffix(RendererType type) {
  10. switch (type) {
  11. case RendererType::kSkiaGL:
  12. return "SkiaGL";
  13. case RendererType::kSkiaVk:
  14. return "SkiaVulkan";
  15. case RendererType::kSkiaDawn:
  16. return "SkiaDawn";
  17. case RendererType::kSoftware:
  18. return "Software";
  19. }
  20. }
  21. std::vector<RendererType> GetRendererTypes(bool include_software,
  22. bool include_dawn,
  23. bool skia_only) {
  24. std::vector<RendererType> types;
  25. if (include_software && !skia_only)
  26. types.push_back(RendererType::kSoftware);
  27. #if BUILDFLAG(ENABLE_GL_BACKEND_TESTS)
  28. types.push_back(RendererType::kSkiaGL);
  29. #endif
  30. #if BUILDFLAG(ENABLE_VULKAN_BACKEND_TESTS)
  31. types.push_back(RendererType::kSkiaVk);
  32. #endif
  33. #if BUILDFLAG(ENABLE_DAWN_BACKEND_TESTS)
  34. if (include_dawn)
  35. types.push_back(RendererType::kSkiaDawn);
  36. #endif
  37. return types;
  38. }
  39. } // namespace
  40. void PrintTo(RendererType type, std::ostream* os) {
  41. *os << RendererTypeTestSuffix(type);
  42. }
  43. std::vector<RendererType> GetRendererTypes() {
  44. return GetRendererTypes(true, true, false);
  45. }
  46. std::vector<RendererType> GetRendererTypesNoDawn() {
  47. return GetRendererTypes(true, false, false);
  48. }
  49. std::vector<RendererType> GetGpuRendererTypes() {
  50. return GetRendererTypes(false, true, false);
  51. }
  52. std::vector<RendererType> GetGpuRendererTypesNoDawn() {
  53. return GetRendererTypes(false, false, false);
  54. }
  55. std::vector<RendererType> GetRendererTypesSkiaOnly() {
  56. return GetRendererTypes(false, true, true);
  57. }
  58. } // namespace viz