mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
swrast: Don't do Z24S8 drawpixels fast-paths with Z32_X24S8 input data.
The cool part was that in the "fbo-depthstencil -drawpixels GL_DEPTH24_STENCIL8 32F_24_8_REV" testcase, the shifting happened to end up with a value awfully close to the expected value, except for every other pixel being 0 (the stencil value, shifted away to nothing). Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
5d1de8bc7d
commit
657f3214e7
1 changed files with 4 additions and 2 deletions
|
|
@ -625,7 +625,8 @@ draw_depth_stencil_pixels(struct gl_context *ctx, GLint x, GLint y,
|
|||
GL_DEPTH_STENCIL_EXT, type, i, 0);
|
||||
|
||||
if (ctx->Depth.Mask) {
|
||||
if (!scaleOrBias && ctx->DrawBuffer->Visual.depthBits == 24) {
|
||||
if (!scaleOrBias && ctx->DrawBuffer->Visual.depthBits == 24 &&
|
||||
type == GL_UNSIGNED_INT_24_8) {
|
||||
/* fast path 24-bit zbuffer */
|
||||
GLuint zValues[MAX_WIDTH];
|
||||
GLint j;
|
||||
|
|
@ -639,7 +640,8 @@ draw_depth_stencil_pixels(struct gl_context *ctx, GLint x, GLint y,
|
|||
else
|
||||
depthRb->PutRow(ctx, depthRb, width, x, y + i, zValues,NULL);
|
||||
}
|
||||
else if (!scaleOrBias && ctx->DrawBuffer->Visual.depthBits == 16) {
|
||||
else if (!scaleOrBias && ctx->DrawBuffer->Visual.depthBits == 16 &&
|
||||
type == GL_UNSIGNED_INT_24_8) {
|
||||
/* fast path 16-bit zbuffer */
|
||||
GLushort zValues[MAX_WIDTH];
|
||||
GLint j;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue