Lines Matching defs:pipeline
315 struct radv_pipeline *pipeline, struct radv_pipeline_shader_stack_size **stack_sizes,
388 memcpy(pipeline->shaders, entry->shaders, sizeof(entry->shaders));
390 if (pipeline->shaders[MESA_SHADER_GEOMETRY] &&
391 !pipeline->shaders[MESA_SHADER_GEOMETRY]->info.is_ngg) {
393 pipeline->gs_copy_shader = pipeline->shaders[MESA_SHADER_COMPUTE];
394 pipeline->shaders[MESA_SHADER_COMPUTE] = NULL;
399 result = radv_upload_shaders(device, pipeline, binaries, gs_copy_binary);
402 if (pipeline->shaders[i])
412 entry->slab = pipeline->slab;
414 pipeline->slab = entry->slab;
415 pipeline->slab_bo = pipeline->slab->alloc->arena->bo;
446 const unsigned char *sha1, struct radv_pipeline *pipeline,
461 radv_shader_destroy(cache->device, pipeline->shaders[i]);
463 pipeline->shaders[i] = entry->shaders[i];
464 p_atomic_inc(&pipeline->shaders[i]->ref_count);
467 radv_pipeline_slab_destroy(cache->device, pipeline->slab);
469 pipeline->slab = entry->slab;
470 p_atomic_inc(&pipeline->slab->ref_count);
486 if (pipeline->shaders[i])
503 if (!pipeline->shaders[i])
525 * implements its own pipeline cache.
547 if (!pipeline->shaders[i])
550 entry->shaders[i] = pipeline->shaders[i];
551 p_atomic_inc(&pipeline->shaders[i]->ref_count);
554 entry->slab = pipeline->slab;
555 p_atomic_inc(&pipeline->slab->ref_count);