import "enums.proto"; import "steammessages_base.proto"; import "webuimessages_base.proto"; option optimize_for = SPEED; option cc_generic_services = true; message CMsgDisplayInfo { optional string make = 1; optional string model = 2; optional string connector_name = 3; repeated int32 supported_refresh_rates = 4; repeated int32 supported_frame_rates = 5; optional bool is_external = 6; } message CMsgGamescopeState { optional bool is_service_available = 1; optional bool is_reshade_supported = 2; optional bool is_app_hdr_enabled = 3; optional bool is_app_refresh_rate_supported = 4; optional .CMsgDisplayInfo active_display_info = 5; optional bool is_app_refresh_rate_capable = 6; optional bool is_refresh_rate_switching_supported = 7; optional bool is_refresh_rate_switching_restricted = 8; optional bool is_hdr_visualization_supported = 9; } message CGamescope_GetState_Request { } message CGamescope_GetState_Response { optional .CMsgGamescopeState state = 1; } message CGamescope_StateChanged_Notification { } message CGamescope_SetBlurParams_Request { optional .EGamescopeBlurMode mode = 1 [default = k_EGamescopeBlurMode_Disabled]; optional int32 radius = 2; optional int32 fade_duration_ms = 3; } message CGamescope_SetBlurParams_Response { } service Gamescope { option (webui_service_execution_site) = k_EClientExecutionSiteSteamUI; rpc GetState (.CGamescope_GetState_Request) returns (.CGamescope_GetState_Response); rpc NotifyStateChanged (.CGamescope_StateChanged_Notification) returns (.WebUINoResponse); rpc SetBlurParams (.CGamescope_SetBlurParams_Request) returns (.CGamescope_SetBlurParams_Response); }