Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Unified Diff: gpu/ipc/common/struct_traits_unittest.cc

Issue 2220093002: GpuInfo mojom struct and struct traits and unit test (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed a typo Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/ipc/common/gpu_info_struct_traits.cc ('k') | gpu/ipc/common/traits_test_service.mojom » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/ipc/common/struct_traits_unittest.cc
diff --git a/gpu/ipc/common/struct_traits_unittest.cc b/gpu/ipc/common/struct_traits_unittest.cc
index b25ce4eb10e8c01223c0bbac938d29d5e9e767a9..45f4ba9c52b0f454aec30fdf7cfb65004b024917 100644
--- a/gpu/ipc/common/struct_traits_unittest.cc
+++ b/gpu/ipc/common/struct_traits_unittest.cc
@@ -34,6 +34,11 @@ class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
callback.Run(g);
}
+ void EchoGpuInfo(const GPUInfo& g,
+ const EchoGpuInfoCallback& callback) override {
+ callback.Run(g);
+ }
+
void EchoMailbox(const Mailbox& m,
const EchoMailboxCallback& callback) override {
callback.Run(m);
@@ -113,6 +118,169 @@ TEST_F(StructTraitsTest, GPUDevice) {
EXPECT_TRUE(device_string.compare(output.device_string) == 0);
}
+TEST_F(StructTraitsTest, GpuInfo) {
+ const base::TimeDelta initialization_time = base::TimeDelta::Max();
+ const bool optimus = true;
+ const bool amd_switchable = true;
+ const bool lenovo_dcute = true;
+ const base::Version display_link_version("1.2.3.4");
+ const gpu::GPUInfo::GPUDevice gpu;
+ const std::vector<gpu::GPUInfo::GPUDevice> secondary_gpus;
+ const uint64_t adapter_luid = 0x10de;
+ const std::string driver_vendor = "driver_vendor";
+ const std::string driver_version = "driver_version";
+ const std::string driver_date = "driver_date";
+ const std::string pixel_shader_version = "pixel_shader_version";
+ const std::string vertex_shader_version = "vertex_shader_version";
+ const std::string max_msaa_samples = "max_msaa_samples";
+ const std::string machine_model_name = "machine_model_name";
+ const std::string machine_model_version = "machine_model_version";
+ const std::string gl_version = "gl_version";
+ const std::string gl_vendor = "gl_vendor";
+ const std::string gl_renderer = "gl_renderer";
+ const std::string gl_extensions = "gl_extension";
+ const std::string gl_ws_vendor = "gl_ws_vendor";
+ const std::string gl_ws_version = "gl_ws_version";
+ const std::string gl_ws_extensions = "gl_ws_extensions";
+ const uint32_t gl_reset_notification_strategy = 0xbeef;
+ const bool can_lose_context = true;
+ const bool software_rendering = true;
+ const bool direct_rendering = true;
+ const bool sandboxed = true;
+ const int process_crash_count = 0xdead;
+ const bool in_process_gpu = true;
+ const gpu::CollectInfoResult basic_info_state =
+ gpu::CollectInfoResult::kCollectInfoSuccess;
+ const gpu::CollectInfoResult context_info_state =
+ gpu::CollectInfoResult::kCollectInfoSuccess;
+#if defined(OS_WIN)
+ const gpu::CollectInfoResult dx_diagnostics_info_state =
+ gpu::CollectInfoResult::kCollectInfoSuccess;
+ const DxDiagNode dx_diagnostics;
+#endif
+ const gpu::VideoDecodeAcceleratorCapabilities
+ video_decode_accelerator_capabilities;
+ const std::vector<gpu::VideoEncodeAcceleratorSupportedProfile>
+ video_encode_accelerator_supported_profiles;
+ const bool jpeg_decode_accelerator_supported = true;
+
+ gpu::GPUInfo input;
+ input.initialization_time = initialization_time;
+ input.optimus = optimus;
+ input.amd_switchable = amd_switchable;
+ input.lenovo_dcute = lenovo_dcute;
+ input.display_link_version = display_link_version;
+ input.gpu = gpu;
+ input.secondary_gpus = secondary_gpus;
+ input.adapter_luid = adapter_luid;
+ input.driver_vendor = driver_vendor;
+ input.driver_version = driver_version;
+ input.driver_date = driver_date;
+ input.pixel_shader_version = pixel_shader_version;
+ input.vertex_shader_version = vertex_shader_version;
+ input.max_msaa_samples = max_msaa_samples;
+ input.machine_model_name = machine_model_name;
+ input.machine_model_version = machine_model_version;
+ input.gl_version = gl_version;
+ input.gl_vendor = gl_vendor;
+ input.gl_renderer = gl_renderer;
+ input.gl_extensions = gl_extensions;
+ input.gl_ws_vendor = gl_ws_vendor;
+ input.gl_ws_version = gl_ws_version;
+ input.gl_ws_extensions = gl_ws_extensions;
+ input.gl_reset_notification_strategy = gl_reset_notification_strategy;
+ input.can_lose_context = can_lose_context;
+ input.software_rendering = software_rendering;
+ input.direct_rendering = direct_rendering;
+ input.sandboxed = sandboxed;
+ input.process_crash_count = process_crash_count;
+ input.in_process_gpu = in_process_gpu;
+ input.basic_info_state = basic_info_state;
+ input.context_info_state = context_info_state;
+#if defined(OS_WIN)
+ input.dx_diagnostics_info_state = dx_diagnostics_info_state;
+ input.dx_diagnostics = dx_diagnostics;
+#endif
+ input.video_decode_accelerator_capabilities =
+ video_decode_accelerator_capabilities;
+ input.video_encode_accelerator_supported_profiles =
+ video_encode_accelerator_supported_profiles;
+ input.jpeg_decode_accelerator_supported = jpeg_decode_accelerator_supported;
+
+ mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+ gpu::GPUInfo output;
+ proxy->EchoGpuInfo(input, &output);
+
+ EXPECT_EQ(optimus, output.optimus);
+ EXPECT_EQ(amd_switchable, output.amd_switchable);
+ EXPECT_EQ(lenovo_dcute, output.lenovo_dcute);
+ EXPECT_TRUE(display_link_version.CompareTo(output.display_link_version) == 0);
+ EXPECT_EQ(gpu.vendor_id, output.gpu.vendor_id);
+ EXPECT_EQ(gpu.device_id, output.gpu.device_id);
+ EXPECT_EQ(gpu.active, output.gpu.active);
+ EXPECT_EQ(gpu.vendor_string, output.gpu.vendor_string);
+ EXPECT_EQ(gpu.device_string, output.gpu.device_string);
+ EXPECT_EQ(secondary_gpus.size(), output.secondary_gpus.size());
+ for (size_t i = 0; i < secondary_gpus.size(); ++i) {
+ const gpu::GPUInfo::GPUDevice& expected_gpu = secondary_gpus[i];
+ const gpu::GPUInfo::GPUDevice& actual_gpu = output.secondary_gpus[i];
+ EXPECT_EQ(expected_gpu.vendor_id, actual_gpu.vendor_id);
+ EXPECT_EQ(expected_gpu.device_id, actual_gpu.device_id);
+ EXPECT_EQ(expected_gpu.active, actual_gpu.active);
+ EXPECT_EQ(expected_gpu.vendor_string, actual_gpu.vendor_string);
+ EXPECT_EQ(expected_gpu.device_string, actual_gpu.device_string);
+ }
+ EXPECT_EQ(adapter_luid, output.adapter_luid);
+ EXPECT_EQ(driver_vendor, output.driver_vendor);
+ EXPECT_EQ(driver_version, output.driver_version);
+ EXPECT_EQ(driver_date, output.driver_date);
+ EXPECT_EQ(pixel_shader_version, output.pixel_shader_version);
+ EXPECT_EQ(vertex_shader_version, output.vertex_shader_version);
+ EXPECT_EQ(max_msaa_samples, output.max_msaa_samples);
+ EXPECT_EQ(machine_model_name, output.machine_model_name);
+ EXPECT_EQ(machine_model_version, output.machine_model_version);
+ EXPECT_EQ(gl_version, output.gl_version);
+ EXPECT_EQ(gl_vendor, output.gl_vendor);
+ EXPECT_EQ(gl_renderer, output.gl_renderer);
+ EXPECT_EQ(gl_extensions, output.gl_extensions);
+ EXPECT_EQ(gl_ws_vendor, output.gl_ws_vendor);
+ EXPECT_EQ(gl_ws_version, output.gl_ws_version);
+ EXPECT_EQ(gl_ws_extensions, output.gl_ws_extensions);
+ EXPECT_EQ(gl_reset_notification_strategy,
+ output.gl_reset_notification_strategy);
+ EXPECT_EQ(can_lose_context, output.can_lose_context);
+ EXPECT_EQ(software_rendering, output.software_rendering);
+ EXPECT_EQ(direct_rendering, output.direct_rendering);
+ EXPECT_EQ(sandboxed, output.sandboxed);
+ EXPECT_EQ(process_crash_count, output.process_crash_count);
+ EXPECT_EQ(in_process_gpu, output.in_process_gpu);
+ EXPECT_EQ(basic_info_state, output.basic_info_state);
+ EXPECT_EQ(context_info_state, output.context_info_state);
+#if defined(OS_WIN)
+ EXPECT_EQ(output.dx_diagnostics_info_state, dx_diagnostics_info_state);
+ EXPECT_EQ(dx_diagnostics.values, output.dx_diagnostics.values);
+#endif
+ EXPECT_EQ(output.video_decode_accelerator_capabilities.flags,
+ video_decode_accelerator_capabilities.flags);
+ EXPECT_EQ(
+ video_decode_accelerator_capabilities.supported_profiles.size(),
+ output.video_decode_accelerator_capabilities.supported_profiles.size());
+ for (size_t i = 0;
+ i < video_decode_accelerator_capabilities.supported_profiles.size();
+ ++i) {
+ const gpu::VideoDecodeAcceleratorSupportedProfile& expected =
+ video_decode_accelerator_capabilities.supported_profiles[i];
+ const gpu::VideoDecodeAcceleratorSupportedProfile& actual =
+ output.video_decode_accelerator_capabilities.supported_profiles[i];
+ EXPECT_EQ(expected.encrypted_only, actual.encrypted_only);
+ }
+ EXPECT_EQ(
+ output.video_decode_accelerator_capabilities.supported_profiles.size(),
+ video_decode_accelerator_capabilities.supported_profiles.size());
+ EXPECT_EQ(output.video_encode_accelerator_supported_profiles.size(),
+ video_encode_accelerator_supported_profiles.size());
+}
+
TEST_F(StructTraitsTest, Mailbox) {
const int8_t mailbox_name[GL_MAILBOX_SIZE_CHROMIUM] = {
0, 9, 8, 7, 6, 5, 4, 3, 2, 1, 9, 7, 5, 3, 1, 2, 4, 6, 8, 0, 0, 9,
« no previous file with comments | « gpu/ipc/common/gpu_info_struct_traits.cc ('k') | gpu/ipc/common/traits_test_service.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698