Lines Matching refs:prog
442 struct gl_shader_program *prog, struct set *resource_set,
472 if (prog->data->spirv) {
474 rzalloc(prog, struct gl_shader_variable);
486 if (!link_util_add_program_resource(prog, resource_set,
507 if (!add_shader_variable(consts, prog, resource_set,
523 struct gl_shader_program *prog,
527 struct gl_linked_shader *sh = prog->_LinkedShaders[stage];
536 return add_vars_with_modes(consts, prog, resource_set,
541 return add_vars_with_modes(consts, prog, resource_set,
572 init_program_resource_list(struct gl_shader_program *prog)
575 if (prog->data->ProgramResourceList) {
576 ralloc_free(prog->data->ProgramResourceList);
577 prog->data->ProgramResourceList = NULL;
578 prog->data->NumProgramResourceList = 0;
588 struct gl_shader_program *prog,
593 init_program_resource_list(prog);
602 if (!prog->_LinkedShaders[i])
616 if (!add_interface_variables(consts, prog, resource_set, input_stage,
621 if (!add_interface_variables(consts, prog, resource_set, output_stage,
627 if (prog->last_vert_prog) {
629 prog->last_vert_prog->sh.LinkedTransformFeedback;
634 if (!link_util_add_program_resource(prog, resource_set,
645 if (!link_util_add_program_resource(prog, resource_set,
662 for (unsigned i = 0; i < prog->data->NumUniformStorage; i++) {
663 struct gl_uniform_storage *uniform = &prog->data->UniformStorage[i];
674 if (!link_util_add_program_resource(prog, resource_set,
682 if (!link_util_should_add_buffer_variable(prog, uniform,
689 if (prog->data->UniformStorage[i].offset >= second_element_offset) {
691 prog->data->UniformStorage[i].offset;
694 prog->data->UniformStorage[i].top_level_array_size *
695 prog->data->UniformStorage[i].top_level_array_stride;
702 prog->data->UniformStorage[i].top_level_array_stride : -1;
708 if (!link_util_add_program_resource(prog, resource_set, interface, uniform,
715 for (unsigned i = 0; i < prog->data->NumUniformBlocks; i++) {
716 if (!link_util_add_program_resource(prog, resource_set, GL_UNIFORM_BLOCK,
717 &prog->data->UniformBlocks[i],
718 prog->data->UniformBlocks[i].stageref))
722 for (unsigned i = 0; i < prog->data->NumShaderStorageBlocks; i++) {
723 if (!link_util_add_program_resource(prog, resource_set, GL_SHADER_STORAGE_BLOCK,
724 &prog->data->ShaderStorageBlocks[i],
725 prog->data->ShaderStorageBlocks[i].stageref))
730 for (unsigned i = 0; i < prog->data->NumAtomicBuffers; i++) {
731 if (!link_util_add_program_resource(prog, resource_set, GL_ATOMIC_COUNTER_BUFFER,
732 &prog->data->AtomicBuffers[i], 0))
736 unsigned mask = prog->data->linked_stages;
739 struct gl_program *p = prog->_LinkedShaders[i]->Program;
743 if (!link_util_add_program_resource(prog, resource_set,
756 struct gl_shader_program *prog,
763 if (prog->_LinkedShaders[i])
764 linked_shader[num_shaders++] = prog->_LinkedShaders[i];
778 struct gl_linked_shader *shader = prog->_LinkedShaders[i];
789 if (!gl_nir_link_uniform_blocks(prog))
792 if (!gl_nir_link_uniforms(consts, prog, options->fill_parameters))
795 gl_nir_link_assign_atomic_counter_resources(consts, prog);
796 gl_nir_link_assign_xfb_resources(consts, prog);
807 struct gl_shader_program *prog)
817 struct gl_linked_shader *sh = prog->_LinkedShaders[i];
826 linker_error(prog, "Too many combined image uniforms\n");
829 prog->_LinkedShaders[MESA_SHADER_FRAGMENT];
837 linker_error(prog, "Too many combined image uniforms, shader storage "
864 struct gl_shader_program *prog)
867 if (prog->_LinkedShaders[i] == NULL)
874 nir_foreach_function(function, prog->_LinkedShaders[i]->Program->nir) {
905 linker_error(prog, msg, prog->IsES ? "ES" : "",
906 prog->data->Version);
909 linker_warning(prog, msg, prog->IsES ? "ES" : "",
910 prog->data->Version);
922 struct gl_shader_program *prog)
924 if (prog->NumShaders == 0)
927 if (!gl_nir_link_varyings(consts, exts, api, prog))
934 if ((!prog->IsES && prog->data->Version < 130) ||
935 (prog->IsES && prog->data->Version < 300)) {
936 if (!validate_sampler_array_indexing(consts, prog))
940 if (prog->data->LinkStatus == LINKING_FAILURE)
947 if (prog->_LinkedShaders[i])
948 linked_shader[num_shaders++] = prog->_LinkedShaders[i];
969 struct gl_linked_shader *shader = prog->_LinkedShaders[i];
985 if (!gl_nir_link_uniforms(consts, prog, true))
988 link_util_calculate_subroutine_compat(prog);
989 link_util_check_uniform_resources(consts, prog);
990 link_util_check_subroutine_resources(prog);
991 check_image_resources(consts, exts, prog);
992 gl_nir_link_assign_atomic_counter_resources(consts, prog);
993 gl_nir_link_check_atomic_counter_resources(consts, prog);
995 if (prog->data->LinkStatus == LINKING_FAILURE)