mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-05 03:40:28 +01:00
panfrost: Remove unused so_mask calculation
This was copied from Iris, but it's not actually used in the new NIR-based transform feedback implementation that we now use on all chips. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20420>
This commit is contained in:
parent
9cd6d0873d
commit
8e1a466882
2 changed files with 0 additions and 46 deletions
|
|
@ -303,7 +303,6 @@ struct panfrost_compiled_shader {
|
|||
struct pan_linkage linkage;
|
||||
|
||||
struct pipe_stream_output_info stream_output;
|
||||
uint64_t so_mask;
|
||||
|
||||
struct panfrost_shader_key key;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
* Copyright (C) 2019-2022 Collabora, Ltd.
|
||||
* Copyright (C) 2019 Red Hat Inc.
|
||||
* Copyright (C) 2018 Alyssa Rosenzweig
|
||||
* Copyright © 2017 Intel Corporation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
|
|
@ -223,45 +222,6 @@ panfrost_build_key(struct panfrost_context *ctx,
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix an uncompiled shader's stream output info, and produce a bitmask
|
||||
* of which VARYING_SLOT_* are captured for stream output.
|
||||
*
|
||||
* Core Gallium stores output->register_index as a "slot" number, where
|
||||
* slots are assigned consecutively to all outputs in info->outputs_written.
|
||||
* This naive packing of outputs doesn't work for us - we too have slots,
|
||||
* but the layout is defined by the VUE map, which we won't have until we
|
||||
* compile a specific shader variant. So, we remap these and simply store
|
||||
* VARYING_SLOT_* in our copy's output->register_index fields.
|
||||
*
|
||||
* We then produce a bitmask of outputs which are used for SO.
|
||||
*
|
||||
* Implementation from iris.
|
||||
*/
|
||||
|
||||
static uint64_t
|
||||
update_so_info(struct pipe_stream_output_info *so_info,
|
||||
uint64_t outputs_written)
|
||||
{
|
||||
uint64_t so_outputs = 0;
|
||||
uint8_t reverse_map[64] = {0};
|
||||
unsigned slot = 0;
|
||||
|
||||
while (outputs_written)
|
||||
reverse_map[slot++] = u_bit_scan64(&outputs_written);
|
||||
|
||||
for (unsigned i = 0; i < so_info->num_outputs; i++) {
|
||||
struct pipe_stream_output *output = &so_info->output[i];
|
||||
|
||||
/* Map Gallium's condensed "slots" back to real VARYING_SLOT_* enums */
|
||||
output->register_index = reverse_map[output->register_index];
|
||||
|
||||
so_outputs |= 1ull << output->register_index;
|
||||
}
|
||||
|
||||
return so_outputs;
|
||||
}
|
||||
|
||||
static struct panfrost_compiled_shader *
|
||||
panfrost_new_variant_locked(
|
||||
struct panfrost_context *ctx,
|
||||
|
|
@ -278,11 +238,6 @@ panfrost_new_variant_locked(
|
|||
panfrost_shader_get(ctx->base.screen, &ctx->shaders, &ctx->descs,
|
||||
uncompiled, &ctx->base.debug, prog, 0);
|
||||
|
||||
/* Fixup the stream out information */
|
||||
prog->so_mask =
|
||||
update_so_info(&prog->stream_output,
|
||||
prog->info.outputs_written);
|
||||
|
||||
prog->earlyzs = pan_earlyzs_analyze(&prog->info);
|
||||
|
||||
return prog;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue