- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
System Used: Intel NUC
CPU SKU: Core i5-250U 1.6Ghz
GPU SKU: HD6000
Processor Line: U
System BIOS Version: N/A
CMOS settings: N/A
Graphics Driver Version: 10.18.15.4256
GOP/VBIOS Version: 1038.0
Operating System: Windows 10 64-bit
OS Version: Windows 10 64-bit
API: OpenGL
Occurs on non-Intel GPUs?: No
Steps to Reproduce:
I can send a repro case with my application/project file. Let me know where to send it.
Edit: I've changed the text on this now that I've narrowed it down more.
It seems if I have a TBO bound, and I also have a sampler object bound for that image unit, rendering breaks. Changing the code to bind the 0 sampler object instead makes rendering work. No GL errors are generated in either case.
I tried making the sampler object have things like NEAREST filtering to be closer to what a TBO behaves as, but no luck.
This issue does not occur on Nvidia/AMD GPUs, and I'm pretty sure TBOs should just ignore the sampler object binding entirely.
Thanks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Update: seems to be TBO related specifically. If I change my shader so the TBOs arn't used I get something rendering.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have totally changed the text for this bug as I've dug deeper and found the root cause.
The issue is TBOs and sampler objects being used together. This breaks rendering on Intels GPUs.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Malcolm,
You can attach a sample in a forum post, or send me a private message with it.
I am getting a ticket filed and talking with out OpenGL driver team.
Thanks,
-Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Malcolm,
The OpenGl teams has investigated your issue and did not find a driver issue. Uncommenting the line with texelFetch indeed breaks the rendering but this occurs due to TBO being used incorrectly. Looks like sampleBuffer sTDInstanceT is declared but there is nothing assigned to it through the "Samplers 1" tab in Parameters window. In this case results might be undefined. After assigning correct TOP to the sampler the issue does not occur and TBO can be sampled properly.
Hope this helps,
-Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey Michael,
The sTDInstanceT sampler is assigned internally and automatically by the TouchDesigner instancing code, not explicitly using the Samplers parameters on that GLSL node. The sampler is definetely assigned by the internal code since the instancing code works on other brand of GPUs for many years now. Binding it on the parameters would indeed override the internal binding, however a TOP is a texture2D, not a TBO, which avoids the bug.
The issue was fixed by not binding a sampler object (GL_ARB_sampler_objects) to the same image unit as the TBO is bound to. So it still seems like a driver bug as the samplerBuffer should just ignore any bound sampler object. Did the team look into that case at all?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Malcolm,
Debug is continuing, there might be a driver issue a very specific scenario we haven't covered yet.
-Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Malcolm,
Interesting development in this issue today. The investigating engineer downloaded the latest version of your application (TouchDesigner088.58140.64-Bit.exe) and he is unable to reproduce the issue using the same graphics driver. Can you confirm this on your end?
-Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, that's expected. I added a workaround in the builds since this report was made that unbinds the sampler object when I detect a TBO is being bound.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Malcolm,
We have been looking at this issue and we are not able to reproduce it outside your application – no matter what or how we tried. In the end the driver team cannot find a driver issue.
-Michael

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page