1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

Core: Add dedicated BitField template

This commit is contained in:
Thaddeus Crews
2024-08-20 09:50:44 -05:00
parent 7b9c5122fa
commit 0d267e7b1e
46 changed files with 188 additions and 155 deletions

View File

@@ -114,9 +114,9 @@ public:
int32_t buffer_barrier_count = 0;
#endif
int32_t label_index = -1;
BitField<RDD::PipelineStageBits> previous_stages;
BitField<RDD::PipelineStageBits> next_stages;
BitField<RDD::PipelineStageBits> self_stages;
BitField<RDD::PipelineStageBits> previous_stages = {};
BitField<RDD::PipelineStageBits> next_stages = {};
BitField<RDD::PipelineStageBits> self_stages = {};
};
struct RecordedBufferCopy {
@@ -156,8 +156,8 @@ public:
struct ResourceTracker {
uint32_t reference_count = 0;
int64_t command_frame = -1;
BitField<RDD::PipelineStageBits> previous_frame_stages;
BitField<RDD::PipelineStageBits> current_frame_stages;
BitField<RDD::PipelineStageBits> previous_frame_stages = {};
BitField<RDD::PipelineStageBits> current_frame_stages = {};
int32_t read_full_command_list_index = -1;
int32_t read_slice_command_list_index = -1;
int32_t write_command_or_list_index = -1;
@@ -166,7 +166,7 @@ public:
int32_t compute_list_index = -1;
ResourceUsage compute_list_usage = RESOURCE_USAGE_NONE;
ResourceUsage usage = RESOURCE_USAGE_NONE;
BitField<RDD::BarrierAccessBits> usage_access;
BitField<RDD::BarrierAccessBits> usage_access = {};
RDD::BufferID buffer_driver_id;
RDD::TextureID texture_driver_id;
RDD::TextureSubresourceRange texture_subresources;
@@ -241,7 +241,7 @@ private:
LocalVector<uint8_t> data;
LocalVector<ResourceTracker *> command_trackers;
LocalVector<ResourceUsage> command_tracker_usages;
BitField<RDD::PipelineStageBits> stages;
BitField<RDD::PipelineStageBits> stages = {};
int32_t index = 0;
void clear() {
@@ -660,8 +660,8 @@ private:
};
struct BarrierGroup {
BitField<RDD::PipelineStageBits> src_stages;
BitField<RDD::PipelineStageBits> dst_stages;
BitField<RDD::PipelineStageBits> src_stages = {};
BitField<RDD::PipelineStageBits> dst_stages = {};
RDD::MemoryBarrier memory_barrier;
LocalVector<RDD::TextureBarrier> normalization_barriers;
LocalVector<RDD::TextureBarrier> transition_barriers;