mirror of
https://github.com/godotengine/godot.git
synced 2025-12-07 22:00:10 +00:00
Move D3D12's automatic texture clears to RenderingDevice.
This commit is contained in:
parent
369afc7b46
commit
d17ea061bc
6 changed files with 97 additions and 42 deletions
|
|
@ -349,6 +349,7 @@ public:
|
|||
bool is_resolve_buffer = false;
|
||||
bool is_discardable = false;
|
||||
bool has_initial_data = false;
|
||||
bool pending_clear = false;
|
||||
|
||||
BitField<RDD::TextureAspectBits> read_aspect_flags = {};
|
||||
BitField<RDD::TextureAspectBits> barrier_aspect_flags = {};
|
||||
|
|
@ -401,6 +402,8 @@ public:
|
|||
void _texture_free_shared_fallback(Texture *p_texture);
|
||||
void _texture_copy_shared(RID p_src_texture_rid, Texture *p_src_texture, RID p_dst_texture_rid, Texture *p_dst_texture);
|
||||
void _texture_create_reinterpret_buffer(Texture *p_texture);
|
||||
void _texture_check_pending_clear(RID p_texture_rid, Texture *p_texture);
|
||||
void _texture_clear(RID p_texture_rid, Texture *p_texture, const Color &p_color, uint32_t p_base_mipmap, uint32_t p_mipmaps, uint32_t p_base_layer, uint32_t p_layers);
|
||||
uint32_t _texture_vrs_method_to_usage_bits() const;
|
||||
|
||||
struct TextureGetDataRequest {
|
||||
|
|
@ -1139,6 +1142,7 @@ private:
|
|||
Vector<RDG::ResourceUsage> draw_trackers_usage;
|
||||
HashMap<RID, RDG::ResourceUsage> untracked_usage;
|
||||
LocalVector<SharedTexture> shared_textures_to_update;
|
||||
LocalVector<RID> pending_clear_textures;
|
||||
InvalidationCallback invalidated_callback = nullptr;
|
||||
void *invalidated_callback_userdata = nullptr;
|
||||
};
|
||||
|
|
@ -1146,6 +1150,7 @@ private:
|
|||
RID_Owner<UniformSet, true> uniform_set_owner;
|
||||
|
||||
void _uniform_set_update_shared(UniformSet *p_uniform_set);
|
||||
void _uniform_set_update_clears(UniformSet *p_uniform_set);
|
||||
|
||||
public:
|
||||
/** Bake a set of uniforms that can be bound at runtime with the given shader.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue