Merge branch 'vulkan' into shader-nodes

This commit is contained in:
Jérôme Leclercq 2020-07-08 22:38:24 +02:00
commit b076a517c6
6 changed files with 19 additions and 17 deletions

View File

@ -60,7 +60,10 @@ namespace Nz
return false; return false;
} }
return func(str.substr(previousPos)); if (previousPos < str.size())
return func(str.substr(previousPos));
else
return true;
} }
template<typename F> template<typename F>

View File

@ -185,22 +185,21 @@ namespace Nz::GL
return -1; return -1;
}; };
std::string_view versionString = reinterpret_cast<const char*>(glGetString(GL_VERSION)); GLint majorVersion = 0;
if (versionString.size() > 2 && DecodeDigit(versionString[0]) >= 0 && versionString[1] == '.' && DecodeDigit(versionString[2]) >= 0) glGetIntegerv(GL_MAJOR_VERSION, &majorVersion);
{
m_params.glMajorVersion = DecodeDigit(versionString[0]); GLint minorVersion = 0;
m_params.glMinorVersion = DecodeDigit(versionString[2]); glGetIntegerv(GL_MINOR_VERSION, &minorVersion);
}
else m_params.glMajorVersion = majorVersion;
NazaraWarning("Failed to decode OpenGL version: " + std::string(versionString)); m_params.glMinorVersion = minorVersion;
// Load extensions // Load extensions
std::string_view extensionList = reinterpret_cast<const char*>(glGetString(GL_EXTENSIONS)); GLint extensionCount = 0;
SplitString(extensionList, " ", [&](std::string_view extension) glGetIntegerv(GL_NUM_EXTENSIONS, &extensionCount);
{
m_supportedExtensions.emplace(extension); for (GLint i = 0; i < extensionCount; ++i)
return true; m_supportedExtensions.emplace(reinterpret_cast<const char*>(glGetStringi(GL_EXTENSIONS, i)));
});
m_extensionStatus.fill(ExtensionStatus::NotSupported); m_extensionStatus.fill(ExtensionStatus::NotSupported);

View File

@ -119,7 +119,7 @@ namespace Nz::GL
WGL_CONTEXT_MAJOR_VERSION_ARB, int(version.major), WGL_CONTEXT_MAJOR_VERSION_ARB, int(version.major),
WGL_CONTEXT_MINOR_VERSION_ARB, int(version.minor), WGL_CONTEXT_MINOR_VERSION_ARB, int(version.minor),
WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB | WGL_CONTEXT_ES_PROFILE_BIT_EXT WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_ES_PROFILE_BIT_EXT
}; };
m_handle = baseContext->wglCreateContextAttribsARB(m_deviceContext, nullptr, attributes.data()); m_handle = baseContext->wglCreateContextAttribsARB(m_deviceContext, nullptr, attributes.data());

View File

@ -88,7 +88,7 @@ namespace Nz
createInfo.extent.width = params.width; createInfo.extent.width = params.width;
createInfo.extent.height = params.height; createInfo.extent.height = params.height;
createInfo.extent.depth = 1; createInfo.extent.depth = 1;
createInfo.arrayLayers = params.height; createInfo.arrayLayers = params.depth;
break; break;
case ImageType_3D: case ImageType_3D: