Przeglądaj źródła

get rid of more pageflip/rotation code.

tags/mesa_20090313
Roland Scheidegger 18 lat temu
rodzic
commit
881d71495b

+ 5
- 43
src/mesa/drivers/dri/i915tex/intel_buffers.c Wyświetl plik

@@ -650,7 +650,7 @@ intel_wait_flips(struct intel_context *intel, GLuint batch_flags)
}
}

#if 0
/* Flip the front & back buffers
*/
static GLboolean
@@ -712,35 +712,8 @@ intelPageFlip(const __DRIdrawablePrivate * dPriv)

return GL_TRUE;
}
#endif

#if 0
void
intelSwapBuffers(__DRIdrawablePrivate * dPriv)
{
if (dPriv->driverPrivate) {
const struct gl_framebuffer *fb
= (struct gl_framebuffer *) dPriv->driverPrivate;
if (fb->Visual.doubleBufferMode) {
GET_CURRENT_CONTEXT(ctx);
if (ctx && ctx->DrawBuffer == fb) {
_mesa_notifySwapBuffers(ctx); /* flush pending rendering */
}
if (intel->doPageFlip) {
intelPageFlip(dPriv);
}
else {
intelCopyBuffer(dPriv);
}
}
}
else {
_mesa_problem(NULL,
"dPriv has no gl_framebuffer pointer in intelSwapBuffers");
}
}
#else
/* Trunk version:
*/

static GLboolean
intelScheduleSwap(const __DRIdrawablePrivate * dPriv, GLboolean *missed_target)
@@ -755,8 +728,7 @@ intelScheduleSwap(const __DRIdrawablePrivate * dPriv, GLboolean *missed_target)
GLboolean ret;

if ((intel_fb->vblank_flags & VBLANK_FLAG_NO_IRQ) ||
intelScreen->current_rotation != 0 ||
intelScreen->drmMinor < (intel_fb->pf_active ? 9 : 6))
intelScreen->drmMinor < (intel_fb->pf_active ? 9 : 6))
return GL_FALSE;

swap.seqtype = DRM_VBLANK_ABSOLUTE;
@@ -831,26 +803,17 @@ intelSwapBuffers(__DRIdrawablePrivate * dPriv)
intel = intel_context(ctx);

if (ctx->Visual.doubleBufferMode) {
intelScreenPrivate *screen = intel->intelScreen;
GLboolean missed_target;
struct intel_framebuffer *intel_fb = dPriv->driverPrivate;
int64_t ust;

_mesa_notifySwapBuffers(ctx); /* flush pending rendering comands */

if (screen->current_rotation != 0 ||
!intelScheduleSwap(dPriv, &missed_target)) {
if (!intelScheduleSwap(dPriv, &missed_target)) {
driWaitForVBlank(dPriv, &intel_fb->vbl_seq, intel_fb->vblank_flags,
&missed_target);

if (screen->current_rotation != 0 || !intelPageFlip(dPriv)) {
intelCopyBuffer(dPriv, NULL);
}
#if 0
if (screen->current_rotation != 0) {
intelRotateWindow(intel, dPriv, BUFFER_BIT_FRONT_LEFT);
}
#endif
intelCopyBuffer(dPriv, NULL);
}

intel_fb->swap_count++;
@@ -868,7 +831,6 @@ intelSwapBuffers(__DRIdrawablePrivate * dPriv)
fprintf(stderr, "%s: drawable has no context!\n", __FUNCTION__);
}
}
#endif

void
intelCopySubBuffer(__DRIdrawablePrivate * dPriv, int x, int y, int w, int h)

+ 1
- 6
src/mesa/drivers/dri/i915tex/intel_context.c Wyświetl plik

@@ -390,10 +390,6 @@ 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);
@@ -658,8 +654,7 @@ intelContendedLock(struct intel_context *intel, GLuint flags)
DRI_VALIDATE_DRAWABLE_INFO(sPriv, dPriv);

if (sarea->width != intelScreen->width ||
sarea->height != intelScreen->height ||
sarea->rotation != intelScreen->current_rotation) {
sarea->height != intelScreen->height) {

intelUpdateScreenRotation(sPriv, sarea);
}

+ 0
- 15
src/mesa/drivers/dri/i915tex/intel_context.h Wyświetl plik

@@ -234,13 +234,6 @@ struct intel_context
GLuint vertex_size;
GLubyte *verts; /* points to tnl->clipspace.vertex_buf */

#if 0
struct intel_region *front_region; /* XXX FBO: obsolete */
struct intel_region *rotated_region; /* XXX FBO: obsolete */
struct intel_region *back_region; /* XXX FBO: obsolete */
struct intel_region *draw_region; /* XXX FBO: rename to color_region */
struct intel_region *depth_region; /**< currently bound depth/Z region */
#endif

/* Fallback rasterization functions
*/
@@ -276,14 +269,6 @@ struct intel_context
* Configuration cache
*/
driOptionCache optionCache;

/* Rotation. Need to match that of the
* current screen.
*/

int width;
int height;
int current_rotation;
};

/* These are functions now:

+ 0
- 2
src/mesa/drivers/dri/i915tex/intel_screen.h Wyświetl plik

@@ -74,8 +74,6 @@ typedef struct

struct matrix23 rotMatrix;

int current_rotation; /* 0, 90, 180 or 270 */
int rotatedWidth, rotatedHeight;

/**
* Configuration cache with default values for all contexts

Ładowanie…
Anuluj
Zapisz