mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 09:28:07 +02:00
radv/nir: Add and use radv_nir_return_param_from_type helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39314>
This commit is contained in:
parent
bde7bebc01
commit
1fb005b487
3 changed files with 15 additions and 6 deletions
|
|
@ -240,3 +240,14 @@ radv_nir_param_from_type(nir_parameter *param, const glsl_type *type, bool unifo
|
|||
param->is_uniform = uniform;
|
||||
param->driver_attributes = driver_attribs;
|
||||
}
|
||||
|
||||
void
|
||||
radv_nir_return_param_from_type(nir_parameter *param, const glsl_type *type, bool uniform, unsigned driver_attribs)
|
||||
{
|
||||
param->num_components = 1;
|
||||
param->bit_size = 32;
|
||||
param->type = type;
|
||||
param->is_uniform = uniform;
|
||||
param->driver_attributes = driver_attribs;
|
||||
param->is_return = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,6 +101,8 @@ bool radv_nir_lower_rt_storage(nir_shader *shader, nir_variable **hit_attribs, n
|
|||
nir_variable **payload_out, uint32_t workgroup_size);
|
||||
|
||||
void radv_nir_param_from_type(nir_parameter *param, const glsl_type *type, bool uniform, unsigned driver_attribs);
|
||||
void radv_nir_return_param_from_type(nir_parameter *param, const glsl_type *type, bool uniform,
|
||||
unsigned driver_attribs);
|
||||
|
||||
/*
|
||||
*
|
||||
|
|
|
|||
|
|
@ -118,12 +118,8 @@ radv_nir_init_rt_function_params(nir_function *function, mesa_shader_stage stage
|
|||
}
|
||||
|
||||
if (payload_base != -1u) {
|
||||
for (unsigned i = 0; i < DIV_ROUND_UP(payload_size, 4); ++i) {
|
||||
function->params[payload_base + i].num_components = 1;
|
||||
function->params[payload_base + i].bit_size = 32;
|
||||
function->params[payload_base + i].is_return = true;
|
||||
function->params[payload_base + i].type = glsl_uint_type();
|
||||
}
|
||||
for (unsigned i = 0; i < DIV_ROUND_UP(payload_size, 4); ++i)
|
||||
radv_nir_return_param_from_type(function->params + payload_base + i, glsl_uint_type(), false, 0);
|
||||
}
|
||||
|
||||
/* Entrypoints can't have parameters. Consider RT stages as callable functions */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue