test_environment.h revision 8205d901f17b1c76d89c956be235cf4e7a20a546
134888cfbdcd1769789e922ed81f6f997073120baTony Barbour#ifndef TEST_ENVIRONMENT_H 234888cfbdcd1769789e922ed81f6f997073120baTony Barbour#define TEST_ENVIRONMENT_H 39cc421eb545767e22fd723dc573a7a3225261b1cCourtney Goeltzenleuchter#include "vktestbinding.h" 49cc421eb545767e22fd723dc573a7a3225261b1cCourtney Goeltzenleuchter#include <vkWsiX11Ext.h> 534888cfbdcd1769789e922ed81f6f997073120baTony Barbour 69cc421eb545767e22fd723dc573a7a3225261b1cCourtney Goeltzenleuchternamespace vk_testing { 734888cfbdcd1769789e922ed81f6f997073120baTony Barbourclass Environment : public ::testing::Environment { 834888cfbdcd1769789e922ed81f6f997073120baTony Barbourpublic: 934888cfbdcd1769789e922ed81f6f997073120baTony Barbour Environment(); 1034888cfbdcd1769789e922ed81f6f997073120baTony Barbour 1134888cfbdcd1769789e922ed81f6f997073120baTony Barbour bool parse_args(int argc, char **argv); 1234888cfbdcd1769789e922ed81f6f997073120baTony Barbour 1334888cfbdcd1769789e922ed81f6f997073120baTony Barbour virtual void SetUp(); 1434888cfbdcd1769789e922ed81f6f997073120baTony Barbour virtual void X11SetUp(); 1534888cfbdcd1769789e922ed81f6f997073120baTony Barbour virtual void TearDown(); 1634888cfbdcd1769789e922ed81f6f997073120baTony Barbour xcb_connection_t *m_connection; 1734888cfbdcd1769789e922ed81f6f997073120baTony Barbour xcb_screen_t *m_screen; 1834888cfbdcd1769789e922ed81f6f997073120baTony Barbour 1934888cfbdcd1769789e922ed81f6f997073120baTony Barbour const std::vector<Device *> &devices() { return devs_; } 2034888cfbdcd1769789e922ed81f6f997073120baTony Barbour Device &default_device() { return *(devs_[default_dev_]); } 218205d901f17b1c76d89c956be235cf4e7a20a546Tony Barbour VkPhysicalDevice gpus[16]; 2234888cfbdcd1769789e922ed81f6f997073120baTony Barbour 2334888cfbdcd1769789e922ed81f6f997073120baTony Barbourprivate: 24382489d723fd0d3935da0dc7e1021c56c7b721d3Courtney Goeltzenleuchter VkApplicationInfo app_; 2534888cfbdcd1769789e922ed81f6f997073120baTony Barbour int default_dev_; 26382489d723fd0d3935da0dc7e1021c56c7b721d3Courtney Goeltzenleuchter VkInstance inst; 2734888cfbdcd1769789e922ed81f6f997073120baTony Barbour 2834888cfbdcd1769789e922ed81f6f997073120baTony Barbour std::vector<Device *> devs_; 2934888cfbdcd1769789e922ed81f6f997073120baTony Barbour}; 3034888cfbdcd1769789e922ed81f6f997073120baTony Barbour} 3134888cfbdcd1769789e922ed81f6f997073120baTony Barbour#endif // TEST_ENVIRONMENT_H 32