From bd0e1b3d02c4e8fffea40f063141dc8b491aece8 Mon Sep 17 00:00:00 2001 From: Giancarlo Devich Date: Fri, 24 Feb 2023 16:17:43 -0800 Subject: [PATCH] d3d12: Move d3d12_context_state_table_entry to d3d12_resource_state.h Also renamed desired_resource_state to d3d12_desired_resource_state, since it's also in the header now. Part-of: --- .../drivers/d3d12/d3d12_resource_state.cpp | 28 +++++-------------- .../drivers/d3d12/d3d12_resource_state.h | 15 ++++++++++ 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/gallium/drivers/d3d12/d3d12_resource_state.cpp b/src/gallium/drivers/d3d12/d3d12_resource_state.cpp index a36ac64dcb7..65c91a9ce6b 100644 --- a/src/gallium/drivers/d3d12/d3d12_resource_state.cpp +++ b/src/gallium/drivers/d3d12/d3d12_resource_state.cpp @@ -34,16 +34,8 @@ #define UNKNOWN_RESOURCE_STATE (D3D12_RESOURCE_STATES) 0x8000u -/* Stores the current desired state of either an entire resource, or each subresource. */ -struct desired_resource_state -{ - bool homogenous; - uint32_t num_subresources; - D3D12_RESOURCE_STATES *subresource_states; -}; - static bool -desired_resource_state_init(desired_resource_state *state, uint32_t subresource_count) +desired_resource_state_init(d3d12_desired_resource_state *state, uint32_t subresource_count) { state->homogenous = true; state->num_subresources = subresource_count; @@ -52,13 +44,13 @@ desired_resource_state_init(desired_resource_state *state, uint32_t subresource_ } static void -desired_resource_state_cleanup(desired_resource_state *state) +desired_resource_state_cleanup(d3d12_desired_resource_state *state) { free(state->subresource_states); } static D3D12_RESOURCE_STATES -get_desired_subresource_state(const desired_resource_state *state, uint32_t subresource_index) +get_desired_subresource_state(const d3d12_desired_resource_state *state, uint32_t subresource_index) { if (state->homogenous) subresource_index = 0; @@ -78,14 +70,14 @@ update_subresource_state(D3D12_RESOURCE_STATES *existing_state, D3D12_RESOURCE_S } static void -set_desired_resource_state(desired_resource_state *state_obj, D3D12_RESOURCE_STATES state) +set_desired_resource_state(d3d12_desired_resource_state *state_obj, D3D12_RESOURCE_STATES state) { state_obj->homogenous = true; update_subresource_state(&state_obj->subresource_states[0], state); } static void -set_desired_subresource_state(desired_resource_state *state_obj, +set_desired_subresource_state(d3d12_desired_resource_state *state_obj, uint32_t subresource, D3D12_RESOURCE_STATES state) { @@ -100,7 +92,7 @@ set_desired_subresource_state(desired_resource_state *state_obj, } static void -reset_desired_resource_state(desired_resource_state *state_obj) +reset_desired_resource_state(d3d12_desired_resource_state *state_obj) { set_desired_resource_state(state_obj, UNKNOWN_RESOURCE_STATE); } @@ -195,12 +187,6 @@ copy_resource_state(d3d12_resource_state *dest, d3d12_resource_state *src) } } -struct d3d12_context_state_table_entry -{ - struct desired_resource_state desired; - struct d3d12_resource_state batch_begin, batch_end; -}; - static void destroy_context_state_table_entry(d3d12_context_state_table_entry *entry) { @@ -524,7 +510,7 @@ d3d12_apply_resource_states(struct d3d12_context *ctx, bool is_implicit_dispatch d3d12_bo *bo = (d3d12_bo *)entry->key; d3d12_context_state_table_entry *state_entry = find_or_create_state_entry(ctx->bo_state_table, bo); - desired_resource_state *destination_state = &state_entry->desired; + d3d12_desired_resource_state *destination_state = &state_entry->desired; d3d12_resource_state *current_state = &state_entry->batch_end; // Figure out the set of subresources that are transitioning diff --git a/src/gallium/drivers/d3d12/d3d12_resource_state.h b/src/gallium/drivers/d3d12/d3d12_resource_state.h index 1be1d8a798a..b85d90df727 100644 --- a/src/gallium/drivers/d3d12/d3d12_resource_state.h +++ b/src/gallium/drivers/d3d12/d3d12_resource_state.h @@ -68,6 +68,21 @@ struct d3d12_resource_state d3d12_subresource_state *subresource_states; }; +/* Stores the current desired state of either an entire resource, or each subresource. */ +struct d3d12_desired_resource_state +{ + bool homogenous; + uint32_t num_subresources; + D3D12_RESOURCE_STATES* subresource_states; +}; + +struct d3d12_context_state_table_entry +{ + struct d3d12_desired_resource_state desired; + struct d3d12_resource_state batch_begin, batch_end; +}; + + bool d3d12_resource_state_init(d3d12_resource_state *state, uint32_t subresource_count, bool simultaneous_access);