mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 18:28:12 +02:00
i915tex: Fix randr resizing. Rotation still broken.
This commit is contained in:
parent
60c28739aa
commit
fe9fef2cec
2 changed files with 30 additions and 3 deletions
|
|
@ -357,6 +357,10 @@ intelInitContext(struct intel_context *intel,
|
|||
intel->driScreen = sPriv;
|
||||
intel->sarea = saPriv;
|
||||
|
||||
intel->width = intelScreen->width;
|
||||
intel->height = intelScreen->height;
|
||||
intel->current_rotation = intelScreen->current_rotation;
|
||||
|
||||
if (!lockMutexInit) {
|
||||
lockMutexInit = GL_TRUE;
|
||||
_glthread_INIT_MUTEX(lockMutex);
|
||||
|
|
@ -635,12 +639,22 @@ intelContendedLock(struct intel_context *intel, GLuint flags)
|
|||
sarea->rotation != intelScreen->current_rotation) {
|
||||
|
||||
intelUpdateScreenRotation(sPriv, sarea);
|
||||
}
|
||||
|
||||
/*
|
||||
* This will drop the outstanding batchbuffer on the floor
|
||||
* FIXME: This should be done for all contexts?
|
||||
if (sarea->width != intel->width ||
|
||||
sarea->height != intel->height ||
|
||||
sarea->rotation != intel->current_rotation) {
|
||||
|
||||
/*
|
||||
* FIXME: Really only need to do this when drawing to a
|
||||
* common back- or front buffer.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This will drop the outstanding batchbuffer on the floor
|
||||
*/
|
||||
|
||||
driBOUnmap(intel->batch->buffer);
|
||||
intel_batchbuffer_reset(intel->batch);
|
||||
|
||||
/* lose all primitives */
|
||||
|
|
@ -653,6 +667,10 @@ intelContendedLock(struct intel_context *intel, GLuint flags)
|
|||
|
||||
/* force window update */
|
||||
intel->lastStamp = 0;
|
||||
|
||||
intel->width = sarea->width;
|
||||
intel->height = sarea->height;
|
||||
intel->current_rotation = sarea->rotation;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -286,6 +286,15 @@ struct intel_context
|
|||
GLuint swap_missed_count;
|
||||
|
||||
GLuint swap_scheduled;
|
||||
|
||||
/* Rotation. Need to match that of the
|
||||
* current screen.
|
||||
*/
|
||||
|
||||
int width;
|
||||
int height;
|
||||
int current_rotation;
|
||||
|
||||
};
|
||||
|
||||
/* These are functions now:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue