blob: 36c69f8031f5cf3ddf89a0c82d9189cb0b712fca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#ifndef CCB_H
#define CCB_H
#include <stdint.h>
typedef struct __attribute__((__packed__)) Register {
unsigned int addr;
unsigned int val;
} Register;
//XXX: this is probably wrong
typedef struct __attribute__((__packed__)) CCBEntry
{
uint32_t length;
uint32_t unk0;
IMG_DEV_VIRTADDR pds_pixel_code_data_0; // Indirect points to 0x67 PDSPixelCodeData with 0xdcxxxx0
uint32_t unk2;
IMG_DEV_VIRTADDR pds_pixel_code_data_0_4; // Indirect points to 0x67 PDSPixelCodeData with 0xdcxxxx0 offset by 4
uint32_t unk4;
uint32_t unk5;
uint32_t unk6;
uint32_t frame_number;
IMG_DEV_VIRTADDR dev_addr_0;
uint32_t unk7;
uint32_t unk8;
uint32_t unk9;
uint32_t unk10;
uint32_t unk11;
uint32_t unk12;
uint32_t unk13;
IMG_DEV_VIRTADDR dev_addr_1;
uint32_t unk14;
IMG_DEV_VIRTADDR dev_addr_2;
IMG_DEV_VIRTADDR dev_addr_3;
IMG_DEV_VIRTADDR dev_addr_4;
IMG_DEV_VIRTADDR dev_addr_5;
IMG_DEV_VIRTADDR dev_addr_6;
uint32_t num_regs;
SGXMKIF_CMDTA_SHARED shared_data;
uint32_t unk15;
uint32_t unk16;
uint32_t unk17;
uint32_t unk18;
uint32_t unk19;
uint32_t unk20;
uint32_t vdm_command_stream;
uint32_t unk21;
IMG_DEV_VIRTADDR dev_addr_ta_0; // points to 0x95 TAData buffer, size is 0xc00 and all zeros
IMG_DEV_VIRTADDR dev_addr_ta_1; // points to 0x8d TAData buffer, size is 0x400 and not all zeros
uint32_t unk24;
uint32_t unk25;
uint32_t unk26;
uint32_t unk27;
uint32_t unk28;
IMG_DEV_VIRTADDR dev_addr_per3d_0; // points to 0x12 PerContext3DParameters, size is 0x3dd000 and all zeros
uint32_t unk30;
//this is probably variable length
Register r[1];
} CCBEntry;
#endif
|