generic_sparse_struct: constexpr constructors

ta_polygon_converter_transfer: const buf
This commit is contained in:
Zack Buhman 2024-05-19 08:23:13 -05:00
parent b874ec56b5
commit 0510598233
5 changed files with 273 additions and 273 deletions

View File

@ -54,7 +54,7 @@ void ta_polygon_converter_cont(uint32_t ol_base_offset,
(void)_dummy_read;
}
void ta_polygon_converter_transfer(volatile uint32_t * buf, uint32_t size)
void ta_polygon_converter_transfer(volatile uint32_t const * const buf, uint32_t size)
{
/* wait for previous transfer to complete (if any) */
//while ((system.C2DST & C2DST__STATUS) != 0); /* 1 == transfer is in progress */

View File

@ -8,7 +8,7 @@ void ta_polygon_converter_init(uint32_t opb_total_size, // for one tile, for all
uint32_t tile_height); // in tile units (e.g: (480 / 32))
void ta_polygon_converter_cont(uint32_t ol_base_offset,
uint32_t ta_alloc);
void ta_polygon_converter_transfer(volatile uint32_t * buf, uint32_t size);
void ta_polygon_converter_transfer(volatile uint32_t const * const buf, uint32_t size);
void ta_wait_opaque_list();
void ta_wait_opaque_modifier_volume_list();
void ta_wait_translucent_list();

View File

@ -14,7 +14,7 @@ namespace ta_global_parameter {
uint32_t _res5;
uint32_t _res6;
end_of_list(const uint32_t parameter_control_word
constexpr end_of_list(const uint32_t parameter_control_word
)
: parameter_control_word(parameter_control_word)
, _res0(0)
@ -51,7 +51,7 @@ namespace ta_global_parameter {
uint32_t user_clip_x_max;
uint32_t user_clip_y_max;
user_tile_clip(const uint32_t parameter_control_word,
constexpr user_tile_clip(const uint32_t parameter_control_word,
const uint32_t user_clip_x_min,
const uint32_t user_clip_y_min,
const uint32_t user_clip_x_max,
@ -92,7 +92,7 @@ namespace ta_global_parameter {
uint32_t bounding_box_x_max;
uint32_t bounding_box_y_max;
object_list_set(const uint32_t parameter_control_word,
constexpr object_list_set(const uint32_t parameter_control_word,
const uint32_t object_pointer,
const uint32_t bounding_box_x_min,
const uint32_t bounding_box_y_min,
@ -134,7 +134,7 @@ namespace ta_global_parameter {
uint32_t data_size_for_sort_dma;
uint32_t next_address_for_sort_dma;
polygon_type_0(const uint32_t parameter_control_word,
constexpr polygon_type_0(const uint32_t parameter_control_word,
const uint32_t isp_tsp_instruction_word,
const uint32_t tsp_instruction_word,
const uint32_t texture_control_word,
@ -176,7 +176,7 @@ namespace ta_global_parameter {
float face_color_g;
float face_color_b;
polygon_type_1(const uint32_t parameter_control_word,
constexpr polygon_type_1(const uint32_t parameter_control_word,
const uint32_t isp_tsp_instruction_word,
const uint32_t tsp_instruction_word,
const uint32_t texture_control_word,
@ -228,7 +228,7 @@ namespace ta_global_parameter {
float face_offset_color_g;
float face_offset_color_b;
polygon_type_2(const uint32_t parameter_control_word,
constexpr polygon_type_2(const uint32_t parameter_control_word,
const uint32_t isp_tsp_instruction_word,
const uint32_t tsp_instruction_word,
const uint32_t texture_control_word,
@ -294,7 +294,7 @@ namespace ta_global_parameter {
uint32_t data_size_for_sort_dma;
uint32_t next_address_for_sort_dma;
polygon_type_3(const uint32_t parameter_control_word,
constexpr polygon_type_3(const uint32_t parameter_control_word,
const uint32_t isp_tsp_instruction_word,
const uint32_t tsp_instruction_word_0,
const uint32_t texture_control_word_0,
@ -346,7 +346,7 @@ namespace ta_global_parameter {
float face_color_g_1;
float face_color_b_1;
polygon_type_4(const uint32_t parameter_control_word,
constexpr polygon_type_4(const uint32_t parameter_control_word,
const uint32_t isp_tsp_instruction_word,
const uint32_t tsp_instruction_word_0,
const uint32_t texture_control_word_0,
@ -414,7 +414,7 @@ namespace ta_global_parameter {
uint32_t data_size_for_sort_dma;
uint32_t next_address_for_sort_dma;
sprite(const uint32_t parameter_control_word,
constexpr sprite(const uint32_t parameter_control_word,
const uint32_t isp_tsp_instruction_word,
const uint32_t tsp_instruction_word,
const uint32_t texture_control_word,
@ -458,7 +458,7 @@ namespace ta_global_parameter {
uint32_t _res4;
uint32_t _res5;
modifier_volume(const uint32_t parameter_control_word,
constexpr modifier_volume(const uint32_t parameter_control_word,
const uint32_t isp_tsp_instruction_word
)
: parameter_control_word(parameter_control_word)

View File

@ -14,7 +14,7 @@ namespace ta_vertex_parameter {
uint32_t base_color;
uint32_t _res2;
polygon_type_0(const uint32_t parameter_control_word,
constexpr polygon_type_0(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -55,7 +55,7 @@ namespace ta_vertex_parameter {
float base_color_g;
float base_color_b;
polygon_type_1(const uint32_t parameter_control_word,
constexpr polygon_type_1(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -99,7 +99,7 @@ namespace ta_vertex_parameter {
float base_intensity;
uint32_t _res2;
polygon_type_2(const uint32_t parameter_control_word,
constexpr polygon_type_2(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -140,7 +140,7 @@ namespace ta_vertex_parameter {
uint32_t base_color;
uint32_t offset_color;
polygon_type_3(const uint32_t parameter_control_word,
constexpr polygon_type_3(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -184,7 +184,7 @@ namespace ta_vertex_parameter {
uint32_t base_color;
uint32_t offset_color;
polygon_type_4(const uint32_t parameter_control_word,
constexpr polygon_type_4(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -235,7 +235,7 @@ namespace ta_vertex_parameter {
float offset_color_g;
float offset_color_b;
polygon_type_5(const uint32_t parameter_control_word,
constexpr polygon_type_5(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -309,7 +309,7 @@ namespace ta_vertex_parameter {
float offset_color_g;
float offset_color_b;
polygon_type_6(const uint32_t parameter_control_word,
constexpr polygon_type_6(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -374,7 +374,7 @@ namespace ta_vertex_parameter {
float base_intensity;
float offset_intensity;
polygon_type_7(const uint32_t parameter_control_word,
constexpr polygon_type_7(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -418,7 +418,7 @@ namespace ta_vertex_parameter {
float base_intensity;
float offset_intensity;
polygon_type_8(const uint32_t parameter_control_word,
constexpr polygon_type_8(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -461,7 +461,7 @@ namespace ta_vertex_parameter {
uint32_t _res0;
uint32_t _res1;
polygon_type_9(const uint32_t parameter_control_word,
constexpr polygon_type_9(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -503,7 +503,7 @@ namespace ta_vertex_parameter {
uint32_t _res0;
uint32_t _res1;
polygon_type_10(const uint32_t parameter_control_word,
constexpr polygon_type_10(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -553,7 +553,7 @@ namespace ta_vertex_parameter {
uint32_t _res2;
uint32_t _res3;
polygon_type_11(const uint32_t parameter_control_word,
constexpr polygon_type_11(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -625,7 +625,7 @@ namespace ta_vertex_parameter {
uint32_t _res4;
uint32_t _res5;
polygon_type_12(const uint32_t parameter_control_word,
constexpr polygon_type_12(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -695,7 +695,7 @@ namespace ta_vertex_parameter {
uint32_t _res2;
uint32_t _res3;
polygon_type_13(const uint32_t parameter_control_word,
constexpr polygon_type_13(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -767,7 +767,7 @@ namespace ta_vertex_parameter {
uint32_t _res4;
uint32_t _res5;
polygon_type_14(const uint32_t parameter_control_word,
constexpr polygon_type_14(const uint32_t parameter_control_word,
const float x,
const float y,
const float z,
@ -837,7 +837,7 @@ namespace ta_vertex_parameter {
uint32_t _res2;
uint32_t _res3;
sprite_type_0(const uint32_t parameter_control_word,
constexpr sprite_type_0(const uint32_t parameter_control_word,
const float a_x,
const float a_y,
const float a_z,
@ -909,7 +909,7 @@ namespace ta_vertex_parameter {
uint32_t b_u_b_v;
uint32_t c_u_c_v;
sprite_type_1(const uint32_t parameter_control_word,
constexpr sprite_type_1(const uint32_t parameter_control_word,
const float a_x,
const float a_y,
const float a_z,
@ -984,7 +984,7 @@ namespace ta_vertex_parameter {
uint32_t _res4;
uint32_t _res5;
modifier_volume(const uint32_t parameter_control_word,
constexpr modifier_volume(const uint32_t parameter_control_word,
const float a_x,
const float a_y,
const float a_z,

View File

@ -94,7 +94,7 @@ def parse(rows, expected_offset, expected_sizes):
return declarations
def render_initializer(declaration, get_type):
initializer = f"{declaration.name}("
initializer = f"constexpr {declaration.name}("
padding = " " * len(initializer)
def start(i):
if i == 0: