Skip to content

Commit

Permalink
Fixed size of bufferProducerGraphicBuffer and removed the union for i…
Browse files Browse the repository at this point in the history
…t. Removed an invalid comment from gfx.c, since bufferProducerRequestBuffer() is used after bufferProducerGraphicBufferInit().
  • Loading branch information
yellows8 committed Feb 18, 2018
1 parent 0e40828 commit a1462c8
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 37 deletions.
68 changes: 32 additions & 36 deletions nx/include/switch/gfx/buffer_producer.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,42 +45,38 @@ typedef struct {
u32 numFds;
u32 numInts;

union {
u32 rawdata[0x144>>2];//Actual size is numFds*4 + numInts*4.

struct {
u32 unk_x0;
u32 nvmap_handle0;
u32 unk_x8;
u32 unk_xc;
u32 unk_x10;
u32 unk_x14;
u32 unk_x18;
u32 unk_x1c;
u32 unk_x20;
u32 width_unk0;
u32 buffer_size0;
u32 unk_x2c;
u32 unk_x30;
u32 width_unk1;
u32 height_unk;
u32 flags;
u32 unk_x40;
u32 unk_x44;
u32 byte_stride;
u32 nvmap_handle1;
u32 buffer_offset;
u32 unk_x54;
u32 unk_x58;
u32 unk_x5c;
u32 unk_x60;
u32 unk_x64;
u32 unk_x68;
u32 buffer_size1;
u32 unk_x70[0x33];//Normally all-zero.
u64 timestamp;//Unknown, some timestamp perhaps?
} data;
};
struct {//Actual size is numFds*4 + numInts*4.
u32 unk_x0;
u32 nvmap_handle0;
u32 unk_x8;
u32 unk_xc;
u32 unk_x10;
u32 unk_x14;
u32 unk_x18;
u32 unk_x1c;
u32 unk_x20;
u32 width_unk0;
u32 buffer_size0;
u32 unk_x2c;
u32 unk_x30;
u32 width_unk1;
u32 height_unk;
u32 flags;
u32 unk_x40;
u32 unk_x44;
u32 byte_stride;
u32 nvmap_handle1;
u32 buffer_offset;
u32 unk_x54;
u32 unk_x58;
u32 unk_x5c;
u32 unk_x60;
u32 unk_x64;
u32 unk_x68;
u32 buffer_size1;
u32 unk_x70[0x33];//Normally all-zero.
u64 timestamp;
} PACKED data;
} PACKED bufferProducerGraphicBuffer;

//From Android window.h.
Expand Down
1 change: 0 additions & 1 deletion nx/source/gfx/gfx.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ static bufferProducerQueueBufferInput g_gfxQueueBufferData = {
};

//Some of this struct is based on tegra_dc_ext_flip_windowattr.
//TODO: How much of this struct do official apps really set? Most of it seems to be used as-is from the bufferProducerRequestBuffer() output.
static bufferProducerGraphicBuffer g_gfx_BufferInitData = {
.magic = 0x47424652,//"RFBG"/'GBFR'
.format = 0x1,
Expand Down

0 comments on commit a1462c8

Please sign in to comment.