Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance and optimization
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646
17056 Discussions

Vulkan incorrect sparse image granularity or page size

TomSK
Beginner
321 Views

Greetings,

VkSparseImageMemoryRequirements reported by vkGetImageSparseMemoryRequirements for 2048x2048 BC2 image contains imageGranularity of 64x64.  Page size for this image is reported to be 64KB. Because of this, amount of memory needed by this image is way to high.     

Shouldn't be imageGranularity for this image reported as 256x256 for 64K page size?

Windows 10 20H2, HD Graphics 630, 27.20.100.9126

0 Kudos
1 Solution
Alberto_Sykes
Employee
222 Views

Hello TomSK, I just received an update on this matter.

 

I just wanted to let you know that our development team investigated the report and sample you sent us and determined this is an application issue.

Please verify the document attached to this post which shows the details of our conclusion.

 

Regards,

Albert R.

 

Intel Customer Support Technician

 

View solution in original post

10 Replies
Alberto_Sykes
Employee
313 Views

TomSK, Thank you for posting in the Intel® Communities Support.


In reference to this scenario, we will do further research on this matter to try to provide the information you are requesting, for us to be able to do that please provide the SSU report so we can verify further details about the components in your platform, please check all the options in the report including the one that says "3rd party software logs":

https://downloadcenter.intel.com/download/25293/Intel-System-Support-Utility-for-Windows-?product=91...


Any questions, please let me know.


Regards,

Albert R.


Intel Customer Support Technician


TomSK
Beginner
292 Views

Albert, Thank you. I will be happy to provide any additional information.

Alberto_Sykes
Employee
277 Views

TomSK, You are very welcome, thank you very much for providing that information.


In order for us to provide the most accurate technical assistance on this topic, we just wanted to confirm a few details:

Are you a developer?

Are you working on a project?

What is the project about hardware or software?

Are you developing an application?

Could you please provide a detailed description, if it is possible, about your project?


Regards,

Albert R.


Intel Customer Support Technician


TomSK
Beginner
270 Views

Albert,

I work for VR Group company which provides training solutions. Big part of our portfolio are flight simulators for armed forces. We use our in-house developed Image Generator (3D engine) to render actual mission situation and pilot surroundings. We focus on scalability (multi-gpu, cluster) and performance. We support various output devices - from single screen to projection domes and VR. I’m head of this project and also a main developer.

We used OpenGL for many years but lately we’ve shifted to Vulkan API. Explicit multi-gpu was a big selling point for us. 

We would like to be able to run our product on integrated graphic for mission replays where rendering speed is not critical. I’m very happy to see that your vulkan graphic driver is very mature and that we are facing only two problems. One with allocation of sparse textures mentioned above. Second one is related to multiview and geometry shaders described in other thread (Vulkan multiview and geometry shaders).

Best,

Tom Sk

Alberto_Sykes
Employee
263 Views

TomSK, Thank you very much for sharing those details.


We will continue with our research on this matter, as soon as I get any updates I will post all the information on this thread.


Regards,

Albert R.


Intel Customer Support Technician


Alberto_Sykes
Employee
253 Views

Hello TomSK, I just received an update on this matter.


For this case, we will try to reproduce this scenario in our Intel® Lab to be able to address the issue, in order for us to be able to do that, by any chance, could you please provide us with the app that shows the issue or a way for us to see it?

Have you tested it with older drivers, which versions?


Regards,

Albert R.


Intel Customer Support Technician


TomSK
Beginner
247 Views

Hello Albert,

I've created minimalistic app to test the feature. Source and binnary is included also with logs.

App simply creates vulkan instance and device and creates sparse texture (2048x2048 BC2 format). After that it prints memory requirements for image and counts pages needed for non-opaque sparse binds. You can select gpu from cmd line via --gpu parameter followed by gpu index number.

Running this app on Nvidia GTX 1050 yelds 4.5MB of memory needed. On HD 630 it reports 72MB.

I hope the source code is sound. Please, let me know if this helps.

Best,

TomSk

 

Alberto_Sykes
Employee
237 Views

Hi TomSK, Thank you very much for letting us know that information and for the files.


We will try now to reproduce this scenario in our Intel® lab, as soon as I get any updates I will post all the details on this thread.


Regards,

Albert R.


Intel Customer Support Technician


Alberto_Sykes
Employee
223 Views

Hello TomSK, I just received an update on this matter.

 

I just wanted to let you know that our development team investigated the report and sample you sent us and determined this is an application issue.

Please verify the document attached to this post which shows the details of our conclusion.

 

Regards,

Albert R.

 

Intel Customer Support Technician

 

View solution in original post

TomSK
Beginner
214 Views

Hello Alberto,

Thank you for detail analysis and clarification. 

Wording in vulkan standard describing sparse image granularity is not consistent. Description of imageGranularity inside VkSparseImageMemoryRequirements (section 32.7.5.) does not suggest that granularity might be expressed in compressed texel blocks. Only texel units are mentioned. Compressed texel blocks are correctly mentioned for imageGranularity inside VkSparseImageFormatProperties (section 32.7.3.). I believe that specification needs a better working here. This is unfortunate and it is indeed a source of our application issue.

This further complicates the situation, because both nVidia driver and AMD driver are (most probably incorrectly) returning dimensions in texels for BC2 format and not in compressed texel blocks. 

Thank you again for all your time.

Best,

Tom Sk

Reply