psx_gpu: convert to UAL, load everything from context
[pcsx_rearmed.git] / plugins / gpu_neon / psx_gpu / psx_gpu_offsets_update.c
1 #include <stdio.h>
2 #include <stddef.h>
3
4 #include "common.h"
5
6 #define WRITE_OFFSET(f, member) \
7         fprintf(f, "#define %-50s0x%x\n", \
8                 "psx_gpu_" #member "_offset", \
9                 offsetof(psx_gpu_struct, member));
10
11 int main()
12 {
13         FILE *f;
14
15         if (sizeof(f) != 4) {
16                 fprintf(stderr, "bad pointer size\n");
17                 return 1;
18         }
19
20         f = fopen("psx_gpu_offsets.h", "w");
21         if (f == NULL) {
22                 perror("fopen");
23                 return 1;
24         }
25
26         WRITE_OFFSET(f, test_mask);
27         WRITE_OFFSET(f, uvrg);
28         WRITE_OFFSET(f, uvrg_dx);
29         WRITE_OFFSET(f, uvrg_dy);
30         WRITE_OFFSET(f, u_block_span);
31         WRITE_OFFSET(f, v_block_span);
32         WRITE_OFFSET(f, r_block_span);
33         WRITE_OFFSET(f, g_block_span);
34         WRITE_OFFSET(f, b_block_span);
35         WRITE_OFFSET(f, b);
36         WRITE_OFFSET(f, b_dy);
37         WRITE_OFFSET(f, triangle_area);
38         WRITE_OFFSET(f, texture_window_settings);
39         WRITE_OFFSET(f, current_texture_mask);
40         WRITE_OFFSET(f, viewport_mask);
41         WRITE_OFFSET(f, dirty_textures_4bpp_mask);
42         WRITE_OFFSET(f, dirty_textures_8bpp_mask);
43         WRITE_OFFSET(f, dirty_textures_8bpp_alternate_mask);
44         WRITE_OFFSET(f, triangle_color);
45         WRITE_OFFSET(f, dither_table);
46         WRITE_OFFSET(f, uvrgb_phase);
47         WRITE_OFFSET(f, render_block_handler);
48         WRITE_OFFSET(f, texture_page_ptr);
49         WRITE_OFFSET(f, texture_page_base);
50         WRITE_OFFSET(f, clut_ptr);
51         WRITE_OFFSET(f, vram_ptr);
52         WRITE_OFFSET(f, vram_out_ptr);
53         WRITE_OFFSET(f, render_state_base);
54         WRITE_OFFSET(f, render_state);
55         WRITE_OFFSET(f, num_spans);
56         WRITE_OFFSET(f, num_blocks);
57         WRITE_OFFSET(f, viewport_start_x);
58         WRITE_OFFSET(f, viewport_start_y);
59         WRITE_OFFSET(f, viewport_end_x);
60         WRITE_OFFSET(f, viewport_end_y);
61         WRITE_OFFSET(f, mask_msb);
62         WRITE_OFFSET(f, triangle_winding);
63         WRITE_OFFSET(f, display_area_draw_enable);
64         WRITE_OFFSET(f, current_texture_page);
65         WRITE_OFFSET(f, last_8bpp_texture_page);
66         WRITE_OFFSET(f, texture_mask_width);
67         WRITE_OFFSET(f, texture_mask_height);
68         WRITE_OFFSET(f, texture_window_x);
69         WRITE_OFFSET(f, texture_window_y);
70         WRITE_OFFSET(f, primitive_type);
71         WRITE_OFFSET(f, render_mode);
72         WRITE_OFFSET(f, offset_x);
73         WRITE_OFFSET(f, offset_y);
74         WRITE_OFFSET(f, clut_settings);
75         WRITE_OFFSET(f, texture_settings);
76         WRITE_OFFSET(f, reciprocal_table_ptr);
77         WRITE_OFFSET(f, blocks);
78         WRITE_OFFSET(f, span_uvrg_offset);
79         WRITE_OFFSET(f, span_edge_data);
80         WRITE_OFFSET(f, span_b_offset);
81         WRITE_OFFSET(f, texture_4bpp_cache);
82         WRITE_OFFSET(f, texture_8bpp_even_cache);
83         WRITE_OFFSET(f, texture_8bpp_odd_cache);
84         fclose(f);
85
86         return 0;
87 }