Mesa (main): radv/llvm: constify radv_shader_info
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Nov 29 12:37:53 UTC 2021
Module: Mesa
Branch: main
Commit: 8eae431720f868bba235ab18effa3ad59fe88818
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8eae431720f868bba235ab18effa3ad59fe88818
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Wed Oct 27 11:20:15 2021 +0200
radv/llvm: constify radv_shader_info
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13542>
---
src/amd/vulkan/radv_nir_to_llvm.c | 29 +++++++++++++++--------------
src/amd/vulkan/radv_private.h | 2 +-
src/amd/vulkan/radv_shader.c | 2 +-
src/amd/vulkan/radv_shader.h | 2 +-
4 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c
index 546ff293e3d..09c1710c27e 100644
--- a/src/amd/vulkan/radv_nir_to_llvm.c
+++ b/src/amd/vulkan/radv_nir_to_llvm.c
@@ -45,7 +45,7 @@ struct radv_shader_context {
const struct nir_shader *shader;
struct ac_shader_abi abi;
const struct radv_nir_compiler_options *options;
- struct radv_shader_info *shader_info;
+ const struct radv_shader_info *shader_info;
const struct radv_shader_args *args;
gl_shader_stage stage;
@@ -113,7 +113,7 @@ create_llvm_function(struct ac_llvm_context *ctx, LLVMModuleRef module, LLVMBuil
static void
load_descriptor_sets(struct radv_shader_context *ctx)
{
- struct radv_userdata_locations *user_sgprs_locs = &ctx->shader_info->user_sgprs_locs;
+ const struct radv_userdata_locations *user_sgprs_locs = &ctx->shader_info->user_sgprs_locs;
uint32_t mask = ctx->shader_info->desc_set_used_mask;
if (user_sgprs_locs->shader_data[AC_UD_INDIRECT_DESCRIPTOR_SETS].sgpr_idx != -1) {
@@ -1168,7 +1168,7 @@ radv_emit_streamout(struct radv_shader_context *ctx, unsigned stream)
/* Write streamout data. */
for (i = 0; i < ctx->shader_info->so.num_outputs; i++) {
struct radv_shader_output_values shader_out = {0};
- struct radv_stream_output *output = &ctx->shader_info->so.outputs[i];
+ const struct radv_stream_output *output = &ctx->shader_info->so.outputs[i];
if (stream != output->stream)
continue;
@@ -1185,7 +1185,7 @@ radv_emit_streamout(struct radv_shader_context *ctx, unsigned stream)
static void
radv_build_param_exports(struct radv_shader_context *ctx, struct radv_shader_output_values *outputs,
- unsigned noutput, struct radv_vs_output_info *outinfo,
+ unsigned noutput, const struct radv_vs_output_info *outinfo,
bool export_clip_dists)
{
for (unsigned i = 0; i < noutput; i++) {
@@ -1211,7 +1211,8 @@ radv_build_param_exports(struct radv_shader_context *ctx, struct radv_shader_out
*/
static void
radv_llvm_export_vs(struct radv_shader_context *ctx, struct radv_shader_output_values *outputs,
- unsigned noutput, struct radv_vs_output_info *outinfo, bool export_clip_dists)
+ unsigned noutput, const struct radv_vs_output_info *outinfo,
+ bool export_clip_dists)
{
LLVMValueRef psize_value = NULL, layer_value = NULL, viewport_value = NULL;
LLVMValueRef primitive_shading_rate = NULL;
@@ -1353,7 +1354,7 @@ radv_llvm_export_vs(struct radv_shader_context *ctx, struct radv_shader_output_v
static void
handle_vs_outputs_post(struct radv_shader_context *ctx, bool export_prim_id, bool export_clip_dists,
- struct radv_vs_output_info *outinfo)
+ const struct radv_vs_output_info *outinfo)
{
struct radv_shader_output_values *outputs;
unsigned noutput = 0;
@@ -1659,9 +1660,9 @@ handle_ngg_outputs_post_2(struct radv_shader_context *ctx)
/* Export per-vertex data (positions and parameters). */
ac_build_ifcc(&ctx->ac, is_es_thread, 6002);
{
- struct radv_vs_output_info *outinfo = ctx->stage == MESA_SHADER_TESS_EVAL
- ? &ctx->shader_info->tes.outinfo
- : &ctx->shader_info->vs.outinfo;
+ const struct radv_vs_output_info *outinfo = ctx->stage == MESA_SHADER_TESS_EVAL
+ ? &ctx->shader_info->tes.outinfo
+ : &ctx->shader_info->vs.outinfo;
/* Exporting the primitive ID is handled below. */
/* TODO: use the new VS export path */
@@ -1937,7 +1938,7 @@ gfx10_ngg_gs_emit_epilogue_2(struct radv_shader_context *ctx)
tmp = LLVMBuildICmp(builder, LLVMIntULT, tid, vertlive_scan.result_reduce, "");
ac_build_ifcc(&ctx->ac, tmp, 5145);
{
- struct radv_vs_output_info *outinfo = &ctx->shader_info->vs.outinfo;
+ const struct radv_vs_output_info *outinfo = &ctx->shader_info->vs.outinfo;
bool export_view_index = ctx->options->key.has_multiview_view_index;
struct radv_shader_output_values *outputs;
unsigned noutput = 0;
@@ -2357,7 +2358,7 @@ declare_esgs_ring(struct radv_shader_context *ctx)
static LLVMModuleRef
ac_translate_nir_to_llvm(struct ac_llvm_compiler *ac_llvm,
const struct radv_nir_compiler_options *options,
- struct radv_shader_info *info,
+ const struct radv_shader_info *info,
struct nir_shader *const *shaders, int shader_count,
const struct radv_shader_args *args)
{
@@ -2644,7 +2645,7 @@ ac_compile_llvm_module(struct ac_llvm_compiler *ac_llvm, LLVMModuleRef llvm_modu
static void
radv_compile_nir_shader(struct ac_llvm_compiler *ac_llvm,
const struct radv_nir_compiler_options *options,
- struct radv_shader_info *info,
+ const struct radv_shader_info *info,
struct radv_shader_binary **rbinary,
const struct radv_shader_args *args, struct nir_shader *const *nir,
int nir_count)
@@ -2747,7 +2748,7 @@ ac_gs_copy_shader_emit(struct radv_shader_context *ctx)
static void
radv_compile_gs_copy_shader(struct ac_llvm_compiler *ac_llvm,
const struct radv_nir_compiler_options *options,
- struct radv_shader_info *info,
+ const struct radv_shader_info *info,
struct nir_shader *geom_shader,
struct radv_shader_binary **rbinary,
const struct radv_shader_args *args)
@@ -2789,7 +2790,7 @@ radv_compile_gs_copy_shader(struct ac_llvm_compiler *ac_llvm,
void
llvm_compile_shader(const struct radv_nir_compiler_options *options,
- struct radv_shader_info *info, unsigned shader_count,
+ const struct radv_shader_info *info, unsigned shader_count,
struct nir_shader *const *shaders, struct radv_shader_binary **binary,
const struct radv_shader_args *args)
{
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index 1a0641ac2c6..84340806584 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -2646,7 +2646,7 @@ struct radv_nir_compiler_options;
struct radv_shader_info;
void llvm_compile_shader(const struct radv_nir_compiler_options *options,
- struct radv_shader_info *info, unsigned shader_count,
+ const struct radv_shader_info *info, unsigned shader_count,
struct nir_shader *const *shaders, struct radv_shader_binary **binary,
const struct radv_shader_args *args);
diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
index 9ae950783d9..9f6c786d65b 100644
--- a/src/amd/vulkan/radv_shader.c
+++ b/src/amd/vulkan/radv_shader.c
@@ -2049,7 +2049,7 @@ radv_find_shader(struct radv_device *device, uint64_t pc)
}
const char *
-radv_get_shader_name(struct radv_shader_info *info, gl_shader_stage stage)
+radv_get_shader_name(const struct radv_shader_info *info, gl_shader_stage stage)
{
switch (stage) {
case MESA_SHADER_VERTEX:
diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h
index fa1eba5be2d..52a5b06ab7c 100644
--- a/src/amd/vulkan/radv_shader.h
+++ b/src/amd/vulkan/radv_shader.h
@@ -535,7 +535,7 @@ struct radv_shader *radv_find_shader(struct radv_device *device, uint64_t pc);
unsigned radv_get_max_waves(const struct radv_device *device, struct radv_shader *shader,
gl_shader_stage stage);
-const char *radv_get_shader_name(struct radv_shader_info *info, gl_shader_stage stage);
+const char *radv_get_shader_name(const struct radv_shader_info *info, gl_shader_stage stage);
unsigned radv_compute_spi_ps_input(const struct radv_device *device,
const struct radv_shader_info *info);
More information about the mesa-commit
mailing list