Commit 135e2400 by Nicolas Capens Committed by Nicolas Capens

Restrict multisampling to normalized unsigned and float formats.

Surface::resolve() currently only supports these formats. Also this change reuses the GetColorComponentType() utility function instead of using a separate switch. Effectively, signed normalized formats now return 0 samples. Change-Id: I839ffa89a63d8e1b0a40913d3b1ad13e2ce0b5a8 Reviewed-on: https://swiftshader-review.googlesource.com/16389Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 3b4a25c5
......@@ -3764,39 +3764,13 @@ GL_APICALL void GL_APIENTRY glGetInternalformativ(GLenum target, GLenum internal
return error(GL_INVALID_ENUM);
}
// Integer types have no multisampling
GLint numMultisampleCounts = NUM_MULTISAMPLE_COUNTS;
switch(internalformat)
{
case GL_R8UI:
case GL_R8I:
case GL_R16UI:
case GL_R16I:
case GL_R32UI:
case GL_R32I:
case GL_RG8UI:
case GL_RG8I:
case GL_RG16UI:
case GL_RG16I:
case GL_RG32UI:
case GL_RG32I:
case GL_RGB8UI:
case GL_RGB8I:
case GL_RGB16UI:
case GL_RGB16I:
case GL_RGB32UI:
case GL_RGB32I:
case GL_RGBA8UI:
case GL_RGBA8I:
case GL_RGB10_A2UI:
case GL_RGBA16UI:
case GL_RGBA16I:
case GL_RGBA32UI:
case GL_RGBA32I:
// Integer types have no multisampling
GLenum type = GetColorComponentType(internalformat);
if(type != GL_UNSIGNED_NORMALIZED && type != GL_FLOAT)
{
numMultisampleCounts = 0;
break;
default:
break;
}
switch(pname)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment