nir_builder: Return a new builder from nir_builder_init_simple_shader().

It's a little inline function, so we can just RAII it for better
ergonomics.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7323>
This commit is contained in:
Eric Anholt
2020-10-26 10:44:53 -07:00
parent 1aa1c1aec2
commit 4e9328e3b6
38 changed files with 87 additions and 150 deletions

View File

@@ -35,9 +35,7 @@ static nir_shader *
build_nir_vertex_shader(void)
{
const struct glsl_type *vec4 = glsl_vec4_type();
nir_builder b;
nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_VERTEX, NULL);
nir_builder b = nir_builder_init_simple_shader(NULL, MESA_SHADER_VERTEX, NULL);
b.shader->info.name = ralloc_strdup(b.shader, "meta_resolve_vs");
nir_variable *pos_out = nir_variable_create(b.shader, nir_var_shader_out,
@@ -53,7 +51,6 @@ build_nir_vertex_shader(void)
static nir_shader *
build_resolve_fragment_shader(struct radv_device *dev, bool is_integer, int samples)
{
nir_builder b;
char name[64];
const struct glsl_type *vec4 = glsl_vec4_type();
const struct glsl_type *sampler_type = glsl_sampler_type(GLSL_SAMPLER_DIM_MS,
@@ -62,7 +59,7 @@ build_resolve_fragment_shader(struct radv_device *dev, bool is_integer, int samp
GLSL_TYPE_FLOAT);
snprintf(name, 64, "meta_resolve_fs-%d-%s", samples, is_integer ? "int" : "float");
nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_FRAGMENT, NULL);
nir_builder b = nir_builder_init_simple_shader(NULL, MESA_SHADER_FRAGMENT, NULL);
b.shader->info.name = ralloc_strdup(b.shader, name);
nir_variable *input_img = nir_variable_create(b.shader, nir_var_uniform,
@@ -359,7 +356,6 @@ build_depth_stencil_resolve_fragment_shader(struct radv_device *dev, int samples
int index,
VkResolveModeFlagBits resolve_mode)
{
nir_builder b;
char name[64];
const struct glsl_type *vec4 = glsl_vec4_type();
const struct glsl_type *sampler_type = glsl_sampler_type(GLSL_SAMPLER_DIM_2D,
@@ -371,7 +367,7 @@ build_depth_stencil_resolve_fragment_shader(struct radv_device *dev, int samples
index == DEPTH_RESOLVE ? "depth" : "stencil",
get_resolve_mode_str(resolve_mode), samples);
nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_FRAGMENT, NULL);
nir_builder b = nir_builder_init_simple_shader(NULL, MESA_SHADER_FRAGMENT, NULL);
b.shader->info.name = ralloc_strdup(b.shader, name);
nir_variable *input_img = nir_variable_create(b.shader, nir_var_uniform,