mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
tgsi/scan: collect information about output vertex streams
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
81d0dc5e55
commit
cf8e9778fc
2 changed files with 19 additions and 0 deletions
|
|
@ -547,6 +547,23 @@ scan_declaration(struct tgsi_shader_info *info,
|
|||
info->output_semantic_index[reg] = (ubyte) semIndex;
|
||||
info->num_outputs = MAX2(info->num_outputs, reg + 1);
|
||||
|
||||
if (fulldecl->Declaration.UsageMask & TGSI_WRITEMASK_X) {
|
||||
info->output_streams[reg] |= (ubyte)fulldecl->Semantic.StreamX;
|
||||
info->num_stream_output_components[fulldecl->Semantic.StreamX]++;
|
||||
}
|
||||
if (fulldecl->Declaration.UsageMask & TGSI_WRITEMASK_Y) {
|
||||
info->output_streams[reg] |= (ubyte)fulldecl->Semantic.StreamY << 2;
|
||||
info->num_stream_output_components[fulldecl->Semantic.StreamY]++;
|
||||
}
|
||||
if (fulldecl->Declaration.UsageMask & TGSI_WRITEMASK_Z) {
|
||||
info->output_streams[reg] |= (ubyte)fulldecl->Semantic.StreamZ << 4;
|
||||
info->num_stream_output_components[fulldecl->Semantic.StreamZ]++;
|
||||
}
|
||||
if (fulldecl->Declaration.UsageMask & TGSI_WRITEMASK_W) {
|
||||
info->output_streams[reg] |= (ubyte)fulldecl->Semantic.StreamW << 6;
|
||||
info->num_stream_output_components[fulldecl->Semantic.StreamW]++;
|
||||
}
|
||||
|
||||
switch (semName) {
|
||||
case TGSI_SEMANTIC_PRIMID:
|
||||
info->writes_primid = true;
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ struct tgsi_shader_info
|
|||
ubyte input_cylindrical_wrap[PIPE_MAX_SHADER_INPUTS];
|
||||
ubyte output_semantic_name[PIPE_MAX_SHADER_OUTPUTS]; /**< TGSI_SEMANTIC_x */
|
||||
ubyte output_semantic_index[PIPE_MAX_SHADER_OUTPUTS];
|
||||
ubyte output_streams[PIPE_MAX_SHADER_OUTPUTS];
|
||||
|
||||
ubyte num_system_values;
|
||||
ubyte system_value_semantic_name[PIPE_MAX_SHADER_INPUTS];
|
||||
|
|
@ -68,6 +69,7 @@ struct tgsi_shader_info
|
|||
unsigned samplers_declared; /**< bitmask of declared samplers */
|
||||
ubyte sampler_targets[PIPE_MAX_SHADER_SAMPLER_VIEWS]; /**< TGSI_TEXTURE_x values */
|
||||
ubyte sampler_type[PIPE_MAX_SHADER_SAMPLER_VIEWS]; /**< TGSI_RETURN_TYPE_x */
|
||||
ubyte num_stream_output_components[4];
|
||||
|
||||
ubyte input_array_first[PIPE_MAX_SHADER_INPUTS];
|
||||
ubyte input_array_last[PIPE_MAX_SHADER_INPUTS];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue