angle/extensions
Jonah Ryan-Davis 017161701b Metal: Reintroduce GPU power preference selection code.
This CL re-introduces the GPU power preference code to
the metal backend. It also reworks EGLDisplay caching
in the frontend to cache based on the native display
as well as the power preference attribute.
A new extension, EGL_ANGLE_display_power_preference is
added based on EGL_ANGLE_power_preference. This extension
is a client extension that allows selection of GPU on
display creation, similar to how GPUs are selected on
context creation in EGL_ANGLE_power_preference.
This CL adds EGLDisplayPowerPreferenceTest and enables it on
the metal backend.

Bug: angleproject:6143
Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2021-11-08 16:11:51 +00:00
..
ANGLE_base_vertex_base_instance.txt
ANGLE_client_arrays.txt
ANGLE_compressed_texture_etc.txt
ANGLE_copy_texture_3d.txt
ANGLE_depth_texture.txt
ANGLE_explicit_context_gles1.txt
ANGLE_external_objects_flags.txt
ANGLE_external_objects_fuchsia.txt
ANGLE_framebuffer_blit.txt
ANGLE_framebuffer_multisample.txt
ANGLE_get_image.txt Add GetCompressedTexImageANGLE to ANGLE_get_image 2021-09-20 22:12:38 +00:00
ANGLE_get_serialized_context_string.txt Add GL_ANGLE_get_serialized_context_string. 2021-04-03 01:56:41 +00:00
ANGLE_get_tex_level_parameter.txt
ANGLE_instanced_arrays.txt
ANGLE_lossy_etc_decode.txt
ANGLE_memory_size.txt
ANGLE_multi_draw.txt
ANGLE_multiview_multisample.txt
ANGLE_pack_reverse_row_order.txt
ANGLE_program_binary.txt
ANGLE_program_cache_control.txt
ANGLE_relaxed_vertex_attribute_type.txt Vulkan: Allow certain usecases to have non-zero stride 2021-05-21 21:09:44 +00:00
ANGLE_request_extension.txt
ANGLE_robust_client_memory.txt
ANGLE_robust_fragment_shader_output.txt Add GL_ANGLE_robust_fragment_shader_output. 2021-10-21 14:55:14 +00:00
ANGLE_robust_resource_initialization.txt Update ANGLE_robust_resource_initialization about depth 2021-10-01 23:05:57 +00:00
ANGLE_texture_compression_dxt.txt
ANGLE_texture_multisample.txt
ANGLE_texture_usage.txt
ANGLE_timer_query.txt
ANGLE_translated_shader_source.txt
ANGLE_webgl_compatibility.txt Add shader targeting language to WebGL compat spec. 2021-10-05 15:37:31 +00:00
ANGLE_yuv_internal_format.txt Vulkan: Add GL_ANGLE_yuv_internal_format extension 2021-07-14 21:02:30 +00:00
CHROMIUM_bind_generates_resource.txt
CHROMIUM_bind_uniform_location.txt
CHROMIUM_compressed_copy_texture.txt
CHROMIUM_copy_texture.txt
CHROMIUM_sync_query.txt
EGL_ANGLE_context_virtualization.txt GL: Allow selecting virtualization groups at context creation 2021-10-25 17:20:56 +00:00
EGL_ANGLE_create_context_backwards_compatible.txt
EGL_ANGLE_create_context_client_arrays.txt
EGL_ANGLE_create_context_extensions_enabled.txt
EGL_ANGLE_create_context_webgl_compatibility.txt
EGL_ANGLE_create_surface_swap_interval.txt Add EGL extension to create window with a swap interval set. 2021-08-20 20:31:34 +00:00
EGL_ANGLE_d3d_share_handle_client_buffer.txt
EGL_ANGLE_d3d_texture_client_buffer.txt d3d11: Allow binding R/RG texture to EGLImage 2021-09-08 18:55:19 +00:00
EGL_ANGLE_device_cgl.txt
EGL_ANGLE_device_creation.txt
EGL_ANGLE_device_creation_d3d11.txt
EGL_ANGLE_device_d3d.txt
EGL_ANGLE_device_eagl.txt
EGL_ANGLE_device_metal.txt Metal: implement ANGLE_device_metal extension. 2021-04-01 01:37:08 +00:00
EGL_ANGLE_device_vulkan.txt Add more attributes for EGL_ANGLE_device_vulkan 2021-11-05 19:17:29 +00:00
EGL_ANGLE_direct3d_display.txt
EGL_ANGLE_direct_composition.txt
EGL_ANGLE_display_power_preference.txt Metal: Reintroduce GPU power preference selection code. 2021-11-08 16:11:51 +00:00
EGL_ANGLE_display_semaphore_share_group.txt
EGL_ANGLE_display_texture_share_group.txt
EGL_ANGLE_experimental_present_path.txt
EGL_ANGLE_explicit_context.txt
EGL_ANGLE_feature_control.txt
EGL_ANGLE_ggp_stream_descriptor.txt
EGL_ANGLE_iosurface_client_buffer.txt
EGL_ANGLE_keyed_mutex.txt
EGL_ANGLE_metal_texture_client_buffer.txt Reland: Metal: Support importing external metal textures 2021-04-16 03:31:26 +00:00
EGL_ANGLE_platform_angle.txt Metal: Reintroduce GPU power preference selection code. 2021-11-08 16:11:51 +00:00
EGL_ANGLE_platform_angle_d3d.txt
EGL_ANGLE_platform_angle_d3d11on12.txt
EGL_ANGLE_platform_angle_d3d_luid.txt
EGL_ANGLE_platform_angle_device_context_volatile_cgl.txt
EGL_ANGLE_platform_angle_device_context_volatile_eagl.txt
EGL_ANGLE_platform_angle_device_type_egl.txt
EGL_ANGLE_platform_angle_device_type_swiftshader.txt
EGL_ANGLE_platform_angle_metal.txt
EGL_ANGLE_platform_angle_null.txt
EGL_ANGLE_platform_angle_opengl.txt
EGL_ANGLE_platform_angle_vulkan.txt
EGL_ANGLE_power_preference.txt
EGL_ANGLE_program_cache_control.txt
EGL_ANGLE_query_surface_pointer.txt
EGL_ANGLE_robust_resource_initialization.txt
EGL_ANGLE_software_display.txt
EGL_ANGLE_stream_producer_d3d_texture.txt
EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt
EGL_ANGLE_surface_orientation.txt
EGL_ANGLE_swap_with_frame_token.txt
EGL_ANGLE_sync_control_rate.txt
EGL_ANGLE_vulkan_display.txt
EGL_ANGLE_window_fixed_size.txt
EGL_ANGLE_x11_visual.txt
EGL_CHROMIUM_create_context_bind_generates_resource.txt
EGL_CHROMIUM_sync_control.txt
EGL_EXT_device_query.txt