diff options
author | Brian Paul <brianp@vmware.com> | 2009-12-22 13:28:39 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-12-22 13:33:40 -0700 |
commit | b5ddc7821a334177ff3f6c0ea3a5c24245ad194c (patch) | |
tree | 5193f410d10b30bf5b28d21d0b9af02ecbb7d945 /src/mesa/shader | |
parent | 1bf2d78b11ac9ac71f4be285963db1af9f09fe73 (diff) | |
download | external_mesa3d-b5ddc7821a334177ff3f6c0ea3a5c24245ad194c.zip external_mesa3d-b5ddc7821a334177ff3f6c0ea3a5c24245ad194c.tar.gz external_mesa3d-b5ddc7821a334177ff3f6c0ea3a5c24245ad194c.tar.bz2 |
mesa: fix binary() function, printf format string
Need to use the constant 1ULL and 0xllx format string. This fixes incorrect
results and a NULL pointer/parameter bug.
Diffstat (limited to 'src/mesa/shader')
-rw-r--r-- | src/mesa/shader/prog_print.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/shader/prog_print.c b/src/mesa/shader/prog_print.c index 52c102c..9f9789e 100644 --- a/src/mesa/shader/prog_print.c +++ b/src/mesa/shader/prog_print.c @@ -821,8 +821,10 @@ _mesa_print_program(const struct gl_program *prog) /** - * Return binary representation of value (as a string). + * Return binary representation of 64-bit value (as a string). * Insert a comma to separate each group of 8 bits. + * Note we return a pointer to local static storage so this is not + * re-entrant, etc. * XXX move to imports.[ch] if useful elsewhere. */ static const char * @@ -831,7 +833,7 @@ binary(GLbitfield64 val) static char buf[80]; GLint i, len = 0; for (i = 63; i >= 0; --i) { - if (val & (1 << i)) + if (val & (1ULL << i)) buf[len++] = '1'; else if (len > 0 || i == 0) buf[len++] = '0'; @@ -855,7 +857,7 @@ _mesa_fprint_program_parameters(FILE *f, _mesa_fprintf(f, "InputsRead: 0x%x (0b%s)\n", prog->InputsRead, binary(prog->InputsRead)); - _mesa_fprintf(f, "OutputsWritten: 0x%x (0b%s)\n", + _mesa_fprintf(f, "OutputsWritten: 0x%llx (0b%s)\n", prog->OutputsWritten, binary(prog->OutputsWritten)); _mesa_fprintf(f, "NumInstructions=%d\n", prog->NumInstructions); _mesa_fprintf(f, "NumTemporaries=%d\n", prog->NumTemporaries); |