Example #1
0
    def __getRequiredExtensions(self):
        extensions = list(map(str, glfw.get_required_instance_extensions()))

        if enableValidationLayers:
            extensions.append(VK_EXT_DEBUG_REPORT_EXTENSION_NAME)

        return extensions
Example #2
0
    def init(self):
        application_info = vulkan.VkApplicationInfo(
            sType=vulkan.VK_STRUCTURE_TYPE_APPLICATION_INFO,
            pApplicationName="Triangle",
        )
        instance_create_info = vulkan.VkInstanceCreateInfo(
            sType=vulkan.VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
            pNext=None,
            flags=0,
            pApplicationInfo=application_info,
            ppEnabledExtensionNames=glfw.get_required_instance_extensions(),
        )

        self.instance = vulkan.vkCreateInstance(instance_create_info, None)
        if not self.instance:
            raise Exception("can't create vulkan instance")

        self.device = None
        for device in vulkan.vkEnumeratePhysicalDevices(self.instance):
            if device:
                self.device = device
                break

        if not self.device:
            raise Exception("no suitable device is found")

        for x in dir(self.instance):
            print(x)
Example #3
0
    def init(self, config: Configuration):

        self.glfw = glfw.init()
        glfw.window_hint(glfw.CLIENT_API, glfw.NO_API)
        glfw.window_hint(glfw.RESIZABLE, glfw.FALSE)
        self.window = glfw.create_window(config.width, config.height,
                                         config.name, None, None)

        self.extensions = glfw.get_required_instance_extensions()

        self.logger.info("GLFW Required Extensions:")
        for extension in self.extensions:
            self.logger.info(" ยท %s" % extension)