mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-30 07:10:27 +01:00
radeon: Fix scissors for r600 KMS.
Radeon generic scissors code had problem that some of code was using exclusive and some inclusive bottom right corner. Only r600 driver is using exclusive coordinate so changed generic code to pass inclusive coordinate and r600 driver changes BR coordinate to be exclusive.
This commit is contained in:
parent
7549a8397b
commit
1d2dca194c
2 changed files with 7 additions and 6 deletions
|
|
@ -1269,10 +1269,11 @@ void r700SetScissor(context_t *context) //---------------
|
|||
return;
|
||||
}
|
||||
if (context->radeon.state.scissor.enabled) {
|
||||
/* r600 has exclusive scissors */
|
||||
x1 = context->radeon.state.scissor.rect.x1;
|
||||
y1 = context->radeon.state.scissor.rect.y1;
|
||||
x2 = context->radeon.state.scissor.rect.x2;
|
||||
y2 = context->radeon.state.scissor.rect.y2;
|
||||
x2 = context->radeon.state.scissor.rect.x2 + 1;
|
||||
y2 = context->radeon.state.scissor.rect.y2 + 1;
|
||||
} else {
|
||||
if (context->radeon.radeonScreen->driScreen->dri2.enabled) {
|
||||
x1 = 0;
|
||||
|
|
|
|||
|
|
@ -232,13 +232,13 @@ void radeonUpdateScissor( GLcontext *ctx )
|
|||
|
||||
__DRIdrawablePrivate *dPriv = radeon_get_drawable(rmesa);
|
||||
x1 += dPriv->x;
|
||||
x2 += dPriv->x + 1;
|
||||
x2 += dPriv->x;
|
||||
min_x += dPriv->x;
|
||||
max_x += dPriv->x + 1;
|
||||
max_x += dPriv->x;
|
||||
y1 += dPriv->y;
|
||||
y2 += dPriv->y + 1;
|
||||
y2 += dPriv->y;
|
||||
min_y += dPriv->y;
|
||||
max_y += dPriv->y + 1;
|
||||
max_y += dPriv->y;
|
||||
}
|
||||
|
||||
rmesa->state.scissor.rect.x1 = CLAMP(x1, min_x, max_x);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue