struct radv_image_view;
struct radv_instance;
-VkResult __vk_errorv(struct radv_instance *instance, VkResult error,
+VkResult __vk_errorv(struct radv_instance *instance, const void *object,
+ VkDebugReportObjectTypeEXT type, VkResult error,
const char *file, int line, const char *format,
va_list args);
-VkResult __vk_errorf(struct radv_instance *instance, VkResult error,
+VkResult __vk_errorf(struct radv_instance *instance, const void *object,
+ VkDebugReportObjectTypeEXT type, VkResult error,
const char *file, int line, const char *format, ...)
- radv_printflike(5, 6);
+ radv_printflike(7, 8);
-#define vk_error(instance, error) __vk_errorf(instance, error, __FILE__, __LINE__, NULL);
-#define vk_errorf(instance, error, format, ...) __vk_errorf(instance, error, __FILE__, __LINE__, format, ## __VA_ARGS__);
+#define vk_error(instance, error) \
+ __vk_errorf(instance, NULL, \
+ VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, \
+ error, __FILE__, __LINE__, NULL);
+#define vk_errorf(instance, error, format, ...) \
+ __vk_errorf(instance, NULL, \
+ VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, \
+ error, __FILE__, __LINE__, format, ## __VA_ARGS__);
void __radv_finishme(const char *file, int line, const char *format, ...)
radv_printflike(3, 4);
uint32_t apiVersion;
+ char * applicationName;
+ uint32_t applicationVersion;
char * engineName;
uint32_t engineVersion;
bool overallocation_disallowed;
uint64_t allocated_memory_size[VK_MAX_MEMORY_HEAPS];
mtx_t overallocation_mutex;
+
+ /* Track the number of device loss occurs. */
+ int lost;
};
+VkResult _radv_device_set_lost(struct radv_device *device,
+ const char *file, int line,
+ const char *msg, ...)
+ radv_printflike(4, 5);
+
+#define radv_device_set_lost(dev, ...) \
+ _radv_device_set_lost(dev, __FILE__, __LINE__, __VA_ARGS__)
+
+static inline bool
+radv_device_is_lost(const struct radv_device *device)
+{
+ return unlikely(p_atomic_read(&device->lost));
+}
+
struct radv_device_memory {
struct vk_object_base base;
struct radeon_winsys_bo *bo;
void si_emit_graphics(struct radv_device *device,
struct radeon_cmdbuf *cs);
-void si_emit_compute(struct radv_physical_device *physical_device,
+void si_emit_compute(struct radv_device *device,
struct radeon_cmdbuf *cs);
void cik_create_gfx_config(struct radv_device *device);