Pixelflinger: Fix issue of pointers being stored in ints
Pixelflinger's code makes assumptions, at certain places, that pointers can be stored as ints. This patch makes use of uintptr_t wherever pointers are stored as int or cast to int. Change-Id: Ie76f425cbc82ac038a747f77a95bd31774f4a8e8 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
This commit is contained in:
parent
8779c4eab4
commit
d10afb1748
4 changed files with 8 additions and 8 deletions
|
@ -121,7 +121,7 @@ template<bool> struct CTA;
|
|||
template<> struct CTA<true> { };
|
||||
|
||||
#define GGL_CONTEXT(con, c) context_t *con = static_cast<context_t *>(c)
|
||||
#define GGL_OFFSETOF(field) int(&(((context_t*)0)->field))
|
||||
#define GGL_OFFSETOF(field) uintptr_t(&(((context_t*)0)->field))
|
||||
#define GGL_INIT_PROC(p, f) p.f = ggl_ ## f;
|
||||
#define GGL_BETWEEN(x, L, H) (uint32_t((x)-(L)) <= ((H)-(L)))
|
||||
|
||||
|
@ -480,7 +480,7 @@ struct generated_tex_vars_t {
|
|||
uint32_t width;
|
||||
uint32_t height;
|
||||
uint32_t stride;
|
||||
int32_t data;
|
||||
uintptr_t data;
|
||||
int32_t dsdx;
|
||||
int32_t dtdx;
|
||||
int32_t spill[2];
|
||||
|
|
|
@ -93,7 +93,7 @@ void ggl_pick_texture(context_t* c)
|
|||
gen.width = s.width;
|
||||
gen.height = s.height;
|
||||
gen.stride = s.stride;
|
||||
gen.data = int32_t(s.data);
|
||||
gen.data = uintptr_t(s.data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -99,8 +99,8 @@ void ARMAssembler::disassemble(const char* name)
|
|||
if (comment >= 0) {
|
||||
printf("; %s\n", mComments.valueAt(comment));
|
||||
}
|
||||
printf("%08x: %08x ", int(i), int(i[0]));
|
||||
::disassemble((u_int)i);
|
||||
printf("%08x: %08x ", uintptr_t(i), int(i[0]));
|
||||
::disassemble((uintptr_t)i);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ int ARMAssembler::generate(const char* name)
|
|||
|
||||
#if defined(WITH_LIB_HARDWARE)
|
||||
if (__builtin_expect(mQemuTracing, 0)) {
|
||||
int err = qemu_add_mapping(int(base()), name);
|
||||
int err = qemu_add_mapping(uintptr_t(base()), name);
|
||||
mQemuTracing = (err >= 0);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1717,7 +1717,7 @@ void init_y(context_t* c, int32_t ys)
|
|||
gen.width = t.surface.width;
|
||||
gen.height = t.surface.height;
|
||||
gen.stride = t.surface.stride;
|
||||
gen.data = int32_t(t.surface.data);
|
||||
gen.data = uintptr_t(t.surface.data);
|
||||
gen.dsdx = ti.dsdx;
|
||||
gen.dtdx = ti.dtdx;
|
||||
}
|
||||
|
@ -2125,7 +2125,7 @@ void scanline_t32cb16(context_t* c)
|
|||
int sR, sG, sB;
|
||||
uint32_t s, d;
|
||||
|
||||
if (ct==1 || uint32_t(dst)&2) {
|
||||
if (ct==1 || uintptr_t(dst)&2) {
|
||||
last_one:
|
||||
s = GGL_RGBA_TO_HOST( *src++ );
|
||||
*dst++ = convertAbgr8888ToRgb565(s);
|
||||
|
|
Loading…
Reference in a new issue