+#include <cstdlib>
#include <msp/graphics/vulkancontext_platform.h>
+#include <msp/strings/lexicalcast.h>
#include "device.h"
#include "device_backend.h"
#include "vulkan.h"
+using namespace std;
+
namespace Msp {
namespace GL {
functions(new VulkanFunctions(context)),
allocator(*static_cast<Device *>(this)),
destroy_queue(*static_cast<Device *>(this)),
+ synchronizer(*static_cast<Device *>(this)),
transfer_queue(*static_cast<Device *>(this)),
- pipeline_cache(*static_cast<Device *>(this))
+ pipeline_cache(*static_cast<Device *>(this)),
+ descriptor_pool(*static_cast<Device *>(this))
{ }
// Cause the destructor of RefPtr<VulkanFunctions> to be emitted here
Graphics::VulkanOptions VulkanDevice::create_default_options()
{
Graphics::VulkanOptions opts;
+ opts.enable_geometry_shader = true;
#ifdef DEBUG
- opts.enable_validation = true;
+ const char *disable_ptr = getenv("MSPGL_DISABLE_VALIDATION");
+ if(disable_ptr && *disable_ptr)
+ opts.enable_validation = !lexical_cast<bool>(string(disable_ptr));
+ else
+ opts.enable_validation = true;
opts.enable_debug_report = true;
#endif
return opts;