Developing Games on Intel Graphics
If you are gaming on graphics integrated in your Intel Processor, this is the place for you! Find answers to your questions or post your issues with PC games
509 Discussions

Incorrect loop iteration behavior

BastianBlokland
Beginner
5,066 Views

Using a not-equal (!=) termination condition in a loop behaves differently then using a less (<) termination behavior. This is not the case on other gpus.

Attached is a screenshot from the Sascha Williams Triangle (https://github.com/SaschaWillems/Vulkan) example with a modified `triangle.frag` shader.

CPU: i7-11370H

 

Modified triangle.frag shader:

 

```

#version 450

layout (location = 0) in vec3 inColor;

layout (location = 0) out vec4 outFragColor;

 

float computeValueA()
{
  float value = 0;
  for(int i = 0; i != 10; ++i) {
    value += 0.1;
  }
  return value;
}

float computeValueB()
{
  float value = 0;
  for(int i = 0; i < 10; ++i) {
    value += 0.1;
  }
  return value;
}

void main()
{
  float value = gl_FragCoord.x < 640 ? computeValueA() : computeValueB();
  outFragColor = vec4(value, value, value, 1.0);
}
```

Note that computeValueA and computeValueB are expected to return the same value, however as you can see in the attached screenshot they do not.intel_driver_loop_bug_result.png

CPU Info:

```
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Vendor ID: GenuineIntel
Model name: 11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz
CPU family: 6
Model: 140
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
Stepping: 1
CPU max MHz: 4800.0000
CPU min MHz: 400.0000
BogoMIPS: 6604.80
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 invpcid_single cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid movdiri movdir64b fsrm avx512_vp2intersect md_clear ibt flush_l1d arch_capabilities
Virtualization: VT-x
L1d cache: 192 KiB (4 instances)
L1i cache: 128 KiB (4 instances)
L2 cache: 5 MiB (4 instances)
L3 cache: 12 MiB (1 instance)
NUMA node(s): 1
NUMA node0 CPU(s): 0-7
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
```

0 Kudos
16 Replies
BastianBlokland
Beginner
5,034 Views

For completeness sake, here's a screenshot of the same shader on the Nvidia gpu on the same laptop:intel_driver_loop_bug_expected.png

0 Kudos
IsaacQ_Intel
Employee
4,968 Views

Hello @BastianBlokland

 

Thank you for posting on the Intel️® communities. We would be more than glad to help you with your issue.

 

In order to have a better understanding of your issue, please provide me with the following:

 

·      Are you representing a company or are you a self-developer?

 

 

Best regards,

Isaac Q. 

Intel Customer Support Technician



0 Kudos
BastianBlokland
Beginner
4,964 Views

Thanks for your reply @IsaacQ_Intel, in this issue I'm representing myself.

0 Kudos
BastianBlokland
Beginner
4,959 Views

I've attached a RenderDoc capture and the compiled SpirV code in case its helpful.

```

; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 11
; Bound: 81
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %gl_FragCoord %outFragColor %inColor
OpExecutionMode %main OriginUpperLeft
OpSource GLSL 450
OpName %main "main"
OpName %computeValueA_ "computeValueA("
OpName %computeValueB_ "computeValueB("
OpName %value "value"
OpName %i "i"
OpName %value_0 "value"
OpName %i_0 "i"
OpName %value_1 "value"
OpName %gl_FragCoord "gl_FragCoord"
OpName %outFragColor "outFragColor"
OpName %inColor "inColor"
OpDecorate %gl_FragCoord BuiltIn FragCoord
OpDecorate %outFragColor Location 0
OpDecorate %inColor Location 0
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%7 = OpTypeFunction %float
%_ptr_Function_float = OpTypePointer Function %float
%float_0 = OpConstant %float 0
%int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%int_10 = OpConstant %int 10
%bool = OpTypeBool
%float_0_100000001 = OpConstant %float 0.100000001
%int_1 = OpConstant %int 1
%v4float = OpTypeVector %float 4
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%_ptr_Input_float = OpTypePointer Input %float
%float_640 = OpConstant %float 640
%_ptr_Output_v4float = OpTypePointer Output %v4float
%outFragColor = OpVariable %_ptr_Output_v4float Output
%float_1 = OpConstant %float 1
%v3float = OpTypeVector %float 3
%_ptr_Input_v3float = OpTypePointer Input %v3float
%inColor = OpVariable %_ptr_Input_v3float Input
%main = OpFunction %void None %3
%5 = OpLabel
%value_1 = OpVariable %_ptr_Function_float Function
%64 = OpVariable %_ptr_Function_float Function
%60 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
%61 = OpLoad %float %60
%63 = OpFOrdLessThan %bool %61 %float_640
OpSelectionMerge %66 None
OpBranchConditional %63 %65 %68
%65 = OpLabel
%67 = OpFunctionCall %float %computeValueA_
OpStore %64 %67
OpBranch %66
%68 = OpLabel
%69 = OpFunctionCall %float %computeValueB_
OpStore %64 %69
OpBranch %66
%66 = OpLabel
%70 = OpLoad %float %64
OpStore %value_1 %70
%73 = OpLoad %float %value_1
%74 = OpLoad %float %value_1
%75 = OpLoad %float %value_1
%77 = OpCompositeConstruct %v4float %73 %74 %75 %float_1
OpStore %outFragColor %77
OpReturn
OpFunctionEnd
%computeValueA_ = OpFunction %float None %7
%9 = OpLabel
%value = OpVariable %_ptr_Function_float Function
%i = OpVariable %_ptr_Function_int Function
OpStore %value %float_0
OpStore %i %int_0
OpBranch %19
%19 = OpLabel
OpLoopMerge %21 %22 None
OpBranch %23
%23 = OpLabel
%24 = OpLoad %int %i
%27 = OpINotEqual %bool %24 %int_10
OpBranchConditional %27 %20 %21
%20 = OpLabel
%29 = OpLoad %float %value
%30 = OpFAdd %float %29 %float_0_100000001
OpStore %value %30
OpBranch %22
%22 = OpLabel
%31 = OpLoad %int %i
%33 = OpIAdd %int %31 %int_1
OpStore %i %33
OpBranch %19
%21 = OpLabel
%34 = OpLoad %float %value
OpReturnValue %34
OpFunctionEnd
%computeValueB_ = OpFunction %float None %7
%11 = OpLabel
%value_0 = OpVariable %_ptr_Function_float Function
%i_0 = OpVariable %_ptr_Function_int Function
OpStore %value_0 %float_0
OpStore %i_0 %int_0
OpBranch %39
%39 = OpLabel
OpLoopMerge %41 %42 None
OpBranch %43
%43 = OpLabel
%44 = OpLoad %int %i_0
%45 = OpSLessThan %bool %44 %int_10
OpBranchConditional %45 %40 %41
%40 = OpLabel
%46 = OpLoad %float %value_0
%47 = OpFAdd %float %46 %float_0_100000001
OpStore %value_0 %47
OpBranch %42
%42 = OpLabel
%48 = OpLoad %int %i_0
%49 = OpIAdd %int %48 %int_1
OpStore %i_0 %49
OpBranch %39
%41 = OpLabel
%50 = OpLoad %float %value_0
OpReturnValue %50
OpFunctionEnd

```

0 Kudos
IsaacQ_Intel
Employee
4,955 Views

Hello @BastianBlokland

 

Thank you for your response.


One final question: Could you please specify whether you are currently developing a game or an application? Once we have this information, we will be able to direct you to the most suitable forum where you can receive the appropriate support for your project.

 

Best regards,

Isaac Q. 

Intel Customer Support Technician


0 Kudos
BastianBlokland
Beginner
4,951 Views

Thanks again for the swift reply @IsaacQ_Intel.

 

The issue was found while developing a game (https://github.com/bastianblokland/volo), however it can be reproduced using a minimal demo application.

 

Greetings,

Bastian Blokland

0 Kudos
IsaacQ_Intel
Employee
4,947 Views

Hello @BastianBlokland

 

Thank you for getting back to us.


Given that this issue has arisen within the context of game development, we will proceed to transfer your question to the relevant sub-forum. Our dedicated team will review your query and provide assistance in a timely manner. 

 

Best regards,

Isaac Q. 

Intel Customer Support Technician


0 Kudos
BastianBlokland
Beginner
4,874 Views

Thank you for moving the topic @IsaacQ_Intel, i"ll be awaiting a reply and if any additional information is required just let me know.

0 Kudos
karen_intel
Moderator
4,831 Views

Hii @BastianBlokland thank you for reaching out Indie Game Developer Support!

I just did some quick experiments on Windows and I'm not able to see the issue (picture for reference) with the latest driver v.4669 on Iris (Xe) in Windows 11

Iris Xe v.4669 Shader Triangle.frag.jpeg

Our next step: Debug it on a similar configuration to yours using a Linux distro and verify the issue on our end

Stay tuned!

Karen

0 Kudos
BastianBlokland
Beginner
4,766 Views

Thank you for the initial test @karen_intel.

In case it helps its running kernel version 6.2.0.

0 Kudos
karen_intel
Moderator
4,700 Views

Hey @BastianBlokland I'm having some issues to run the whole testing and the info in the Vulkan repo is not that clear

I'm a bit stuck in the examples creation and with the IDE I'm using. I have VS Code but somehow I'm unable to create the examples

Also, could you share your system specifics? Thanks a lot

 

Karen

0 Kudos
BastianBlokland
Beginner
4,671 Views

Hey @karen_intel,

 

To build the example you can use cmake to generate the make-files and then build using make:
```

cmake -B build && make -C build

```

Then to run the triangle executable:

```

./build/bin/triangle

```

Dependency wise the VulkanSDK and the GCC compiler (or clang) should be enough as far as i remember.

 

And here is some system information of my laptop:

 

Static hostname: tuxbook-bastian
Icon name: computer-laptop
Chassis: laptop
Machine ID: b1436985d15643009d36be5a5d88de88
Boot ID: 9850700c20f24f4b80056819ccd56322
Operating System: Ubuntu 22.04.3 LTS
Kernel: Linux 6.2.0-10018-tuxedo
Architecture: x86-64
Hardware Vendor: TUXEDO
Hardware Model: TUXEDO InfinityBook Pro 14 Gen6

tuxbook-bastian
    description: Notebook
    product: TUXEDO InfinityBook Pro 14 Gen6 (IBP14I06)
    vendor: TUXEDO
    version: Standard
    serial: PH4TQF12213702076
    width: 64 bits
    capabilities: smbios-3.3.0 dmi-3.3.0 smp vsyscall32
    configuration: boot=normal chassis=notebook sku=IBP14I06 uuid=7868d900-1781-11ec-808c-417f7c442000
  *-core
       description: Motherboard
       product: PHxTQx1
       vendor: NB02
       physical id: 0
       version: Standard
       serial: Standard
       slot: Standard
     *-firmware
          description: BIOS
          vendor: American Megatrends International, LLC.
          physical id: 0
          version: N.1.01A03
          date: 10/21/2021
          size: 64KiB
          capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb biosbootspecification uefi
     *-memory
          description: System Memory
          physical id: 3a
          slot: System board or motherboard
          size: 32GiB
        *-bank:0
             description: SODIMM DDR4 Synchronous 3200 MHz (0.3 ns)
             product: M471A2K43EB1-CWE
             vendor: Samsung
             physical id: 0
             serial: 41B3AC30
             slot: Controller0-ChannelA-DIMM0
             size: 16GiB
             width: 64 bits
             clock: 3200MHz (0.3ns)
        *-bank:1
             description: SODIMM DDR4 Synchronous 3200 MHz (0.3 ns)
             product: M471A2K43EB1-CWE
             vendor: Samsung
             physical id: 1
             serial: 41B39CEC
             slot: Controller1-ChannelA-DIMM0
             size: 16GiB
             width: 64 bits
             clock: 3200MHz (0.3ns)
     *-cache:0
          description: L1 cache
          physical id: 47
          slot: L1 Cache
          size: 192KiB
          capacity: 192KiB
          capabilities: synchronous internal write-back data
          configuration: level=1
     *-cache:1
          description: L1 cache
          physical id: 48
          slot: L1 Cache
          size: 128KiB
          capacity: 128KiB
          capabilities: synchronous internal write-back instruction
          configuration: level=1
     *-cache:2
          description: L2 cache
          physical id: 49
          slot: L2 Cache
          size: 5MiB
          capacity: 5MiB
          capabilities: synchronous internal write-back unified
          configuration: level=2
     *-cache:3
          description: L3 cache
          physical id: 4a
          slot: L3 Cache
          size: 12MiB
          capacity: 12MiB
          capabilities: synchronous internal write-back unified
          configuration: level=3
     *-cpu
          description: CPU
          product: 11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz
          vendor: Intel Corp.
          physical id: 4b
          bus info: cpu@0
          version: 6.140.1
          serial: To Be Filled By O.E.M.
          slot: U3E1
          size: 730MHz
          capacity: 4800MHz
          width: 64 bits
          clock: 100MHz
          capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 invpcid_single cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid movdiri movdir64b fsrm avx512_vp2intersect md_clear ibt flush_l1d arch_capabilities cpufreq
          configuration: cores=4 enabledcores=4 microcode=172 threads=8
     *-pci
          description: Host bridge
          product: 11th Gen Core Processor Host Bridge/DRAM Registers
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 01
          width: 32 bits
          clock: 33MHz
        *-display
             description: VGA compatible controller
             product: TigerLake-LP GT2 [Iris Xe Graphics]
             vendor: Intel Corporation
             physical id: 2
             bus info: pci@0000:00:02.0
             logical name: /dev/fb0
             version: 01
             width: 64 bits
             clock: 33MHz
             capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
             configuration: depth=32 driver=i915 latency=0 mode=2880x1800 resolution=2880,1800 visual=truecolor xres=2880 yres=1800
             resources: iomemory:610-60f iomemory:400-3ff irq:154 memory:612c000000-612cffffff memory:4000000000-400fffffff ioport:4000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff
        *-pci:0
             description: PCI bridge
             product: 11th Gen Core Processor PCIe Controller
             vendor: Intel Corporation
             physical id: 6
             bus info: pci@0000:00:06.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:123 memory:60200000-602fffff
           *-nvme
                description: NVMe device
                product: Samsung SSD 980 PRO 1TB
                vendor: Samsung Electronics Co Ltd
                physical id: 0
                bus info: pci@0000:01:00.0
                logical name: /dev/nvme0
                version: 3B2QGXA7
                serial: S5GXNX0RA18257H
                width: 64 bits
                clock: 33MHz
                capabilities: nvme pm msi pciexpress msix nvm_express bus_master cap_list
                configuration: driver=nvme latency=0 nqn=nqn.1994-11.com.samsung:nvme:980PRO:M.2:S5GXNX0RA18257H state=live
                resources: irq:16 memory:60200000-60203fff
              *-namespace:0
                   description: NVMe disk
                   physical id: 0
                   logical name: hwmon3
              *-namespace:1
                   description: NVMe disk
                   physical id: 2
                   logical name: /dev/ng0n1
              *-namespace:2
                   description: NVMe disk
                   physical id: 1
                   bus info: nvme@0:1
                   logical name: /dev/nvme0n1
                   size: 931GiB (1TB)
                   capabilities: gpt-1.00 partitioned partitioned:gpt
                   configuration: guid=c7860258-9a4f-4c1e-96e8-24f43823ecb5 logicalsectorsize=512 sectorsize=512 wwid=eui.002538ba11b9261a
                 *-volume:0 UNCLAIMED
                      description: Windows FAT volume
                      vendor: mkfs.fat
                      physical id: 1
                      bus info: nvme@0:1,1
                      version: FAT32
                      serial: ed09-437e
                      size: 510MiB
                      capacity: 511MiB
                      capabilities: boot fat initialized
                      configuration: FATs=2 filesystem=fat name=primary
                 *-volume:1
                      description: EXT4 volume
                      vendor: Linux
                      physical id: 2
                      bus info: nvme@0:1,2
                      logical name: /dev/nvme0n1p2
                      logical name: /
                      version: 1.0
                      serial: cd5c799e-3310-4832-9236-d18b19e0fff8
                      size: 923GiB
                      capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
                      configuration: created=2022-04-01 21:05:04 filesystem=ext4 lastmountpoint=/ modified=2023-09-03 21:13:08 mount.fstype=ext4 mount.options=rw,relatime mounted=2023-09-03 21:13:09 name=primary state=mounted
                 *-volume:2
                      description: Linux swap volume
                      vendor: Linux
                      physical id: 3
                      bus info: nvme@0:1,3
                      logical name: /dev/nvme0n1p3
                      version: 1
                      serial: 885efa96-70ee-4a0f-a0c7-881046241164
                      size: 8190MiB
                      capacity: 8191MiB
                      capabilities: nofs swap initialized
                      configuration: filesystem=swap name=primary pagesize=4095
        *-pci:1
             description: PCI bridge
             product: Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #0
             vendor: Intel Corporation
             physical id: 7
             bus info: pci@0000:00:07.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:124 ioport:5000(size=4096) memory:52000000-5e1fffff ioport:6110000000(size=469762048)
        *-generic UNCLAIMED
             description: System peripheral
             product: GNA Scoring Accelerator module
             vendor: Intel Corporation
             physical id: 8
             bus info: pci@0000:00:08.0
             version: 01
             width: 64 bits
             clock: 33MHz
             capabilities: msi pm cap_list
             configuration: latency=0
             resources: iomemory:610-60f memory:612d172000-612d172fff
        *-usb:0
             description: USB controller
             product: Tiger Lake-LP Thunderbolt 4 USB Controller
             vendor: Intel Corporation
             physical id: d
             bus info: pci@0000:00:0d.0
             version: 01
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi xhci bus_master cap_list
             configuration: driver=xhci_hcd latency=0
             resources: iomemory:610-60f irq:126 memory:612d150000-612d15ffff
           *-usbhost:0
                product: xHCI Host Controller
                vendor: Linux 6.2.0-10018-tuxedo xhci-hcd
                physical id: 0
                bus info: usb@1
                logical name: usb1
                version: 6.02
                capabilities: usb-2.00
                configuration: driver=hub slots=1 speed=480Mbit/s
           *-usbhost:1
                product: xHCI Host Controller
                vendor: Linux 6.2.0-10018-tuxedo xhci-hcd
                physical id: 1
                bus info: usb@2
                logical name: usb2
                version: 6.02
                capabilities: usb-3.10
                configuration: driver=hub slots=4 speed=10000Mbit/s
        *-usb:1
             description: USB controller
             product: Tiger Lake-LP Thunderbolt 4 NHI #0
             vendor: Intel Corporation
             physical id: d.2
             bus info: pci@0000:00:0d.2
             version: 01
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi msix usb4_host_interface bus_master cap_list
             configuration: driver=thunderbolt latency=0
             resources: iomemory:610-60f iomemory:610-60f irq:16 memory:612d100000-612d13ffff memory:612d171000-612d171fff
        *-usb:2
             description: USB controller
             product: Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller
             vendor: Intel Corporation
             physical id: 14
             bus info: pci@0000:00:14.0
             version: 20
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi xhci bus_master cap_list
             configuration: driver=xhci_hcd latency=0
             resources: iomemory:610-60f irq:144 memory:612d140000-612d14ffff
           *-usbhost:0
                product: xHCI Host Controller
                vendor: Linux 6.2.0-10018-tuxedo xhci-hcd
                physical id: 0
                bus info: usb@3
                logical name: usb3
                version: 6.02
                capabilities: usb-2.00
                configuration: driver=hub slots=12 speed=480Mbit/s
              *-usb:0
                   description: USB hub
                   product: USB2.1 Hub
                   vendor: GenesysLogic
                   physical id: 1
                   bus info: usb@3:1
                   version: 23.11
                   capabilities: usb-2.10
                   configuration: driver=hub slots=2 speed=480Mbit/s
              *-usb:1
                   description: Video
                   product: HD Webcam: IR Camera
                   vendor: SunplusIT Inc
                   physical id: 6
                   bus info: usb@3:6
                   logical name: input11
                   logical name: /dev/input/event9
                   logical name: input12
                   logical name: /dev/input/event10
                   version: 0.03
                   serial: 01.00.00
                   capabilities: usb-2.01 usb
                   configuration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:2
                   description: Bluetooth wireless interface
                   product: AX201 Bluetooth
                   vendor: Intel Corp.
                   physical id: a
                   bus info: usb@3:a
                   version: 0.02
                   capabilities: bluetooth usb-2.01
                   configuration: driver=btusb maxpower=100mA speed=12Mbit/s
           *-usbhost:1
                product: xHCI Host Controller
                vendor: Linux 6.2.0-10018-tuxedo xhci-hcd
                physical id: 1
                bus info: usb@4
                logical name: usb4
                version: 6.02
                capabilities: usb-3.10
                configuration: driver=hub slots=4 speed=10000Mbit/s
              *-usb
                   description: USB hub
                   product: USB3.2 Hub
                   vendor: GenesysLogic
                   physical id: 1
                   bus info: usb@4:1
                   version: 23.11
                   capabilities: usb-3.20
                   configuration: driver=hub slots=2 speed=5000Mbit/s
                 *-usb
                      description: Mass storage device
                      product: USB3.0-CRW
                      vendor: Generic
                      physical id: 1
                      bus info: usb@4:1.1
                      logical name: scsi0
                      version: 2.04
                      serial: 20120501030900000
                      capabilities: usb-3.00 scsi emulated scsi-host
                      configuration: driver=usb-storage maxpower=800mA speed=5000Mbit/s
                    *-disk
                         description: SCSI Disk
                         product: SD/MMC
                         vendor: Generic-
                         physical id: 0.0.0
                         bus info: scsi@0:0.0.0
                         logical name: /dev/sda
                         version: 1.00
                         serial: 2012090114345300
                         capabilities: removable
                         configuration: ansiversion=6 logicalsectorsize=512 sectorsize=512
                       *-medium
                            physical id: 0
                            logical name: /dev/sda
        *-memory UNCLAIMED
             description: RAM memory
             product: Tiger Lake-LP Shared SRAM
             vendor: Intel Corporation
             physical id: 14.2
             bus info: pci@0000:00:14.2
             version: 20
             width: 64 bits
             clock: 33MHz (30.3ns)
             capabilities: pm cap_list
             configuration: latency=0
             resources: iomemory:610-60f iomemory:610-60f memory:612d168000-612d16bfff memory:612d170000-612d170fff
        *-network
             description: Wireless interface
             product: Wi-Fi 6 AX201
             vendor: Intel Corporation
             physical id: 14.3
             bus info: pci@0000:00:14.3
             logical name: wlo1
             version: 20
             serial: a4:6b:b6:33:6f:76
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
             configuration: broadcast=yes driver=iwlwifi driverversion=6.2.0-10018-tuxedo firmware=72.daa05125.0 QuZ-a0-hr-b0-72.u ip=192.168.88.198 latency=0 link=yes multicast=yes wireless=IEEE 802.11
             resources: iomemory:610-60f irq:19 memory:612d164000-612d167fff
        *-serial:0
             description: Serial bus controller
             product: Tiger Lake-LP Serial IO I2C Controller #0
             vendor: Intel Corporation
             physical id: 15
             bus info: pci@0000:00:15.0
             version: 20
             width: 64 bits
             clock: 33MHz
             capabilities: pm bus_master cap_list
             configuration: driver=intel-lpss latency=0
             resources: irq:27 memory:4017000000-4017000fff
        *-serial:1
             description: Serial bus controller
             product: Tiger Lake-LP Serial IO I2C Controller #2
             vendor: Intel Corporation
             physical id: 15.2
             bus info: pci@0000:00:15.2
             version: 20
             width: 64 bits
             clock: 33MHz
             capabilities: pm bus_master cap_list
             configuration: driver=intel-lpss latency=0
             resources: irq:29 memory:4017001000-4017001fff
        *-communication UNCLAIMED
             description: Communication controller
             product: Tiger Lake-LP Management Engine Interface
             vendor: Intel Corporation
             physical id: 16
             bus info: pci@0000:00:16.0
             version: 20
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi cap_list
             configuration: latency=0
             resources: iomemory:610-60f memory:612d16d000-612d16dfff
        *-pci:2
             description: PCI bridge
             product: Tiger Lake-LP PCI Express Root Port #9
             vendor: Intel Corporation
             physical id: 1d
             bus info: pci@0000:00:1d.0
             version: 20
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:125 ioport:3000(size=4096) memory:5f000000-600fffff ioport:6000000000(size=4328521728)
           *-display UNCLAIMED
                description: 3D controller
                product: GA107M [GeForce RTX 3050 Ti Mobile]
                vendor: NVIDIA Corporation
                physical id: 0
                bus info: pci@0000:2d:00.0
                version: a1
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress cap_list
                configuration: latency=0
                resources: iomemory:600-5ff iomemory:610-60f memory:5f000000-5fffffff memory:6000000000-60ffffffff memory:6100000000-6101ffffff ioport:3000(size=128) memory:60000000-6007ffff
        *-isa
             description: ISA bridge
             product: Tiger Lake-LP LPC Controller
             vendor: Intel Corporation
             physical id: 1f
             bus info: pci@0000:00:1f.0
             version: 20
             width: 32 bits
             clock: 33MHz
             capabilities: isa bus_master
             configuration: latency=0
           *-pnp00:00
                product: PnP device PNP0303
                physical id: 0
                capabilities: pnp
                configuration: driver=i8042 kbd
           *-pnp00:01
                product: PnP device PNP0c02
                physical id: 1
                capabilities: pnp
                configuration: driver=system
           *-pnp00:02
                product: PnP device INT3f0d
                vendor: Interphase Corporation
                physical id: 2
                capabilities: pnp
                configuration: driver=system
           *-pnp00:03
                product: PnP device PNP0c02
                physical id: 3
                capabilities: pnp
                configuration: driver=system
           *-pnp00:04
                product: PnP device PNP0c02
                physical id: 4
                capabilities: pnp
                configuration: driver=system
           *-pnp00:05
                product: PnP device PNP0c02
                physical id: 5
                capabilities: pnp
                configuration: driver=system
           *-pnp00:06
                product: PnP device PNP0c02
                physical id: 6
                capabilities: pnp
                configuration: driver=system
        *-multimedia
             description: Audio device
             product: Tiger Lake-LP Smart Sound Technology Audio Controller
             vendor: Intel Corporation
             physical id: 1f.3
             bus info: pci@0000:00:1f.3
             logical name: card0
             logical name: /dev/snd/controlC0
             logical name: /dev/snd/hwC0D0
             logical name: /dev/snd/hwC0D2
             logical name: /dev/snd/pcmC0D0c
             logical name: /dev/snd/pcmC0D0p
             logical name: /dev/snd/pcmC0D3p
             logical name: /dev/snd/pcmC0D7p
             logical name: /dev/snd/pcmC0D8p
             logical name: /dev/snd/pcmC0D9p
             version: 20
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi bus_master cap_list
             configuration: driver=snd_hda_intel latency=32
             resources: iomemory:610-60f iomemory:610-60f irq:165 memory:612d160000-612d163fff memory:612d000000-612d0fffff
           *-input:0
                product: HDA Intel PCH Mic
                physical id: 0
                logical name: input14
                logical name: /dev/input/event12
           *-input:1
                product: HDA Intel PCH Headphone
                physical id: 1
                logical name: input15
                logical name: /dev/input/event13
           *-input:2
                product: HDA Intel PCH HDMI/DP,pcm=3
                physical id: 2
                logical name: input16
                logical name: /dev/input/event14
           *-input:3
                product: HDA Intel PCH HDMI/DP,pcm=7
                physical id: 3
                logical name: input17
                logical name: /dev/input/event15
           *-input:4
                product: HDA Intel PCH HDMI/DP,pcm=8
                physical id: 4
                logical name: input18
                logical name: /dev/input/event16
           *-input:5
                product: HDA Intel PCH HDMI/DP,pcm=9
                physical id: 5
                logical name: input19
                logical name: /dev/input/event17
        *-serial:2
             description: SMBus
             product: Tiger Lake-LP SMBus Controller
             vendor: Intel Corporation
             physical id: 1f.4
             bus info: pci@0000:00:1f.4
             version: 20
             width: 64 bits
             clock: 33MHz
             configuration: driver=i801_smbus latency=0
             resources: iomemory:610-60f irq:16 memory:612d16c000-612d16c0ff ioport:efa0(size=32)
        *-serial:3
             description: Serial bus controller
             product: Tiger Lake-LP SPI Controller
             vendor: Intel Corporation
             physical id: 1f.5
             bus info: pci@0000:00:1f.5
             version: 20
             width: 32 bits
             clock: 33MHz
             configuration: driver=intel-spi latency=0
             resources: irq:0 memory:50400000-50400fff
  *-power:0 UNCLAIMED
       description: Standard
       product: Standard
       vendor: Standard
       physical id: 1
       version: Standard
       serial: Standard
       capacity: 32768mWh
  *-power:1 UNCLAIMED
       description: Standard
       product: Standard
       vendor: Standard
       physical id: 2
       version: Standard
       serial: Standard
       capacity: 32768mWh
  *-power:2 UNCLAIMED
       description: Standard
       product: Standard
       vendor: Standard
       physical id: 3
       version: Standard
       serial: Standard
       capacity: 32768mWh
  *-input:0
       product: Sleep Button
       physical id: 4
       logical name: input0
       logical name: /dev/input/event0
       capabilities: platform
  *-input:1
       product: Power Button
       physical id: 5
       logical name: input1
       logical name: /dev/input/event1
       capabilities: platform
  *-input:2
       product: UNIW0001:00 093A:0255 Touchpad
       physical id: 6
       logical name: input10
       logical name: /dev/input/event5
       logical name: /dev/input/mouse1
       capabilities: i2c
  *-input:3
       product: TUXEDO Keyboard
       physical id: 7
       logical name: input13
       logical name: /dev/input/event11
       capabilities: platform
  *-input:4
       product: Lid Switch
       physical id: 8
       logical name: input2
       logical name: /dev/input/event2
       capabilities: platform
  *-input:5
       product: AT Translated Set 2 keyboard
       physical id: 9
       logical name: input3
       logical name: /dev/input/event3
       logical name: input3::capslock
       logical name: input3::numlock
       logical name: input3::scrolllock
       capabilities: i8042
  *-input:6
       product: Video Bus
       physical id: a
       logical name: input6
       logical name: /dev/input/event6
       capabilities: platform
  *-input:7
       product: Video Bus
       physical id: b
       logical name: input7
       logical name: /dev/input/event7
       capabilities: platform
  *-input:8
       product: Intel HID events
       physical id: c
       logical name: input8
       logical name: /dev/input/event8
       capabilities: platform
  *-input:9
       product: UNIW0001:00 093A:0255 Mouse
       physical id: d
       logical name: input9
       logical name: /dev/input/event4
       logical name: /dev/input/mouse0
       capabilities: i2c

 

0 Kudos
karen_intel
Moderator
4,660 Views

Hey @BastianBlokland ty for the quick response

Indeed something was wrong with the system I was working with. Now, as I don't have a laptop available, we set up a TGL desktop machine where I tested the code.

After a reinstall with Ubuntu I could successfully create the examples replacing the triangle hsl and gsl shader files with the ones you shared.

My setup has a UHD 750 Graphics card and in the picture you can see the kernel version I have as well.

Ubuntu latest + driver v.i915.jpg

The shader is loading as in the Windows example I shared using Iris Xe Graphics and also in the SS of the NVIDIA card you tested on. Mesa utils were also recently updated so we have the same Graphics driver also.

Summary: I'm unable to reproduce the issue

I'm thinking it could be related to the combo Iris Xe + Ubuntu which would be too specific.

It may take a while for me to perform that test on a laptop with Ubuntu so I'll appreciate your patience in advance.

In the meantime, I wonder if you could test in a system that has only Intel or Nvidia GPU, just to discard driver conflict in a dual system.

Please let me know your findings!

 

Karen

 

 

0 Kudos
karen_intel
Moderator
4,394 Views

Hi @BastianBlokland quick update on this issue FYI

 

We're still unable to repro in a Laptop system with Iris Xe Graphics in Ubuntu. You can see the specs in the picture I'm attaching

 

 

0 Kudos
BastianBlokland
Beginner
4,128 Views

Hey @karen_intel,

 

Apologies for the late reply, thank you for investigating. Unfortunately i don't have access to another laptop running Linux at this time. I'll keep an eye out if the next kernel update fixes this issue.

 

Greetings,
Bastian Blokland

0 Kudos
karen_intel
Moderator
4,125 Views

Hi Bastian!

 

Understood. Please keep us posted on this thread, hope to hear from you soon!

 

Karen

0 Kudos
Reply