<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re:Intel GPU - Passing Image Samplers to Functions in Graphics</title>
    <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384955#M107889</link>
    <description>&lt;P&gt;Hello Scenomics&lt;/P&gt;&lt;P&gt;Thank you for your response and for all the details you sent via private message.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We understand that you work for a company developing software for Intel hardware where you need to run compute shaders on Intel GPUs making software for GPU compute, including video processing and other domains.&lt;/P&gt;&lt;P&gt;We understand that you would like to know about future support for&amp;nbsp;&lt;B&gt;GL_EXT_shader_image_load_formatted&lt;/B&gt; since right now you're manually inlining code for deployment on Intel GPUs because you cannot pass image samplers to functions.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please allow us to review this and we will be posting back in the thread as soon as possible.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Andrew G.&lt;/P&gt;&lt;P&gt;Intel Customer Support Technician&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 17 May 2022 16:59:42 GMT</pubDate>
    <dc:creator>AndrewG_Intel</dc:creator>
    <dc:date>2022-05-17T16:59:42Z</dc:date>
    <item>
      <title>Intel GPU - Passing Image Samplers to Functions</title>
      <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1382978#M107732</link>
      <description>&lt;P&gt;Consider the following example:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; #version 430 core&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; uvec4 ProcessImage( uimage2D image, ivec2 coords )&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; uvec4 val = imageLoad( image, coords );&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; // Do some processing...&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; return val;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; layout( r8ui ) uniform uimage2D src_image;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; layout( r8ui ) uniform uimage2D dst_image;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; void main()&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ivec2 coords = ivec2( gl_GlobalInvocationID );&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; uvec4 val = ProcessImage( src_image, coords );&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; imageStore( dst_image, coords, val );&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The problem is with the function declaration:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;FONT face="courier new,courier"&gt;uvec4 ProcessImage( uimage2D image, ivec2 coords )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;I apparently need to use the &lt;FONT face="courier new,courier"&gt;writeonly&lt;/FONT&gt; qualifier or I can't pass an image sampler to a function. That wouldn't even work anyway, because I want to be able to call &lt;FONT face="courier new,courier"&gt;imageLoad( ... )&lt;/FONT&gt; in my function.&lt;/P&gt;
&lt;P&gt;After some investigation, it looks like &lt;STRONG&gt;GL_EXT_shader_image_load_formatted&lt;/STRONG&gt; would make it possible to pass image samplers to functions. For now we have special versions of our shaders for Intel GPUs. Is there any plan for Intel to support this extension?&lt;/P&gt;
&lt;P&gt;Here's a GitHub discussion of the issue as it affects other vendors:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/KhronosGroup/GLSL/issues/57" target="_blank"&gt;https://github.com/KhronosGroup/GLSL/issues/57&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for any information you can provide &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 09 May 2022 21:47:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1382978#M107732</guid>
      <dc:creator>Scenomics</dc:creator>
      <dc:date>2022-05-09T21:47:53Z</dc:date>
    </item>
    <item>
      <title>Re:Intel GPU - Passing Image Samplers to Functions</title>
      <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1383282#M107762</link>
      <description>&lt;P&gt;Hello &lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/151438"&gt;@Scenomics&lt;/a&gt;&lt;/P&gt;&lt;P&gt;Thank you for posting on the Intel® communities.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;In order to provide you with the correct information or route this request to the proper channel of support, could you please confirm/provide the following information?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;1-&lt;/B&gt;&amp;nbsp;The exact model (SKU) of the Intel® Graphics Controllers (GPU) you are using:&lt;/P&gt;&lt;P&gt;&lt;B&gt;2-&lt;/B&gt; Do you work for a software company?&lt;/P&gt;&lt;P&gt;&lt;B&gt;3-&lt;/B&gt;&amp;nbsp;Are you developing software or hardware using Intel® components and/or Intel® tools? If yes, please provide more details and elaborate more on the type of project you are developing.&lt;/P&gt;&lt;P&gt;&lt;B&gt;4-&lt;/B&gt; Why are you looking for/do you need this information?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Andrew G.&lt;/P&gt;&lt;P&gt;Intel Customer Support Technician&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 10 May 2022 21:05:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1383282#M107762</guid>
      <dc:creator>AndrewG_Intel</dc:creator>
      <dc:date>2022-05-10T21:05:09Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Intel GPU - Passing Image Samplers to Functions</title>
      <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1383385#M107773</link>
      <description>&lt;P&gt;Thank you very much for the reply. I'll answer your questions below.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG&gt;1-&lt;/STRONG&gt;&amp;nbsp;The exact model (SKU) of the Intel® Graphics Controllers (GPU) you are using:&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; There are several. For example Intel® UHD 630. Here's the information OpenGL returned about this device.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; GL Vendor: Intel&lt;BR /&gt;&amp;nbsp;&amp;nbsp; GL Renderer: Intel(R) UHD Graphics 630&lt;BR /&gt;&amp;nbsp;&amp;nbsp; GL Version: 4.6.0 - Build 30.0.101.1191&lt;BR /&gt;&amp;nbsp;&amp;nbsp; GL Shading Language Version: 4.60 - Build 30.0.101.1191&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG&gt;2-&lt;/STRONG&gt; Do you work for a software company?&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; Yes, this is for a work project.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG&gt;3-&lt;/STRONG&gt;&amp;nbsp;Are you developing software or hardware using Intel® components and/or Intel® tools? If yes, please provide more details and elaborate more on the type of project you are developing.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; I would be happy to discuss this via PM or email. As an aside to this, I'm interested in trying Intel compilers.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG&gt;4-&lt;/STRONG&gt; Why are you looking for/do you need this information?&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; Intel has a very large installed base of GPUs. It's important that our products work on Intel GPUs, and it would be great if we could use the full range of OpenGL features. Image samplers, such as image2D, are a critical part of modern OpenGL, especially for compute shaders. When you are using compute shaders, the only way to get data out is to write data to shader buffers or image samplers. Being unable to pass image samplers to functions makes it difficult to use functions in GLSL, and it's tedious/error prone to have to inline everything.&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2022 05:51:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1383385#M107773</guid>
      <dc:creator>Scenomics</dc:creator>
      <dc:date>2022-05-11T05:51:44Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Intel GPU - Passing Image Samplers to Functions</title>
      <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384001#M107825</link>
      <description>&lt;P&gt;I just wanted to let you know that I replied to this promptly, but it didn't save my reply. I sincerely apologize for the delayed response!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG&gt;1-&lt;/STRONG&gt;&amp;nbsp;The exact model (SKU) of the Intel® Graphics Controllers (GPU) you are using:&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; Intel UHD Graphics 630. Here's the information the driver reported about the device.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; GL renderer using pixel format 5&lt;BR /&gt;&amp;nbsp;&amp;nbsp; GL Vendor: Intel&lt;BR /&gt;&amp;nbsp;&amp;nbsp; GL Renderer: Intel(R) UHD Graphics 630&lt;BR /&gt;&amp;nbsp;&amp;nbsp; GL Version: 4.6.0 - Build 30.0.101.1191&lt;BR /&gt;&amp;nbsp;&amp;nbsp; GL Shading Language Version: 4.60 - Build 30.0.101.1191&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG&gt;2-&lt;/STRONG&gt; Do you work for a software company?&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; Yes, this is for work.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG&gt;3-&lt;/STRONG&gt;&amp;nbsp;Are you developing software or hardware using Intel® components and/or Intel® tools? If yes, please provide more details and elaborate more on the type of project you are developing.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; I can't discuss the details in public, but I can via PM or email. As an aside, I am interested in Intel compilers.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG&gt;4-&lt;/STRONG&gt; Why are you looking for/do you need this information?&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&amp;nbsp; Compute shaders are the most important GPU compute tech. When you are using compute shaders, the only way to get information out is by writing to a shader buffer or writing to an image sampler such as image2D or uimage2D and so forth. Intel has a very large installed base of GPUs and we would like to be use compute shaders on Intel GPUs without having to manually inline all our function calls. For reference, this isn't just a problem on Intel GPUs either (as noted in the GitHub discussion linked in my original post). That's why I inquired about any plans to support &lt;STRONG class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;GL_EXT_shader_image_load_formatted&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN class="sub_section_element_selectors"&gt; on Intel GPUs.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 13 May 2022 02:35:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384001#M107825</guid>
      <dc:creator>Scenomics</dc:creator>
      <dc:date>2022-05-13T02:35:53Z</dc:date>
    </item>
    <item>
      <title>Re:Intel GPU - Passing Image Samplers to Functions</title>
      <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384245#M107840</link>
      <description>&lt;P&gt;Hello Scenomics&lt;/P&gt;&lt;P&gt;We are checking this thread and we would like to know if you need further assistance. Please do not hesitate to contact us back if you have additional inquiries.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Andrew G.&lt;/P&gt;&lt;P&gt;Intel Customer Support Technician&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 13 May 2022 20:19:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384245#M107840</guid>
      <dc:creator>AndrewG_Intel</dc:creator>
      <dc:date>2022-05-13T20:19:50Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Intel GPU - Passing Image Samplers to Functions</title>
      <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384252#M107841</link>
      <description>&lt;P&gt;I've replied twice, but my replies keep getting deleted for some reason. Not sure what to do.&lt;/P&gt;</description>
      <pubDate>Fri, 13 May 2022 21:01:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384252#M107841</guid>
      <dc:creator>Scenomics</dc:creator>
      <dc:date>2022-05-13T21:01:05Z</dc:date>
    </item>
    <item>
      <title>Re:Intel GPU - Passing Image Samplers to Functions</title>
      <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384955#M107889</link>
      <description>&lt;P&gt;Hello Scenomics&lt;/P&gt;&lt;P&gt;Thank you for your response and for all the details you sent via private message.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We understand that you work for a company developing software for Intel hardware where you need to run compute shaders on Intel GPUs making software for GPU compute, including video processing and other domains.&lt;/P&gt;&lt;P&gt;We understand that you would like to know about future support for&amp;nbsp;&lt;B&gt;GL_EXT_shader_image_load_formatted&lt;/B&gt; since right now you're manually inlining code for deployment on Intel GPUs because you cannot pass image samplers to functions.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please allow us to review this and we will be posting back in the thread as soon as possible.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Andrew G.&lt;/P&gt;&lt;P&gt;Intel Customer Support Technician&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 17 May 2022 16:59:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1384955#M107889</guid>
      <dc:creator>AndrewG_Intel</dc:creator>
      <dc:date>2022-05-17T16:59:42Z</dc:date>
    </item>
    <item>
      <title>Re:Intel GPU - Passing Image Samplers to Functions</title>
      <link>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1385996#M107949</link>
      <description>&lt;P&gt;Hello Scenomics&lt;/P&gt;&lt;P&gt;Thank you for your patience in this matter.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;After reviewing this further, we would like to inform you that we cannot provide information or comments about unannounced features or products. However, we would like to refer you to the &lt;A href="https://community.intel.com/t5/Developer-Software-Forums/ct-p/developer-software-forums" rel="noopener noreferrer" target="_blank"&gt;Developer Software Forums&lt;/A&gt;, there are different subforums there that might be useful and you could receive some assistance there.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Having said that, we will proceed to close this thread now.&lt;/P&gt;&lt;P&gt;Thank you for your understanding.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Andrew G.&lt;/P&gt;&lt;P&gt;Intel Customer Support Technician&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 20 May 2022 16:12:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Graphics/Intel-GPU-Passing-Image-Samplers-to-Functions/m-p/1385996#M107949</guid>
      <dc:creator>AndrewG_Intel</dc:creator>
      <dc:date>2022-05-20T16:12:14Z</dc:date>
    </item>
  </channel>
</rss>

