mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 20:42:44 +02:00
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
#pragma once
|
|
#include "../display/types.h"
|
|
#include "types.h"
|
|
|
|
typedef struct {
|
|
u32 width;
|
|
u32 height;
|
|
NvColorFormat color_format;
|
|
NvLayout layout;
|
|
u32 pitch;
|
|
u32 unused; // usually this field contains the nvmap handle, but it's completely unused/overwritten during marshalling
|
|
u32 offset;
|
|
NvKind kind;
|
|
u32 block_height_log2;
|
|
NvDisplayScanFormat scan;
|
|
u32 second_field_offset;
|
|
u64 flags;
|
|
u64 size;
|
|
u32 unk[6]; // compression related
|
|
} NvSurface;
|
|
|
|
typedef struct {
|
|
NativeHandle header;
|
|
s32 unk0; // -1
|
|
s32 nvmap_id; // nvmap object id
|
|
u32 unk2; // 0
|
|
u32 magic; // 0xDAFFCAFF
|
|
u32 pid; // 42
|
|
u32 type; // ?
|
|
u32 usage; // GRALLOC_USAGE_* bitmask
|
|
u32 format; // PIXEL_FORMAT_*
|
|
u32 ext_format; // copy of the above (in most cases)
|
|
u32 stride; // in pixels!
|
|
u32 total_size; // in bytes
|
|
u32 num_planes; // usually 1
|
|
u32 unk12; // 0
|
|
NvSurface planes[3];
|
|
u64 unused; // official sw writes a pointer to bookkeeping data here, but it's otherwise completely unused/overwritten during marshalling
|
|
} NvGraphicBuffer;
|