mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
Merge branch 'mesa_7_6_branch'
This commit is contained in:
commit
57e3eb1b17
6 changed files with 26 additions and 10 deletions
|
|
@ -43,6 +43,7 @@ tbd
|
|||
<li>Fixed default texture binding bug when a bound texture was deleted.
|
||||
<li>r300: Work around an issue with very large fragment programs on R500.
|
||||
<li>Fake glXQueryDrawable() didn't return good values (bug 24320)
|
||||
<li>Fixed AUX buffer breakage (bug 24426).
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -97,7 +97,12 @@ sp_create_tile_cache( struct pipe_screen *screen )
|
|||
}
|
||||
tc->last_tile = &tc->entries[0]; /* any tile */
|
||||
|
||||
#if TILE_CLEAR_OPTIMIZATION
|
||||
/* XXX this code prevents valgrind warnings about use of uninitialized
|
||||
* memory in programs that don't clear the surface before rendering.
|
||||
* However, it breaks clearing in other situations (such as in
|
||||
* progs/tests/drawbuffers, see bug 24402).
|
||||
*/
|
||||
#if 0 && TILE_CLEAR_OPTIMIZATION
|
||||
/* set flags to indicate all the tiles are cleared */
|
||||
memset(tc->clear_flags, 255, sizeof(tc->clear_flags));
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1295,11 +1295,15 @@ 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 + 1;
|
||||
y2 = context->radeon.state.scissor.rect.y2 + 1;
|
||||
x2 = context->radeon.state.scissor.rect.x2;
|
||||
y2 = context->radeon.state.scissor.rect.y2;
|
||||
/* r600 has exclusive BR scissors */
|
||||
if (context->radeon.radeonScreen->kernel_mm) {
|
||||
x2++;
|
||||
y2++;
|
||||
}
|
||||
} else {
|
||||
if (context->radeon.radeonScreen->driScreen->dri2.enabled) {
|
||||
x1 = 0;
|
||||
|
|
|
|||
|
|
@ -229,16 +229,15 @@ void radeonUpdateScissor( GLcontext *ctx )
|
|||
}
|
||||
if (!rmesa->radeonScreen->kernel_mm) {
|
||||
/* Fix scissors for dri 1 */
|
||||
|
||||
__DRIdrawablePrivate *dPriv = radeon_get_drawable(rmesa);
|
||||
x1 += dPriv->x;
|
||||
x2 += dPriv->x;
|
||||
x2 += dPriv->x + 1;
|
||||
min_x += dPriv->x;
|
||||
max_x += dPriv->x;
|
||||
max_x += dPriv->x + 1;
|
||||
y1 += dPriv->y;
|
||||
y2 += dPriv->y;
|
||||
y2 += dPriv->y + 1;
|
||||
min_y += dPriv->y;
|
||||
max_y += dPriv->y;
|
||||
max_y += dPriv->y + 1;
|
||||
}
|
||||
|
||||
rmesa->state.scissor.rect.x1 = CLAMP(x1, min_x, max_x);
|
||||
|
|
|
|||
|
|
@ -1955,7 +1955,7 @@ _mesa_add_aux_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
|
|||
return GL_FALSE;
|
||||
}
|
||||
|
||||
assert(numBuffers < MAX_AUX_BUFFERS);
|
||||
assert(numBuffers <= MAX_AUX_BUFFERS);
|
||||
|
||||
for (i = 0; i < numBuffers; i++) {
|
||||
struct gl_renderbuffer *rb = _mesa_new_renderbuffer(ctx, 0);
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ st_create_framebuffer( const __GLcontextModes *visual,
|
|||
struct st_framebuffer *stfb = ST_CALLOC_STRUCT(st_framebuffer);
|
||||
if (stfb) {
|
||||
int samples = st_get_msaa();
|
||||
int i;
|
||||
|
||||
if (visual->sampleBuffers)
|
||||
samples = visual->samples;
|
||||
|
|
@ -119,6 +120,12 @@ st_create_framebuffer( const __GLcontextModes *visual,
|
|||
_mesa_add_renderbuffer(&stfb->Base, BUFFER_ACCUM, accumRb);
|
||||
}
|
||||
|
||||
for (i = 0; i < visual->numAuxBuffers; i++) {
|
||||
struct gl_renderbuffer *aux
|
||||
= st_new_renderbuffer_fb(colorFormat, 0, FALSE);
|
||||
_mesa_add_renderbuffer(&stfb->Base, BUFFER_AUX0 + i, aux);
|
||||
}
|
||||
|
||||
stfb->Base.Initialized = GL_TRUE;
|
||||
stfb->InitWidth = width;
|
||||
stfb->InitHeight = height;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue