ubc-aamodt-group / vulkan-sim

Vulkan-Sim is a GPU architecture simulator for Vulkan ray tracing based on GPGPU-Sim and Mesa.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error while running ./RayTracer --scene 6 --height 320 --width 448

pratyush48 opened this issue · comments

The build of mesa and vulkan-sim is successful. While running the Raytracer. I am getting AttributeError: 'NoneType' object has no attribute 'isLoadConst'. I have attached the error screenshot after printing output of line.fullLine. Kindly have a look at it.

Github_issue

If you are using the original version of RayTracingInVulkan please try this one.

Can you send us the contents of the "mesagpgpusimShaders" folder? It holds all the shader codes.
Do you know which shader is causing the error?

I can't see the images you've attached.
Can you attach the RAYGEN shader file from the "mesagpgpusimShaders" folder?

It's probably because I sent it via mail. I will attach the images here again. The RAYGEN shader had a ptx format which is not supported by github so I have changed it to .txt to attach it. Kindly have a look at it.

MESA_SHADER_RAYGEN_0.txt
image_2_githubissues
Image_1_githubissues

There seem to be some NIR instructions generated by Mesa that we don't currently support in Vulkan-Sim. I'm not sure why the generated NIR in your system is different from ours. Might be because you have a different intel GPU.

These instructions are refered to as "Untranslated NIR instruction" in the shader file. All the untranslated ones seem to be ALU instructions. You can use the NIR ALU documentation and add NIR to PTX translation for these instructions here.

I have an intel integrated graphics card [Mesa Intel® UHD Graphics (ICL GT1)]. Can the reason be due to the old intel mesa drivers? I can try to download the latest open-source mesa drivers.

I'm not sure if upgrading mesa would help. You also have to integrate the changes we made to mesa.
We generated the NIR with "Intel(R) HD Graphics 630 (KBL GT2)". You can find how mesa is differentiating between the two GPUs and force it to use the same compilation path as the 630 GPU or implement the new instructions.