AArch64: Correction of struct surface_t
The struct in the union with GGLSurface in struct surface_t assumed that the reserved field, which corresponds to the GGLsizei version field in the GGLSurface structure (where GGLsizei is define as being ssize_t in the system/core/include/pixelflinger/pixelflinger.h header file) is uint32_t. That is appropriate to the 32-bit system but is not appropriate to the 64-bit system, where ssize_t is 64-bits rather than 32-bits. The 32-bit system has also been tested and has no regression because of this change. Change-Id: I5cd84fd4a18fa0e63e27975f7b3d3e95b99cea58 Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
This commit is contained in:
parent
6fec3a2304
commit
6053564160
1 changed files with 11 additions and 9 deletions
|
@ -340,16 +340,18 @@ struct pixel_t {
|
|||
|
||||
struct surface_t {
|
||||
union {
|
||||
GGLSurface s;
|
||||
GGLSurface s;
|
||||
// Keep the following struct field types in line with the corresponding
|
||||
// GGLSurface fields to avoid mismatches leading to errors.
|
||||
struct {
|
||||
uint32_t reserved;
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
int32_t stride;
|
||||
uint8_t* data;
|
||||
uint8_t format;
|
||||
uint8_t dirty;
|
||||
uint8_t pad[2];
|
||||
GGLsizei reserved;
|
||||
GGLuint width;
|
||||
GGLuint height;
|
||||
GGLint stride;
|
||||
GGLubyte* data;
|
||||
GGLubyte format;
|
||||
GGLubyte dirty;
|
||||
GGLubyte pad[2];
|
||||
};
|
||||
};
|
||||
void (*read) (const surface_t* s, context_t* c,
|
||||
|
|
Loading…
Reference in a new issue