| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // gpu/config/gpu_preferences.h |
| module gpu.mojom; |
| |
| [EnableIf=use_ozone] |
| import "mojo/public/mojom/base/message_pump_type.mojom"; |
| |
| import "ui/gfx/mojom/buffer_types.mojom"; |
| |
| // Corresponds to gpu::VulkanImplementationName. |
| enum VulkanImplementationName { |
| kNone = 0, |
| kNative = 1, |
| kForcedNative = 2, |
| kSwiftshader = 3, |
| kLast = kSwiftshader, |
| }; |
| |
| // Corresponds to gpu::GrContextType. |
| enum GrContextType { |
| kGL = 0, |
| kVulkan = 1, |
| kMetal = 2, |
| kDawn = 3, |
| kLast = kDawn, |
| }; |
| |
| // gpu::GpuPreferences |
| struct GpuPreferences { |
| bool disable_accelerated_video_decode; |
| bool disable_accelerated_video_encode; |
| bool gpu_startup_dialog; |
| bool disable_gpu_watchdog; |
| bool gpu_sandbox_start_early; |
| |
| // TODO(http://crbug.com/676224) Support preprocessing of mojoms. Following |
| // variables should be used on Windows only. |
| bool enable_low_latency_dxva; |
| bool enable_zero_copy_dxgi_video; |
| bool enable_nv12_dxgi_video; |
| bool enable_media_foundation_vea_on_windows7; |
| bool disable_software_rasterizer; |
| bool log_gpu_control_list_decisions; |
| |
| bool compile_shader_always_succeeds; |
| bool disable_gl_error_limit; |
| bool disable_glsl_translator; |
| bool disable_shader_name_hashing; |
| bool enable_gpu_command_logging; |
| bool enable_gpu_debugging; |
| bool enable_gpu_service_logging_gpu; |
| bool enable_gpu_driver_debug_logging; |
| bool disable_gpu_program_cache; |
| bool enforce_gl_minimums; |
| uint32 force_gpu_mem_available_bytes; |
| uint32 force_gpu_mem_discardable_limit_bytes; |
| uint32 force_max_texture_size; |
| uint32 gpu_program_cache_size; |
| bool disable_gpu_shader_disk_cache; |
| bool enable_threaded_texture_mailboxes; |
| bool gl_shader_interm_output; |
| bool emulate_shader_precision; |
| bool enable_android_surface_control; |
| bool enable_gpu_service_logging; |
| bool enable_gpu_service_tracing; |
| bool use_passthrough_cmd_decoder; |
| bool disable_biplanar_gpu_memory_buffers_for_video_frames; |
| array<gfx.mojom.BufferUsageAndFormat> texture_target_exception_list; |
| |
| bool ignore_gpu_blocklist; |
| bool enable_oop_rasterization; |
| bool disable_oop_rasterization; |
| bool enable_oop_rasterization_ddl; |
| bool watchdog_starts_backgrounded; |
| GrContextType gr_context_type; |
| VulkanImplementationName use_vulkan; |
| bool enforce_vulkan_protected_memory; |
| bool disable_vulkan_surface; |
| bool disable_vulkan_fallback_to_gl_for_testing; |
| bool enable_metal; |
| bool enable_gpu_benchmarking_extension; |
| bool enable_webgpu; |
| bool enable_dawn_backend_validation; |
| bool enable_gpu_blocked_time_metric; |
| bool enable_perf_data_collection; |
| |
| [EnableIf=use_ozone] |
| mojo_base.mojom.MessagePumpType message_pump_type; |
| |
| bool enable_native_gpu_memory_buffers; |
| |
| [EnableIf=is_chromeos] |
| bool platform_disallows_chromeos_direct_video_decoder; |
| }; |