radv: print a warning when RADV_TRAP_HANDLER is used
[mesa.git] / src / amd / vulkan / radv_device.c
index 68c0ccc2b37ee77389fa178c0d12583bf5caf3ff..31f486d3d75615531c9fc29a595f14ad2c757561 100644 (file)
@@ -380,7 +380,7 @@ radv_physical_device_try_create(struct radv_instance *instance,
        disk_cache_format_hex_id(buf, device->cache_uuid, VK_UUID_SIZE * 2);
        device->disk_cache = disk_cache_create(device->name, buf, shader_env_flags);
 
-       if (device->rad_info.chip_class < GFX8 || !device->use_llvm)
+       if (device->rad_info.chip_class < GFX8)
                fprintf(stderr, "WARNING: radv is not a conformant vulkan implementation, testing use only.\n");
 
        radv_get_driver_uuid(&device->driver_uuid);
@@ -1645,7 +1645,7 @@ radv_get_physical_device_properties_1_2(struct radv_physical_device *pdevice,
        p->conformanceVersion = (VkConformanceVersion) {
                .major = 1,
                .minor = 2,
-               .subminor = 0,
+               .subminor = 3,
                .patch = 0,
        };
 
@@ -2821,6 +2821,10 @@ VkResult radv_CreateDevice(
                /* TODO: Add support for more hardware. */
                assert(device->physical_device->rad_info.chip_class == GFX8);
 
+               fprintf(stderr, "**********************************************************************\n");
+               fprintf(stderr, "* WARNING: RADV_TRAP_HANDLER is experimental and only for debugging! *\n");
+               fprintf(stderr, "**********************************************************************\n");
+
                /* To get the disassembly of the faulty shaders, we have to
                 * keep some shader info around.
                 */
@@ -4551,6 +4555,10 @@ radv_queue_submit_deferred(struct radv_deferred_queue_submission *submission,
                        if (queue->device->trace_bo) {
                                radv_check_gpu_hangs(queue, cs_array[j]);
                        }
+
+                       if (queue->device->tma_bo) {
+                               radv_check_trap_handler(queue);
+                       }
                }
 
                free(cs_array);