radv: initialize meta shader options earlier
We might need this for NIR builders. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>
This commit is contained in:
@@ -31,10 +31,10 @@
|
||||
#include "vk_format.h"
|
||||
|
||||
static nir_shader *
|
||||
build_nir_vertex_shader(void)
|
||||
build_nir_vertex_shader(struct radv_device *dev)
|
||||
{
|
||||
const struct glsl_type *vec4 = glsl_vec4_type();
|
||||
nir_builder b = radv_meta_init_shader(MESA_SHADER_VERTEX, "meta_resolve_vs");
|
||||
nir_builder b = radv_meta_init_shader(dev, MESA_SHADER_VERTEX, "meta_resolve_vs");
|
||||
|
||||
nir_variable *pos_out = nir_variable_create(b.shader, nir_var_shader_out, vec4, "gl_Position");
|
||||
pos_out->data.location = VARYING_SLOT_POS;
|
||||
@@ -52,8 +52,8 @@ build_resolve_fragment_shader(struct radv_device *dev, bool is_integer, int samp
|
||||
const struct glsl_type *sampler_type =
|
||||
glsl_sampler_type(GLSL_SAMPLER_DIM_MS, false, false, GLSL_TYPE_FLOAT);
|
||||
|
||||
nir_builder b = radv_meta_init_shader(MESA_SHADER_FRAGMENT, "meta_resolve_fs-%d-%s", samples,
|
||||
is_integer ? "int" : "float");
|
||||
nir_builder b = radv_meta_init_shader(dev, MESA_SHADER_FRAGMENT, "meta_resolve_fs-%d-%s",
|
||||
samples, is_integer ? "int" : "float");
|
||||
|
||||
nir_variable *input_img = nir_variable_create(b.shader, nir_var_uniform, sampler_type, "s_tex");
|
||||
input_img->data.descriptor_set = 0;
|
||||
@@ -147,7 +147,7 @@ create_resolve_pipeline(struct radv_device *device, int samples_log2, VkFormat f
|
||||
is_integer = true;
|
||||
|
||||
nir_shader *fs = build_resolve_fragment_shader(device, is_integer, samples);
|
||||
nir_shader *vs = build_nir_vertex_shader();
|
||||
nir_shader *vs = build_nir_vertex_shader(device);
|
||||
|
||||
VkPipelineShaderStageCreateInfo pipeline_shader_stages[] = {
|
||||
{.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
|
||||
@@ -269,7 +269,7 @@ build_depth_stencil_resolve_fragment_shader(struct radv_device *dev, int samples
|
||||
const struct glsl_type *sampler_type =
|
||||
glsl_sampler_type(GLSL_SAMPLER_DIM_2D, false, false, GLSL_TYPE_FLOAT);
|
||||
|
||||
nir_builder b = radv_meta_init_shader(MESA_SHADER_FRAGMENT, "meta_resolve_fs_%s-%s-%d",
|
||||
nir_builder b = radv_meta_init_shader(dev, MESA_SHADER_FRAGMENT, "meta_resolve_fs_%s-%s-%d",
|
||||
index == DEPTH_RESOLVE ? "depth" : "stencil",
|
||||
get_resolve_mode_str(resolve_mode), samples);
|
||||
|
||||
@@ -401,7 +401,7 @@ create_depth_stencil_resolve_pipeline(struct radv_device *device, int samples_lo
|
||||
uint32_t samples = 1 << samples_log2;
|
||||
nir_shader *fs =
|
||||
build_depth_stencil_resolve_fragment_shader(device, samples, index, resolve_mode);
|
||||
nir_shader *vs = build_nir_vertex_shader();
|
||||
nir_shader *vs = build_nir_vertex_shader(device);
|
||||
|
||||
VkPipelineShaderStageCreateInfo pipeline_shader_stages[] = {
|
||||
{.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
|
||||
|
Reference in New Issue
Block a user