Clean up some nits in i915_video.c setup.

- The screen dimensions were used for the clipping despite drawing being done
  to any pixmap, not necessarily the screen.
- One piece of state setup was not documented anywhere, and isn't used in other
  3d hardware paths that also work.
- A 3DSTATE_MODES_1 command (830-class only) was issued even though it no
  longer exists.
This commit is contained in:
Eric Anholt 2007-06-11 17:33:07 -07:00
parent 15caa64a49
commit 8d7a0ccd4f
1 changed files with 3 additions and 8 deletions

View File

@ -83,7 +83,7 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id,
pI830->last_3d = LAST_3D_VIDEO;
BEGIN_LP_RING(24);
BEGIN_LP_RING(20);
/* flush map & render cache */
OUT_RING(MI_FLUSH | MI_WRITE_DIRTY_STATE | MI_INVALIDATE_MAP_CACHE);
@ -94,16 +94,11 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id,
OUT_RING(DRAW_DITHER_OFS_X(pPixmap->drawable.x & 3) |
DRAW_DITHER_OFS_Y(pPixmap->drawable.y & 3));
OUT_RING(0x00000000); /* ymin, xmin */
OUT_RING((pScrn->virtualX - 1) |
(pScrn->virtualY - 1) << 16); /* ymax, xmax */
OUT_RING((pPixmap->drawable.width - 1) |
(pPixmap->drawable.height - 1) << 16); /* ymax, xmax */
OUT_RING(0x00000000); /* yorigin, xorigin */
OUT_RING(MI_NOOP);
OUT_RING(0x7c000003); /* unknown command */
OUT_RING(0x7d070000);
OUT_RING(0x00000000);
OUT_RING(0x68000002);
OUT_RING(_3DSTATE_LOAD_STATE_IMMEDIATE_1 | I1_LOAD_S(2) |
I1_LOAD_S(4) | I1_LOAD_S(5) | I1_LOAD_S(6) | 3);
s2 = S2_TEXCOORD_FMT(0, TEXCOORDFMT_2D);