Lines Matching refs:pdevice

121    const struct pvr_physical_device *pdevice,
205 static void pvr_physical_device_finish(struct pvr_physical_device *pdevice)
213 if (pdevice->compiler)
214 rogue_compiler_destroy(pdevice->compiler);
216 pvr_wsi_finish(pdevice);
218 free(pdevice->name);
220 if (pdevice->ws)
221 pvr_winsys_destroy(pdevice->ws);
223 if (pdevice->master_fd >= 0) {
224 vk_free(&pdevice->vk.instance->alloc, pdevice->master_path);
225 close(pdevice->master_fd);
228 if (pdevice->render_fd >= 0) {
229 vk_free(&pdevice->vk.instance->alloc, pdevice->render_path);
230 close(pdevice->render_fd);
232 vk_physical_device_finish(&pdevice->vk);
252 pvr_physical_device_init_uuids(struct pvr_physical_device *pdevice)
262 return vk_errorf(pdevice,
269 return vk_errorf(pdevice,
274 bvnc = pvr_get_packed_bvnc(&pdevice->dev_info);
280 memcpy(pdevice->pipeline_cache_uuid, sha1, VK_UUID_SIZE);
304 static VkResult pvr_physical_device_init(struct pvr_physical_device *pdevice,
325 pvr_physical_device_get_supported_extensions(pdevice, &supported_extensions);
337 result = vk_physical_device_init(&pdevice->vk,
344 pdevice->instance = instance;
346 pdevice->render_fd = open(path, O_RDWR | O_CLOEXEC);
347 if (pdevice->render_fd < 0) {
355 pdevice->render_path = vk_strdup(&pdevice->vk.instance->alloc,
358 if (!pdevice->render_path) {
366 pdevice->master_fd = open(primary_path, O_RDWR | O_CLOEXEC);
368 pdevice->master_fd = -1;
371 if (pdevice->master_fd >= 0) {
372 pdevice->master_path = vk_strdup(&pdevice->vk.instance->alloc,
375 if (!pdevice->master_path) {
380 pdevice->master_path = NULL;
383 pdevice->ws = pvr_winsys_create(pdevice->master_fd,
384 pdevice->render_fd,
385 &pdevice->vk.instance->alloc);
386 if (!pdevice->ws) {
391 pdevice->vk.supported_sync_types = pdevice->ws->sync_types;
393 ret = pdevice->ws->ops->device_info_init(pdevice->ws,
394 &pdevice->dev_info,
395 &pdevice->dev_runtime_info);
401 result = pvr_physical_device_init_uuids(pdevice);
405 if (asprintf(&pdevice->name,
407 pdevice->dev_info.ident.series_name,
408 pdevice->dev_info.ident.public_name) < 0) {
416 pdevice->memory.memoryHeapCount = 1;
417 pdevice->memory.memoryHeaps[0].size = pvr_compute_heap_size();
418 pdevice->memory.memoryHeaps[0].flags = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT;
420 pdevice->memory.memoryTypeCount = 1;
421 pdevice->memory.memoryTypes[0].propertyFlags =
425 pdevice->memory.memoryTypes[0].heapIndex = 0;
427 result = pvr_wsi_init(pdevice);
433 pdevice->compiler = rogue_compiler_create(&pdevice->dev_info);
434 if (!pdevice->compiler) {
444 pvr_wsi_finish(pdevice);
447 free(pdevice->name);
450 pvr_winsys_destroy(pdevice->ws);
453 vk_free(&pdevice->vk.instance->alloc, pdevice->master_path);
456 if (pdevice->master_fd >= 0)
457 close(pdevice->master_fd);
459 vk_free(&pdevice->vk.instance->alloc, pdevice->render_path);
462 close(pdevice->render_fd);
465 vk_physical_device_finish(&pdevice->vk);
599 PVR_FROM_HANDLE(pvr_physical_device, pdevice, physicalDevice);
603 PVR_HAS_FEATURE(&pdevice->dev_info, robust_buffer_access),
624 .textureCompressionASTC_LDR = PVR_HAS_FEATURE(&pdevice->dev_info, astc),
667 const struct pvr_physical_device *pdevice,
672 &pdevice->dev_runtime_info;
673 const struct pvr_device_info *dev_info = &pdevice->dev_info;
711 &pdevice->dev_runtime_info;
751 pvr_get_physical_device_descriptor_limits(struct pvr_physical_device *pdevice)
774 pvr_calc_fscommon_size_and_tiles_in_flight(pdevice, -1, 1);
797 PVR_FROM_HANDLE(pvr_physical_device, pdevice, physicalDevice);
799 pvr_get_physical_device_descriptor_limits(pdevice);
803 PVR_GET_FEATURE_VALUE(&pdevice->dev_info, max_multisample, 4);
807 PVR_GET_FEATURE_VALUE(&pdevice->dev_info, uvs_banks, 2);
811 PVR_GET_FEATURE_VALUE(&pdevice->dev_info, uvs_pba_entries, 160);
815 PVR_GET_FEATURE_VALUE(&pdevice->dev_info, num_user_clip_planes, 8);
818 PVR_HAS_FEATURE(&pdevice->dev_info, simple_internal_parameter_format)
823 rogue_get_render_size_max(&pdevice->dev_info);
846 PVR_GET_FEATURE_VALUE(&pdevice->dev_info, usc_slots, 14);
850 PVR_GET_FEATURE_VALUE(&pdevice->dev_info,
1008 .deviceID = pdevice->dev_info.ident.device_id,
1017 pdevice->name);
1020 pdevice->pipeline_cache_uuid,
1074 PVR_FROM_HANDLE(pvr_physical_device, pdevice, physicalDevice);
1076 pMemoryProperties->memoryProperties = pdevice->memory;
1116 const struct pvr_device_info *dev_info = &device->pdevice->dev_info;
1192 const struct pvr_device_info *dev_info = &device->pdevice->dev_info;
1324 pvr_hard_code_get_idfwdf_program(&device->pdevice->dev_info,
1486 rogue_get_slc_cache_line_size(&device->pdevice->dev_info);
1568 PVR_FROM_HANDLE(pvr_physical_device, pdevice, physicalDevice);
1569 struct pvr_instance *instance = pdevice->instance;
1576 device = vk_alloc2(&pdevice->vk.instance->alloc,
1593 &pdevice->vk,
1600 device->render_fd = open(pdevice->render_path, O_RDWR | O_CLOEXEC);
1605 pdevice->render_path);
1609 if (pdevice->master_path)
1610 device->master_fd = open(pdevice->master_path, O_RDWR | O_CLOEXEC);
1617 device->pdevice = pdevice;
1667 &pdevice->dev_info,
1822 * device->pdevice->memory.memoryTypes[pAllocateInfo->memoryTypeIndex].propertyFlags.
1882 (1 << device->pdevice->memory.memoryTypeCount) - 1;
2320 rogue_get_slc_cache_line_size(&device->pdevice->dev_info);
2408 PVR_RENDER_TARGETS_PER_FRAMEBUFFER(&device->pdevice->dev_info);
2585 if (PVR_HAS_QUIRK(&device->pdevice->dev_info, 51025)) {
2620 const struct pvr_device_info *dev_info = &device->pdevice->dev_info;
2664 if (PVR_HAS_QUIRK(&device->pdevice->dev_info, 51025) &&
2728 (1ul << device->pdevice->memory.memoryTypeCount) - 1;
2752 (1ul << device->pdevice->memory.memoryTypeCount) - 1;