Commit 1de0eb7b by Nicolas Capens Committed by Nicolas Capens

Fix implementation format for default renderbuffer.

The spec defines that the initial state for a newly bound renderbuffer has a format of RGBA4. However, when querying the number of red/green/ blue/alpha/depth/stencil bits, we should report the actual number of bits allocated (0), and not assert. Bug chromium:765912 Bug b/25351344 Change-Id: Icc3eb59e76bcbd6f0f2f16a2a75ace706ae17251 Reviewed-on: https://swiftshader-review.googlesource.com/12148Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 3cbeac56
...@@ -423,7 +423,7 @@ RenderbufferStorage::RenderbufferStorage() ...@@ -423,7 +423,7 @@ RenderbufferStorage::RenderbufferStorage()
mWidth = 0; mWidth = 0;
mHeight = 0; mHeight = 0;
format = GL_RGBA4; format = GL_RGBA4;
internalFormat = sw::FORMAT_A8B8G8R8; internalFormat = sw::FORMAT_NULL;
mSamples = 0; mSamples = 0;
} }
......
...@@ -1588,6 +1588,8 @@ namespace sw2es ...@@ -1588,6 +1588,8 @@ namespace sw2es
{ {
switch(stencilFormat) switch(stencilFormat)
{ {
case sw::FORMAT_NULL:
return 0;
case sw::FORMAT_D24FS8: case sw::FORMAT_D24FS8:
case sw::FORMAT_D24S8: case sw::FORMAT_D24S8:
case sw::FORMAT_D32FS8_TEXTURE: case sw::FORMAT_D32FS8_TEXTURE:
...@@ -1616,6 +1618,8 @@ namespace sw2es ...@@ -1616,6 +1618,8 @@ namespace sw2es
{ {
switch(colorFormat) switch(colorFormat)
{ {
case sw::FORMAT_NULL:
return 0;
case sw::FORMAT_A16B16G16R16F: case sw::FORMAT_A16B16G16R16F:
case sw::FORMAT_A16B16G16R16I: case sw::FORMAT_A16B16G16R16I:
case sw::FORMAT_A16B16G16R16UI: case sw::FORMAT_A16B16G16R16UI:
...@@ -1652,6 +1656,8 @@ namespace sw2es ...@@ -1652,6 +1656,8 @@ namespace sw2es
{ {
switch(colorFormat) switch(colorFormat)
{ {
case sw::FORMAT_NULL:
return 0;
case sw::FORMAT_R16F: case sw::FORMAT_R16F:
case sw::FORMAT_G16R16F: case sw::FORMAT_G16R16F:
case sw::FORMAT_B16G16R16F: case sw::FORMAT_B16G16R16F:
...@@ -1716,6 +1722,8 @@ namespace sw2es ...@@ -1716,6 +1722,8 @@ namespace sw2es
{ {
switch(colorFormat) switch(colorFormat)
{ {
case sw::FORMAT_NULL:
return 0;
case sw::FORMAT_G16R16F: case sw::FORMAT_G16R16F:
case sw::FORMAT_B16G16R16F: case sw::FORMAT_B16G16R16F:
case sw::FORMAT_A16B16G16R16F: case sw::FORMAT_A16B16G16R16F:
...@@ -1771,6 +1779,8 @@ namespace sw2es ...@@ -1771,6 +1779,8 @@ namespace sw2es
{ {
switch(colorFormat) switch(colorFormat)
{ {
case sw::FORMAT_NULL:
return 0;
case sw::FORMAT_B16G16R16F: case sw::FORMAT_B16G16R16F:
case sw::FORMAT_A16B16G16R16F: case sw::FORMAT_A16B16G16R16F:
case sw::FORMAT_X16B16G16R16I: case sw::FORMAT_X16B16G16R16I:
...@@ -1815,6 +1825,7 @@ namespace sw2es ...@@ -1815,6 +1825,7 @@ namespace sw2es
{ {
switch(depthFormat) switch(depthFormat)
{ {
case sw::FORMAT_NULL: return 0;
// case sw::FORMAT_D16_LOCKABLE: return 16; // case sw::FORMAT_D16_LOCKABLE: return 16;
case sw::FORMAT_D32: return 32; case sw::FORMAT_D32: return 32;
// case sw::FORMAT_D15S1: return 15; // case sw::FORMAT_D15S1: return 15;
......
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