gallium: handle the case of util_pack_z_stencil(format=PIPE_FORMAT_S8_UNORM)

Fixes failed assertion in glean fbo test.
This commit is contained in:
Brian Paul 2009-04-08 08:23:01 -06:00
parent 9f784647ad
commit a3277c542b

View file

@ -434,6 +434,9 @@ util_pack_z(enum pipe_format format, double z)
if (z == 1.0)
return 0xffffff00;
return ((uint) (z * 0xffffff)) << 8;
case PIPE_FORMAT_S8_UNORM:
/* this case can get it via util_pack_z_stencil() */
return 0;
default:
debug_print_format("gallium: unhandled format in util_pack_z()", format);
assert(0);
@ -443,6 +446,7 @@ util_pack_z(enum pipe_format format, double z)
/**
* Pack Z and/or stencil values into a 32-bit value described by format.
* Note: it's assumed that z is in [0,1] and s in [0,255]
*/
static INLINE uint
@ -456,6 +460,10 @@ util_pack_z_stencil(enum pipe_format format, double z, uint s)
break;
case PIPE_FORMAT_Z24S8_UNORM:
packed |= s;
break;
case PIPE_FORMAT_S8_UNORM:
packed |= s;
break;
default:
break;
}