Lines Matching defs:device

70    RADV_FROM_HANDLE(radv_device, device, _device);
117 * LBVH is only supported for device builds and hardware that supports global atomics.
119 enum accel_struct_build build_mode = get_accel_struct_build(device->physical_device, buildType);
127 radix_sort_vk_get_memory_requirements(device->meta_state.accel_struct_build.radix_sort,
147 RADV_FROM_HANDLE(radv_device, device, _device);
151 accel = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*accel), 8,
154 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
156 vk_object_base_init(&device->vk, &accel->base, VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR);
171 RADV_FROM_HANDLE(radv_device, device, _device);
178 vk_free2(&device->vk.alloc, pAllocator, accel);
195 RADV_FROM_HANDLE(radv_device, device, _device);
200 const char *base_ptr = (const char *)device->ws->buffer_map(accel->bo);
202 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
225 device->ws->buffer_unmap(accel->bo);
402 build_instances(struct radv_device *device, struct radv_bvh_build_ctx *ctx,
445 const void *src_base = device->ws->buffer_map(src_accel_struct->bo);
447 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
463 device->ws->buffer_unmap(src_accel_struct->bo);
649 build_bvh(struct radv_device *device, const VkAccelerationStructureBuildGeometryInfoKHR *info,
659 char *base_ptr = (char *)device->ws->buffer_map(accel->bo);
661 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
692 result = build_instances(device, &ctx, geom, ranges + i);
775 device->ws->buffer_unmap(accel->bo);
785 RADV_FROM_HANDLE(radv_device, device, _device);
789 result = build_bvh(device, pInfos + i, ppBuildRangeInfos[i]);
800 RADV_FROM_HANDLE(radv_device, device, _device);
804 char *src_ptr = (char *)device->ws->buffer_map(src_struct->bo);
808 char *dst_ptr = (char *)device->ws->buffer_map(dst_struct->bo);
810 device->ws->buffer_unmap(src_struct->bo);
820 device->ws->buffer_unmap(src_struct->bo);
821 device->ws->buffer_unmap(dst_struct->bo);
826 create_accel_build_shader(struct radv_device *device, const char *name)
828 nir_builder b = radv_meta_init_shader(device, MESA_SHADER_COMPUTE, "%s", name);
1887 radv_device_finish_accel_struct_build_state(struct radv_device *device)
1889 struct radv_meta_state *state = &device->meta_state;
1890 radv_DestroyPipeline(radv_device_to_handle(device), state->accel_struct_build.copy_pipeline,
1892 radv_DestroyPipeline(radv_device_to_handle(device), state->accel_struct_build.internal_pipeline,
1894 radv_DestroyPipeline(radv_device_to_handle(device), state->accel_struct_build.leaf_pipeline,
1896 radv_DestroyPipeline(radv_device_to_handle(device), state->accel_struct_build.morton_pipeline,
1898 radv_DestroyPipelineLayout(radv_device_to_handle(device),
1900 radv_DestroyPipelineLayout(radv_device_to_handle(device),
1902 radv_DestroyPipelineLayout(radv_device_to_handle(device),
1904 radv_DestroyPipelineLayout(radv_device_to_handle(device),
1908 radix_sort_vk_destroy(state->accel_struct_build.radix_sort, radv_device_to_handle(device),
1913 create_build_pipeline(struct radv_device *device, nir_shader *shader, unsigned push_constant_size,
1924 VkResult result = radv_CreatePipelineLayout(radv_device_to_handle(device), &pl_create_info,
1925 &device->meta_state.alloc, layout);
1946 result = radv_CreateComputePipelines(radv_device_to_handle(device),
1947 radv_pipeline_cache_to_handle(&device->meta_state.cache), 1,
1948 &pipeline_info, &device->meta_state.alloc, pipeline);
1972 radv_device_init_accel_struct_build_state(struct radv_device *device)
1975 nir_shader *leaf_cs = build_leaf_shader(device);
1976 nir_shader *internal_cs = build_internal_shader(device);
1977 nir_shader *copy_cs = build_copy_shader(device);
1979 result = create_build_pipeline(device, leaf_cs, sizeof(struct build_primitive_constants),
1980 &device->meta_state.accel_struct_build.leaf_pipeline,
1981 &device->meta_state.accel_struct_build.leaf_p_layout);
1985 result = create_build_pipeline(device, internal_cs, sizeof(struct build_internal_constants),
1986 &device->meta_state.accel_struct_build.internal_pipeline,
1987 &device->meta_state.accel_struct_build.internal_p_layout);
1991 result = create_build_pipeline(device, copy_cs, sizeof(struct copy_constants),
1992 &device->meta_state.accel_struct_build.copy_pipeline,
1993 &device->meta_state.accel_struct_build.copy_p_layout);
1998 if (get_accel_struct_build(device->physical_device,
2001 nir_shader *morton_cs = build_morton_shader(device);
2003 result = create_build_pipeline(device, morton_cs, sizeof(struct morton_constants),
2004 &device->meta_state.accel_struct_build.morton_pipeline,
2005 &device->meta_state.accel_struct_build.morton_p_layout);
2009 device->meta_state.accel_struct_build.radix_sort =
2010 radv_create_radix_sort_u64(radv_device_to_handle(device), &device->meta_state.alloc,
2011 radv_pipeline_cache_to_handle(&device->meta_state.cache));
2014 &device->meta_state.accel_struct_build.radix_sort_info;
2051 cmd_buffer->device->physical_device, VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR);
2061 if (radv_has_shader_buffer_float_minmax(cmd_buffer->device->physical_device)) {
2079 cmd_buffer->device->meta_state.accel_struct_build.leaf_pipeline);
2147 commandBuffer, cmd_buffer->device->meta_state.accel_struct_build.leaf_p_layout,
2162 cmd_buffer->device->meta_state.accel_struct_build.morton_pipeline);
2174 cmd_buffer->device->meta_state.accel_struct_build.morton_p_layout,
2184 cmd_buffer->device->meta_state.accel_struct_build.radix_sort, bvh_states[i].node_count,
2188 cmd_buffer->device->meta_state.accel_struct_build.radix_sort_info;
2205 radix_sort_vk_sort_devaddr(cmd_buffer->device->meta_state.accel_struct_build.radix_sort,
2206 &info, radv_device_to_handle(cmd_buffer->device), commandBuffer,
2230 cmd_buffer->device->meta_state.accel_struct_build.internal_pipeline);
2269 cmd_buffer->device->meta_state.accel_struct_build.internal_p_layout,
2315 cmd_buffer->device->meta_state.accel_struct_build.copy_pipeline);
2324 cmd_buffer->device->meta_state.accel_struct_build.copy_p_layout,
2340 RADV_FROM_HANDLE(radv_device, device, _device);
2345 memcmp(pVersionInfo->pVersionData, device->physical_device->driver_uuid, VK_UUID_SIZE) == 0 &&
2356 RADV_FROM_HANDLE(radv_device, device, _device);
2359 char *base = device->ws->buffer_map(accel_struct->bo);
2377 device->ws->buffer_unmap(accel_struct->bo);
2386 RADV_FROM_HANDLE(radv_device, device, _device);
2389 const char *base = device->ws->buffer_map(accel_struct->bo);
2400 memcpy(dst_header->driver_uuid, device->physical_device->driver_uuid, VK_UUID_SIZE);
2414 device->ws->buffer_unmap(accel_struct->bo);
2433 cmd_buffer->device->meta_state.accel_struct_build.copy_pipeline);
2442 cmd_buffer->device->meta_state.accel_struct_build.copy_p_layout,
2464 cmd_buffer->device->meta_state.accel_struct_build.copy_pipeline);
2473 cmd_buffer->device->meta_state.accel_struct_build.copy_p_layout,
2485 memcpy(header_data, cmd_buffer->device->physical_device->driver_uuid, VK_UUID_SIZE);