55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
package instance
|
|
|
|
import (
|
|
"github.com/vkngwrapper/core/v2"
|
|
"github.com/vkngwrapper/extensions/v2/ext_debug_utils"
|
|
"github.com/vkngwrapper/extensions/v2/khr_get_physical_device_properties2"
|
|
"github.com/vkngwrapper/extensions/v2/khr_surface"
|
|
"log"
|
|
)
|
|
|
|
var (
|
|
extensions = []string{
|
|
khr_surface.ExtensionName,
|
|
ext_debug_utils.ExtensionName,
|
|
khr_get_physical_device_properties2.ExtensionName,
|
|
"VK_KHR_win32_surface",
|
|
"VK_EXT_debug_report",
|
|
"VK_KHR_portability_enumeration",
|
|
}
|
|
layers = []string{
|
|
"VK_LAYER_KHRONOS_validation",
|
|
"VK_LAYER_LUNARG_api_dump",
|
|
}
|
|
engineName = "goworld"
|
|
)
|
|
|
|
func _EnabledExtensionNames(loader *core.VulkanLoader) []string {
|
|
availableExtensions, _, _ := loader.AvailableExtensions()
|
|
var _extensions []string
|
|
for _, ext := range extensions {
|
|
_, hasExt := availableExtensions[ext]
|
|
if !hasExt {
|
|
log.Printf("cann't support extension: %s", ext)
|
|
continue
|
|
}
|
|
_extensions = append(_extensions, ext)
|
|
}
|
|
extensions = _extensions
|
|
return _extensions
|
|
}
|
|
func _EnabledLayerNames(loader *core.VulkanLoader) []string {
|
|
avaliableLayers, _, _ := loader.AvailableLayers()
|
|
var _layers []string
|
|
for _, lay := range layers {
|
|
_, hasExt := avaliableLayers[lay]
|
|
if !hasExt {
|
|
log.Printf("cann't support layer: %s", lay)
|
|
continue
|
|
}
|
|
_layers = append(_layers, lay)
|
|
}
|
|
layers = _layers
|
|
return layers
|
|
}
|