• Home
  • Raw
  • Download

Lines Matching refs:pipeline

84    LVP_FROM_HANDLE(lvp_pipeline, pipeline, _pipeline);  in lvp_DestroyPipeline()
89 if (pipeline->shader_cso[PIPE_SHADER_VERTEX]) in lvp_DestroyPipeline()
90 … device->queue.ctx->delete_vs_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_VERTEX]); in lvp_DestroyPipeline()
91 if (pipeline->shader_cso[PIPE_SHADER_FRAGMENT]) in lvp_DestroyPipeline()
92 … device->queue.ctx->delete_fs_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_FRAGMENT]); in lvp_DestroyPipeline()
93 if (pipeline->shader_cso[PIPE_SHADER_GEOMETRY]) in lvp_DestroyPipeline()
94 … device->queue.ctx->delete_gs_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_GEOMETRY]); in lvp_DestroyPipeline()
95 if (pipeline->shader_cso[PIPE_SHADER_TESS_CTRL]) in lvp_DestroyPipeline()
96 …device->queue.ctx->delete_tcs_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_TESS_CTRL]… in lvp_DestroyPipeline()
97 if (pipeline->shader_cso[PIPE_SHADER_TESS_EVAL]) in lvp_DestroyPipeline()
98 …device->queue.ctx->delete_tes_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_TESS_EVAL]… in lvp_DestroyPipeline()
99 if (pipeline->shader_cso[PIPE_SHADER_COMPUTE]) in lvp_DestroyPipeline()
100 …device->queue.ctx->delete_compute_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_COMPUT… in lvp_DestroyPipeline()
102 if (!pipeline->is_compute_pipeline) { in lvp_DestroyPipeline()
103 for (unsigned i = 0; i < pipeline->graphics_create_info.stageCount; i++) in lvp_DestroyPipeline()
104 if (pipeline->graphics_create_info.pStages[i].pSpecializationInfo) in lvp_DestroyPipeline()
105 free((void *)pipeline->graphics_create_info.pStages[i].pSpecializationInfo); in lvp_DestroyPipeline()
107 free((void *)pipeline->graphics_create_info.pStages); in lvp_DestroyPipeline()
108 free((void *)pipeline->graphics_create_info.pVertexInputState->pVertexBindingDescriptions); in lvp_DestroyPipeline()
109 free((void *)pipeline->graphics_create_info.pVertexInputState->pVertexAttributeDescriptions); in lvp_DestroyPipeline()
110 free((void *)pipeline->graphics_create_info.pVertexInputState); in lvp_DestroyPipeline()
111 free((void *)pipeline->graphics_create_info.pInputAssemblyState); in lvp_DestroyPipeline()
112 if (pipeline->graphics_create_info.pViewportState) { in lvp_DestroyPipeline()
113 free((void *)pipeline->graphics_create_info.pViewportState->pViewports); in lvp_DestroyPipeline()
114 free((void *)pipeline->graphics_create_info.pViewportState->pScissors); in lvp_DestroyPipeline()
116 free((void *)pipeline->graphics_create_info.pViewportState); in lvp_DestroyPipeline()
118 if (pipeline->graphics_create_info.pTessellationState) in lvp_DestroyPipeline()
119 free((void *)pipeline->graphics_create_info.pTessellationState); in lvp_DestroyPipeline()
120 free((void *)pipeline->graphics_create_info.pRasterizationState); in lvp_DestroyPipeline()
121 free((void *)pipeline->graphics_create_info.pMultisampleState); in lvp_DestroyPipeline()
122 free((void *)pipeline->graphics_create_info.pDepthStencilState); in lvp_DestroyPipeline()
123 if (pipeline->graphics_create_info.pColorBlendState) in lvp_DestroyPipeline()
124 free((void *)pipeline->graphics_create_info.pColorBlendState->pAttachments); in lvp_DestroyPipeline()
125 free((void *)pipeline->graphics_create_info.pColorBlendState); in lvp_DestroyPipeline()
126 if (pipeline->graphics_create_info.pDynamicState) in lvp_DestroyPipeline()
127 free((void *)pipeline->graphics_create_info.pDynamicState->pDynamicStates); in lvp_DestroyPipeline()
128 free((void *)pipeline->graphics_create_info.pDynamicState); in lvp_DestroyPipeline()
130 if (pipeline->compute_create_info.stage.pSpecializationInfo) in lvp_DestroyPipeline()
131 free((void *)pipeline->compute_create_info.stage.pSpecializationInfo); in lvp_DestroyPipeline()
132 vk_object_base_finish(&pipeline->base); in lvp_DestroyPipeline()
133 vk_free2(&device->vk.alloc, pAllocator, pipeline); in lvp_DestroyPipeline()
466 lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline, in lvp_shader_compile_to_ir() argument
473 …onst nir_shader_compiler_options *drv_options = pipeline->device->pscreen->get_compiler_options(pi… in lvp_shader_compile_to_ir()
511 struct lvp_device *pdevice = pipeline->device; in lvp_shader_compile_to_ir()
569 lvp_lower_pipeline_layout(pipeline->device, pipeline->layout, nir); in lvp_shader_compile_to_ir()
633 pipeline->pipeline_nir[stage] = nir; in lvp_shader_compile_to_ir()
636 …_shader_prog(struct pipe_shader_state *state, gl_shader_stage stage, struct lvp_pipeline *pipeline) in fill_shader_prog() argument
639 state->ir.nir = pipeline->pipeline_nir[stage]; in fill_shader_prog()
704 lvp_pipeline_compile(struct lvp_pipeline *pipeline, in lvp_pipeline_compile() argument
707 struct lvp_device *device = pipeline->device; in lvp_pipeline_compile()
708 …device->physical_device->pscreen->finalize_nir(device->physical_device->pscreen, pipeline->pipelin… in lvp_pipeline_compile()
711 shstate.prog = (void *)pipeline->pipeline_nir[MESA_SHADER_COMPUTE]; in lvp_pipeline_compile()
713 shstate.req_local_mem = pipeline->pipeline_nir[MESA_SHADER_COMPUTE]->info.cs.shared_size; in lvp_pipeline_compile()
714pipeline->shader_cso[PIPE_SHADER_COMPUTE] = device->queue.ctx->create_compute_state(device->queue.… in lvp_pipeline_compile()
717 fill_shader_prog(&shstate, stage, pipeline); in lvp_pipeline_compile()
720pipeline->shader_cso[PIPE_SHADER_FRAGMENT] = device->queue.ctx->create_fs_state(device->queue.ctx,… in lvp_pipeline_compile()
723pipeline->shader_cso[PIPE_SHADER_VERTEX] = device->queue.ctx->create_vs_state(device->queue.ctx, &… in lvp_pipeline_compile()
726pipeline->shader_cso[PIPE_SHADER_GEOMETRY] = device->queue.ctx->create_gs_state(device->queue.ctx,… in lvp_pipeline_compile()
729pipeline->shader_cso[PIPE_SHADER_TESS_CTRL] = device->queue.ctx->create_tcs_state(device->queue.ct… in lvp_pipeline_compile()
732pipeline->shader_cso[PIPE_SHADER_TESS_EVAL] = device->queue.ctx->create_tes_state(device->queue.ct… in lvp_pipeline_compile()
743 lvp_graphics_pipeline_init(struct lvp_pipeline *pipeline, in lvp_graphics_pipeline_init() argument
751 pipeline->device = device; in lvp_graphics_pipeline_init()
752 pipeline->layout = lvp_pipeline_layout_from_handle(pCreateInfo->layout); in lvp_graphics_pipeline_init()
753 pipeline->force_min_sample = false; in lvp_graphics_pipeline_init()
756 deep_copy_graphics_create_info(&pipeline->graphics_create_info, pCreateInfo); in lvp_graphics_pipeline_init()
757 pipeline->is_compute_pipeline = false; in lvp_graphics_pipeline_init()
763 lvp_shader_compile_to_ir(pipeline, module, in lvp_graphics_pipeline_init()
769 if (pipeline->pipeline_nir[MESA_SHADER_FRAGMENT]) { in lvp_graphics_pipeline_init()
770 if (pipeline->pipeline_nir[MESA_SHADER_FRAGMENT]->info.fs.uses_sample_qualifier || in lvp_graphics_pipeline_init()
771 …BITSET_TEST(pipeline->pipeline_nir[MESA_SHADER_FRAGMENT]->info.system_values_read, SYSTEM_VALUE_SA… in lvp_graphics_pipeline_init()
772 …BITSET_TEST(pipeline->pipeline_nir[MESA_SHADER_FRAGMENT]->info.system_values_read, SYSTEM_VALUE_SA… in lvp_graphics_pipeline_init()
773 pipeline->force_min_sample = true; in lvp_graphics_pipeline_init()
775 if (pipeline->pipeline_nir[MESA_SHADER_TESS_CTRL]) { in lvp_graphics_pipeline_init()
776 …nir_lower_patch_vertices(pipeline->pipeline_nir[MESA_SHADER_TESS_EVAL], pipeline->pipeline_nir[MES… in lvp_graphics_pipeline_init()
777 …merge_tess_info(&pipeline->pipeline_nir[MESA_SHADER_TESS_EVAL]->info, &pipeline->pipeline_nir[MESA… in lvp_graphics_pipeline_init()
778pipeline->pipeline_nir[MESA_SHADER_TESS_EVAL]->info.tess.ccw = !pipeline->pipeline_nir[MESA_SHADER… in lvp_graphics_pipeline_init()
785 lvp_pipeline_compile(pipeline, stage); in lvp_graphics_pipeline_init()
797 pipeline->pipeline_nir[MESA_SHADER_FRAGMENT] = b.shader; in lvp_graphics_pipeline_init()
800 shstate.ir.nir = pipeline->pipeline_nir[MESA_SHADER_FRAGMENT]; in lvp_graphics_pipeline_init()
801pipeline->shader_cso[PIPE_SHADER_FRAGMENT] = device->queue.ctx->create_fs_state(device->queue.ctx,… in lvp_graphics_pipeline_init()
816 struct lvp_pipeline *pipeline; in lvp_graphics_pipeline_create() local
821 pipeline = vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*pipeline), 8, in lvp_graphics_pipeline_create()
823 if (pipeline == NULL) in lvp_graphics_pipeline_create()
826 vk_object_base_init(&device->vk, &pipeline->base, in lvp_graphics_pipeline_create()
828 result = lvp_graphics_pipeline_init(pipeline, device, cache, pCreateInfo, in lvp_graphics_pipeline_create()
831 vk_free2(&device->vk.alloc, pAllocator, pipeline); in lvp_graphics_pipeline_create()
835 *pPipeline = lvp_pipeline_to_handle(pipeline); in lvp_graphics_pipeline_create()
867 lvp_compute_pipeline_init(struct lvp_pipeline *pipeline, in lvp_compute_pipeline_init() argument
877 pipeline->device = device; in lvp_compute_pipeline_init()
878 pipeline->layout = lvp_pipeline_layout_from_handle(pCreateInfo->layout); in lvp_compute_pipeline_init()
879 pipeline->force_min_sample = false; in lvp_compute_pipeline_init()
881 deep_copy_compute_create_info(&pipeline->compute_create_info, pCreateInfo); in lvp_compute_pipeline_init()
882 pipeline->is_compute_pipeline = true; in lvp_compute_pipeline_init()
884 lvp_shader_compile_to_ir(pipeline, module, in lvp_compute_pipeline_init()
888 lvp_pipeline_compile(pipeline, MESA_SHADER_COMPUTE); in lvp_compute_pipeline_init()
902 struct lvp_pipeline *pipeline; in lvp_compute_pipeline_create() local
907 pipeline = vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*pipeline), 8, in lvp_compute_pipeline_create()
909 if (pipeline == NULL) in lvp_compute_pipeline_create()
912 vk_object_base_init(&device->vk, &pipeline->base, in lvp_compute_pipeline_create()
914 result = lvp_compute_pipeline_init(pipeline, device, cache, pCreateInfo, in lvp_compute_pipeline_create()
917 vk_free2(&device->vk.alloc, pAllocator, pipeline); in lvp_compute_pipeline_create()
921 *pPipeline = lvp_pipeline_to_handle(pipeline); in lvp_compute_pipeline_create()