1 // Copyright 2017 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 5 #ifndef REMOTING_HOST_WIN_EVALUATE_D3D_H_ 6 #define REMOTING_HOST_WIN_EVALUATE_D3D_H_ 7 8 #include <string> 9 #include <vector> 10 11 namespace remoting { 12 13 // Evaluates the D3D capability of the system and sends the results to stdout. 14 // DO NOT call this method within the host process. Only call in an isolated 15 // child process. I.e. from EvaluateCapabilityLocally(). 16 int EvaluateD3D(); 17 18 // Evaluates the D3D capability of the system in a separate process. Returns 19 // true if the process succeeded. The capabilities will be stored in |result|. 20 // Note, this is not a cheap call, it uses EvaluateCapability() internally to 21 // spawn a new process, which may take a noticeable amount of time. 22 bool GetD3DCapabilities(std::vector<std::string>* result); 23 24 // Used to ensure that pulling in the DirectX dependencies and creating a D3D 25 // Device does not result in a crash or system instability. 26 // Note: This is an expensive call as it creates a new process and blocks on it. 27 bool IsD3DAvailable(); 28 29 } // namespace remoting 30 31 #endif // REMOTING_HOST_WIN_EVALUATE_D3D_H_ 32