forked from Mirrorlandia_minetest/minetest
Reorder TileSpec. (#5591)
Put accessed members that are needed by updateFastFaceRow() all in the same cacheline.
This commit is contained in:
parent
eddf16eee9
commit
93c1d511e3
@ -197,22 +197,22 @@ struct FrameSpec
|
|||||||
struct TileSpec
|
struct TileSpec
|
||||||
{
|
{
|
||||||
TileSpec():
|
TileSpec():
|
||||||
texture_id(0),
|
|
||||||
texture(NULL),
|
texture(NULL),
|
||||||
normal_texture(NULL),
|
texture_id(0),
|
||||||
flags_texture(NULL),
|
color(),
|
||||||
material_type(TILE_MATERIAL_BASIC),
|
material_type(TILE_MATERIAL_BASIC),
|
||||||
material_flags(
|
material_flags(
|
||||||
//0 // <- DEBUG, Use the one below
|
//0 // <- DEBUG, Use the one below
|
||||||
MATERIAL_FLAG_BACKFACE_CULLING
|
MATERIAL_FLAG_BACKFACE_CULLING
|
||||||
),
|
),
|
||||||
shader_id(0),
|
|
||||||
animation_frame_count(1),
|
|
||||||
animation_frame_length_ms(0),
|
|
||||||
rotation(0),
|
rotation(0),
|
||||||
has_color(false),
|
emissive_light(0),
|
||||||
color(),
|
shader_id(0),
|
||||||
emissive_light(0)
|
normal_texture(NULL),
|
||||||
|
flags_texture(NULL),
|
||||||
|
animation_frame_length_ms(0),
|
||||||
|
animation_frame_count(1),
|
||||||
|
has_color(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -285,29 +285,32 @@ struct TileSpec
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 texture_id;
|
// ordered for performance! please do not reorder unless you pahole it first.
|
||||||
video::ITexture *texture;
|
video::ITexture *texture;
|
||||||
video::ITexture *normal_texture;
|
u32 texture_id;
|
||||||
video::ITexture *flags_texture;
|
// The color of the tile, or if the tile does not own
|
||||||
|
// a color then the color of the node owning this tile.
|
||||||
|
video::SColor color;
|
||||||
// Material parameters
|
// Material parameters
|
||||||
u8 material_type;
|
u8 material_type;
|
||||||
u8 material_flags;
|
u8 material_flags;
|
||||||
u32 shader_id;
|
|
||||||
// Animation parameters
|
|
||||||
u8 animation_frame_count;
|
|
||||||
u16 animation_frame_length_ms;
|
|
||||||
std::vector<FrameSpec> frames;
|
|
||||||
|
|
||||||
u8 rotation;
|
u8 rotation;
|
||||||
//! If true, the tile has its own color.
|
|
||||||
bool has_color;
|
|
||||||
/*!
|
|
||||||
* The color of the tile, or if the tile does not own
|
|
||||||
* a color then the color of the node owning this tile.
|
|
||||||
*/
|
|
||||||
video::SColor color;
|
|
||||||
//! This much light does the tile emit.
|
//! This much light does the tile emit.
|
||||||
u8 emissive_light;
|
u8 emissive_light;
|
||||||
|
|
||||||
|
u32 shader_id;
|
||||||
|
|
||||||
|
video::ITexture *normal_texture;
|
||||||
|
// cacheline (64)
|
||||||
|
|
||||||
|
video::ITexture *flags_texture;
|
||||||
|
// Animation parameters
|
||||||
|
u16 animation_frame_length_ms;
|
||||||
|
u8 animation_frame_count;
|
||||||
|
//! If true, the tile has its own color.
|
||||||
|
bool has_color;
|
||||||
|
|
||||||
|
std::vector<FrameSpec> frames;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user