radv: add radv_vs_input_state::attrib_index_offset
This is only used with static strides and it will allow us to bind the static vertex input state from the pipeline. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30916>
This commit is contained in:

committed by
Marge Bot

parent
dd673269e4
commit
aea6cec434
@@ -2954,6 +2954,10 @@ radv_pipeline_init_vertex_input_state(const struct radv_device *device, struct r
|
||||
pipeline->vs_input_state.bindings[i] = binding;
|
||||
pipeline->vs_input_state.bindings_match_attrib &= binding == i;
|
||||
|
||||
if (state->vi->bindings[binding].stride) {
|
||||
pipeline->vs_input_state.attrib_index_offset[i] = offset / state->vi->bindings[binding].stride;
|
||||
}
|
||||
|
||||
if (state->vi->bindings[binding].input_rate) {
|
||||
pipeline->vs_input_state.instance_rate_inputs |= BITFIELD_BIT(i);
|
||||
pipeline->vs_input_state.divisors[i] = state->vi->bindings[binding].divisor;
|
||||
|
@@ -297,6 +297,7 @@ struct radv_vs_input_state {
|
||||
uint8_t format_align_req_minus_1[MAX_VERTEX_ATTRIBS];
|
||||
uint8_t component_align_req_minus_1[MAX_VERTEX_ATTRIBS];
|
||||
uint8_t format_sizes[MAX_VERTEX_ATTRIBS];
|
||||
uint32_t attrib_index_offset[MAX_VERTEX_ATTRIBS]; /* Only used with static strides. */
|
||||
|
||||
bool bindings_match_attrib;
|
||||
};
|
||||
|
Reference in New Issue
Block a user