Mesa (radeon-rewrite): r200: fix cubic emission.

Dave Airlie airlied at kemper.freedesktop.org
Wed May 6 03:33:15 UTC 2009


Module: Mesa
Branch: radeon-rewrite
Commit: acf086ebfa95b77bb221c15acf6776439063c0b7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=acf086ebfa95b77bb221c15acf6776439063c0b7

Author: Dave Airlie <airlied at redhat.com>
Date:   Wed May  6 13:34:34 2009 +1000

r200: fix cubic emission.

Still doesn't fix cubemaps, I really missed the whole drmsupports
thing when testing this all originally

---

 src/mesa/drivers/dri/r200/r200_state_init.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/r200/r200_state_init.c b/src/mesa/drivers/dri/r200/r200_state_init.c
index 4db7fa1..be57ac3 100644
--- a/src/mesa/drivers/dri/r200/r200_state_init.c
+++ b/src/mesa/drivers/dri/r200/r200_state_init.c
@@ -618,17 +618,18 @@ static void cube_emit(GLcontext *ctx, struct radeon_state_atom *atom)
 {
    r200ContextPtr r200 = R200_CONTEXT(ctx);
    BATCH_LOCALS(&r200->radeon);
-   uint32_t dwords = atom->cmd_size;
+   uint32_t dwords = 2;
    int i = atom->idx, j;
    radeonTexObj *t = r200->state.texture.unit[i].texobj;
    radeon_mipmap_level *lvl;
 
-   BEGIN_BATCH_NO_AUTOSTATE(dwords + (2 * 5));
-   OUT_BATCH_TABLE(atom->cmd, 3);
+   BEGIN_BATCH_NO_AUTOSTATE(dwords + (4 * 5));
+   OUT_BATCH_TABLE(atom->cmd, 2);
 
    if (t && !t->image_override) {
      lvl = &t->mt->levels[0];
      for (j = 1; j <= 5; j++) {
+       OUT_BATCH(CP_PACKET0(R200_PP_CUBIC_OFFSET_F1_0 + (24*i) + (4 * (j-1)), 0));
        OUT_BATCH_RELOC(lvl->faces[j].offset, t->mt->bo, lvl->faces[j].offset,
 			RADEON_GEM_DOMAIN_VRAM, 0, 0);
      }




More information about the mesa-commit mailing list