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 func(str.substr(previousPos));
if (previousPos < str.size())
return func(str.substr(previousPos));
else
return true;
}
template<typename F>

View File

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

View File

@ -119,7 +119,7 @@ namespace Nz::GL
WGL_CONTEXT_MAJOR_VERSION_ARB, int(version.major),
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());

View File

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