summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPauli Nieminen <suokkos@gmail.com>2009-08-18 18:51:37 +0300
committerAlex Deucher <alexdeucher@gmail.com>2009-08-18 14:53:46 -0400
commita474fd978c0dedbed21b5dff24126acb1c7effef (patch)
tree6c24e58d40f4b876db9372df04167e8cde5bb4db
parent64cef1e46554fbf82388acfcfc8051ce956a3dc2 (diff)
libdrm_radeon: Fix loops so that compiler can optimize them.
GCC did war about optimization not possible because possible forever loop. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
-rw-r--r--libdrm/radeon/radeon_cs_gem.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libdrm/radeon/radeon_cs_gem.c b/libdrm/radeon/radeon_cs_gem.c
index 264b0675..a0db53bb 100644
--- a/libdrm/radeon/radeon_cs_gem.c
+++ b/libdrm/radeon/radeon_cs_gem.c
@@ -354,21 +354,21 @@ static void cs_gem_print(struct radeon_cs *cs, FILE *file)
unsigned opcode;
unsigned reg;
unsigned cnt;
- int i, j;
+ unsigned int i, j;
for (i = 0; i < cs->cdw;) {
- cnt = CP_PACKET_GET_COUNT(cs->packets[i]);
+ cnt = CP_PACKET_GET_COUNT(cs->packets[i]) + 1;
switch (CP_PACKET_GET_TYPE(cs->packets[i])) {
case PACKET_TYPE0:
- fprintf(file, "Pkt0 at %d (%d dwords):\n", i, cnt + 1);
+ fprintf(file, "Pkt0 at %d (%d dwords):\n", i, cnt);
reg = CP_PACKET0_GET_REG(cs->packets[i]);
if (CP_PACKET0_GET_ONE_REG_WR(cs->packets[i++])) {
- for (j = 0; j <= cnt; j++) {
+ for (j = 0; j < cnt; j++) {
fprintf(file, " 0x%08X -> 0x%04X\n",
cs->packets[i++], reg);
}
} else {
- for (j = 0; j <= cnt; j++) {
+ for (j = 0; j < cnt; j++) {
fprintf(file, " 0x%08X -> 0x%04X\n",
cs->packets[i++], reg);
reg += 4;
@@ -410,7 +410,7 @@ static void cs_gem_print(struct radeon_cs *cs, FILE *file)
fprintf(file, "Unknow opcode 0x%02X at %d\n", opcode, i);
return;
}
- for (j = 0; j <= cnt; j++) {
+ for (j = 0; j < cnt; j++) {
fprintf(file, " 0x%08X\n", cs->packets[i++]);
}
break;