mirror of
https://github.com/godotengine/godot.git
synced 2025-03-07 23:32:58 +08:00
Merge pull request #101560 from darksylinc/matias-union-order
Fix union order to simplify empty initializers
This commit is contained in:
commit
9bcf5ac9f7
@ -35,12 +35,12 @@
|
||||
|
||||
struct HashMapData {
|
||||
union {
|
||||
uint64_t data;
|
||||
struct
|
||||
{
|
||||
uint32_t hash;
|
||||
uint32_t hash_to_key;
|
||||
};
|
||||
uint64_t data;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -250,6 +250,10 @@ private:
|
||||
};
|
||||
|
||||
union {
|
||||
struct {
|
||||
uint64_t sort_key1;
|
||||
uint64_t sort_key2;
|
||||
};
|
||||
struct {
|
||||
uint64_t lod_index : 8;
|
||||
uint64_t surface_index : 8;
|
||||
@ -265,10 +269,6 @@ private:
|
||||
uint64_t depth_layer : 4;
|
||||
uint64_t priority : 8;
|
||||
};
|
||||
struct {
|
||||
uint64_t sort_key1;
|
||||
uint64_t sort_key2;
|
||||
};
|
||||
} sort;
|
||||
|
||||
RS::PrimitiveType primitive = RS::PRIMITIVE_MAX;
|
||||
|
@ -72,13 +72,13 @@ private:
|
||||
|
||||
struct CellSort {
|
||||
union {
|
||||
uint64_t key = 0;
|
||||
struct {
|
||||
uint64_t z : 16;
|
||||
uint64_t y : 16;
|
||||
uint64_t x : 16;
|
||||
uint64_t level : 16;
|
||||
};
|
||||
uint64_t key = 0;
|
||||
};
|
||||
|
||||
int32_t index = 0;
|
||||
|
@ -150,11 +150,11 @@ public:
|
||||
private:
|
||||
struct ConnectionType {
|
||||
union {
|
||||
uint64_t key = 0;
|
||||
struct {
|
||||
uint32_t type_a;
|
||||
uint32_t type_b;
|
||||
};
|
||||
uint64_t key = 0;
|
||||
};
|
||||
|
||||
static uint32_t hash(const ConnectionType &p_conn) {
|
||||
|
@ -428,6 +428,10 @@ private:
|
||||
};
|
||||
|
||||
union {
|
||||
struct {
|
||||
uint64_t sort_key1;
|
||||
uint64_t sort_key2;
|
||||
};
|
||||
struct {
|
||||
uint64_t lod_index : 8;
|
||||
uint64_t surface_index : 8;
|
||||
@ -443,10 +447,6 @@ private:
|
||||
uint64_t depth_layer : 4;
|
||||
uint64_t priority : 8;
|
||||
};
|
||||
struct {
|
||||
uint64_t sort_key1;
|
||||
uint64_t sort_key2;
|
||||
};
|
||||
} sort;
|
||||
|
||||
RS::PrimitiveType primitive = RS::PRIMITIVE_MAX;
|
||||
@ -541,6 +541,8 @@ private:
|
||||
|
||||
struct GlobalPipelineData {
|
||||
union {
|
||||
uint32_t key;
|
||||
|
||||
struct {
|
||||
uint32_t texture_samples : 3;
|
||||
uint32_t use_reflection_probes : 1;
|
||||
@ -556,8 +558,6 @@ private:
|
||||
uint32_t use_shadow_cubemaps : 1;
|
||||
uint32_t use_shadow_dual_paraboloid : 1;
|
||||
};
|
||||
|
||||
uint32_t key;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -397,6 +397,10 @@ protected:
|
||||
};
|
||||
|
||||
union {
|
||||
struct {
|
||||
uint64_t sort_key1;
|
||||
uint64_t sort_key2;
|
||||
};
|
||||
struct {
|
||||
// !BAS! CHECK BITS!!!
|
||||
|
||||
@ -413,10 +417,6 @@ protected:
|
||||
// uint64_t lod_index : 8; // no need to sort on LOD
|
||||
// uint64_t uses_forward_gi : 1; // no GI here, remove
|
||||
};
|
||||
struct {
|
||||
uint64_t sort_key1;
|
||||
uint64_t sort_key2;
|
||||
};
|
||||
} sort;
|
||||
|
||||
RS::PrimitiveType primitive = RS::PRIMITIVE_MAX;
|
||||
@ -575,6 +575,8 @@ public:
|
||||
|
||||
struct GlobalPipelineData {
|
||||
union {
|
||||
uint32_t key;
|
||||
|
||||
struct {
|
||||
uint32_t texture_samples : 3;
|
||||
uint32_t target_samples : 3;
|
||||
@ -586,8 +588,6 @@ public:
|
||||
uint32_t use_shadow_cubemaps : 1;
|
||||
uint32_t use_shadow_dual_paraboloid : 1;
|
||||
};
|
||||
|
||||
uint32_t key;
|
||||
};
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user