GPU Cycles (OpenCL) casting shadow where it should be transparent -- if hair is also rendered in the scene #79116

Closed
opened 2020-07-20 16:31:42 +02:00 by Massimo · 15 comments

System Information
Operating system: Linux-5.4.0-40-generic-x86_64-with-debian-bullseye-sid 64 Bits
Graphics card: AMD Radeon RX 5700 XT (NAVI10, DRM 3.37.0, 5.4.0-40-generic, LLVM 10.0.0) X.Org 4.6 (Core Profile) Mesa 20.0.8

Blender Version
Broken: version: 2.90.0 Alpha, branch: master, commit date: 2020-07-19 21:23, hash: 78e40ad21f
Tried also on 2.83.2 LTS.

Short description of error
Texture casts shadows where it should be transparent.
Works fine if cycles is using the CPU. The error only appears with GPU.

Exact steps for others to reproduce the error

  • From the attached file, the error already appears as in the image. The checker texture on the left should not cast shadow where it's transparent
  • if you change the particles from "hair" to "emitter", it works fine.
  • move back to "hair", the error appears again
  • select CPU. It works fine

select GPU. The error appears again

transparency_texture.blend

immagine.png

immagine.png

... from a later comment ...

Trying to investigate more, I noticed that the issue is triggered when some hair is being rendered with GPU.
If I do one of these, the issue doesn't appear:

  • If I exclude rendering of the hair particle system itself on the cube using the "Camera icon" toggle
  • if I entirely exclude the cube from the rendering, it works too.
    I think this is consistent with the behaviour of my first post, as switching particle type from "Hair" to "Emitter" doesn't render any hair.

I add renders of this behaviour too:
↓ Hair particle system toggled as invisible in rendering, works, GPU
no_hair.png
↓ Cube with the hair entirely excluded from rendering, works, GPU
no_cube.png

**System Information** Operating system: Linux-5.4.0-40-generic-x86_64-with-debian-bullseye-sid 64 Bits Graphics card: AMD Radeon RX 5700 XT (NAVI10, DRM 3.37.0, 5.4.0-40-generic, LLVM 10.0.0) X.Org 4.6 (Core Profile) Mesa 20.0.8 **Blender Version** Broken: version: 2.90.0 Alpha, branch: master, commit date: 2020-07-19 21:23, hash: `78e40ad21f` Tried also on 2.83.2 LTS. **Short description of error** Texture casts shadows where it should be transparent. Works fine if cycles is using the CPU. The error only appears with GPU. **Exact steps for others to reproduce the error** - From the attached file, the error already appears as in the image. The checker texture on the left should not cast shadow where it's transparent - if you change the particles from "hair" to "emitter", it works fine. - move back to "hair", the error appears again - select CPU. It works fine # select GPU. The error appears again [transparency_texture.blend](https://archive.blender.org/developer/F8709097/transparency_texture.blend) ![immagine.png](https://archive.blender.org/developer/F8709098/immagine.png) ![immagine.png](https://archive.blender.org/developer/F8709101/immagine.png) ... from a later comment ... > Trying to investigate more, I noticed that the issue is triggered when some **hair** is being rendered with GPU. > If I do one of these, the issue doesn't appear: > - If I exclude rendering of the hair particle system itself on the cube using the "Camera icon" toggle > - if I entirely exclude the cube from the rendering, it works too. > I think this is consistent with the behaviour of my first post, as switching particle type from "Hair" to "Emitter" doesn't render any hair. > > I add renders of this behaviour too: > ↓ Hair particle system toggled as invisible in rendering, works, GPU > ![no_hair.png](https://archive.blender.org/developer/F8882112/no_hair.png) > ↓ Cube with the hair entirely excluded from rendering, works, GPU > ![no_cube.png](https://archive.blender.org/developer/F8882089/no_cube.png)
Author

Added subscriber: @rosto

Added subscriber: @rosto
Massimo changed title from Gpu casting shadow where it should be transparent to Gpu Cycles casting shadow where it should be transparent 2020-07-20 16:52:30 +02:00

Added subscriber: @iss

Added subscriber: @iss

Can't reproduce on
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: Radeon RX550/550 Series ATI Technologies Inc. 4.5.13586 Core Profile Context 19.12.2 26.20.15002.61

Can't reproduce on Operating system: Windows-10-10.0.18362-SP0 64 Bits Graphics card: Radeon RX550/550 Series ATI Technologies Inc. 4.5.13586 Core Profile Context 19.12.2 26.20.15002.61
Author

I add a video of the issue, visible on the left checker plane shadow, hoping it could be helpful
sample_of_transparency_error.mp4

I add a video of the issue, visible on the left checker plane shadow, hoping it could be helpful [sample_of_transparency_error.mp4](https://archive.blender.org/developer/F8711189/sample_of_transparency_error.mp4)
Author

I tried to reproduce it on Windows on the same computer, to check if it is a OS problem or not.
I can reproduce it on Windows 10 too(I have a dual boot).

I attach a video showing the issue on the same pc, with the same .blend file but on a different operating system
2020-08-03 16-44-07.mkv

I tried to reproduce it on Windows on the same computer, to check if it is a OS problem or not. I can reproduce it on Windows 10 too(I have a dual boot). I attach a video showing the issue on the same pc, with the same .blend file but on a different operating system [2020-08-03 16-44-07.mkv](https://archive.blender.org/developer/F8853747/2020-08-03_16-44-07.mkv)

Added subscriber: @mano-wii

Added subscriber: @mano-wii

I also cannot reproduce the problem either in the indicated version or in the last daily build.
Tested on a GPU AMD with OpenCL

Please try the latest daily build: https://builder.blender.org/download/

Go to File → Defaults → Load Factory Settings and then load your file to see if you still can reproduce this issue.


Operating system: Windows-10-10.0.18941 64 Bits
Graphics card: Radeon (TM) RX 480 Graphics ATI Technologies Inc. 4.5.13596 Core Profile Context 20.10.19.02 27.20.1019.2002

I also cannot reproduce the problem either in the indicated version or in the last daily build. Tested on a GPU AMD with OpenCL Please try the latest daily build: https://builder.blender.org/download/ Go to File → Defaults → Load Factory Settings and then load your file to see if you still can reproduce this issue. ____ **Operating system:** Windows-10-10.0.18941 64 Bits **Graphics card:** Radeon (TM) RX 480 Graphics ATI Technologies Inc. 4.5.13596 Core Profile Context 20.10.19.02 27.20.1019.2002

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Author

Thank you, here are the results on the latest build 2.91.0 Alpha built on September 14th, hash 26a827f254.

Steps:

  • I loaded factory settings
  • as Factory settings resets to CPU only rendering, I selected again my graphics cards in the OpenCL options

Renders

Results:
↓Cpu+gpu rendering, you can see the difference between blocks rendered by CPU and the ones by GPU cpu_and_gpu.png

↓CPU only, works cpu_only.png

↓GPU only, issue still appears gpu_only.png

Trying to investigate more, I noticed that the issue is triggered when some hair is being rendered with GPU.
If I do one of these, the issue doesn't appear:

  • If I exclude rendering of the hair particle system itself on the cube using the "Camera icon" toggle
  • if I entirely exclude the cube from the rendering, it works too.
    I think this is consistent with the behaviour of my first post, as switching particle type from "Hair" to "Emitter" doesn't render any hair.

I add renders of this behaviour too:
↓ Hair particle system toggled as invisible in rendering, works, GPU
no_hair.png
↓ Cube with the hair entirely excluded from rendering, works, GPU
no_cube.png

Let me know if I can do more troubleshooting

Thank you, here are the results on the latest build 2.91.0 Alpha built on September 14th, hash 26a827f25448. Steps: - I loaded factory settings - as Factory settings resets to CPU only rendering, I selected again my graphics cards in the OpenCL options # Renders Results: ↓Cpu+gpu rendering, you can see the difference between blocks rendered by CPU and the ones by GPU ![cpu_and_gpu.png](https://archive.blender.org/developer/F8882085/cpu_and_gpu.png) ↓CPU only, works ![cpu_only.png](https://archive.blender.org/developer/F8882105/cpu_only.png) ↓GPU only, issue still appears ![gpu_only.png](https://archive.blender.org/developer/F8882092/gpu_only.png) Trying to investigate more, I noticed that the issue is triggered when some **hair** is being rendered with GPU. If I do one of these, the issue doesn't appear: - If I exclude rendering of the hair particle system itself on the cube using the "Camera icon" toggle - if I entirely exclude the cube from the rendering, it works too. I think this is consistent with the behaviour of my first post, as switching particle type from "Hair" to "Emitter" doesn't render any hair. I add renders of this behaviour too: ↓ Hair particle system toggled as invisible in rendering, works, GPU ![no_hair.png](https://archive.blender.org/developer/F8882112/no_hair.png) ↓ Cube with the hair entirely excluded from rendering, works, GPU ![no_cube.png](https://archive.blender.org/developer/F8882089/no_cube.png) Let me know if I can do more troubleshooting
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'

Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'
Member

Also cannot reproduce

**System Information**
Operating system: Linux-5.8.4-200.fc32.x86_64-x86_64-with-fedora-32-Thirty_Two 64 Bits
Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 450.66
2.91.0 Alpha, branch: master, commit date: 2020-09-13 23:10, hash: `rB0f61b27e93f1`
Also cannot reproduce ``` **System Information** Operating system: Linux-5.8.4-200.fc32.x86_64-x86_64-with-fedora-32-Thirty_Two 64 Bits Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 450.66 2.91.0 Alpha, branch: master, commit date: 2020-09-13 23:10, hash: `rB0f61b27e93f1` ```
Philipp Oeser changed title from Gpu Cycles casting shadow where it should be transparent to GPU Cycles (OpenCL) casting shadow where it should be transparent -- if hair is also rendered in the scene 2020-09-15 11:26:22 +02:00
Member

Added subscriber: @Blendify

Added subscriber: @Blendify
Member

Changed status from 'Needs Developer To Reproduce' to: 'Archived'

Changed status from 'Needs Developer To Reproduce' to: 'Archived'
Member

As a result of the Cycles-x changes in Blender 3.0, OpenCL support for Cycles has been removed and older versions will not receive bug fixes in regard to OpenCL rendering.
This is due to the combination of the limited features, driver bugs, and the stalled OpenCL standard making maintenance too difficult.

Blender is working with hardware vendors to bring back GPU rendering support for AMD and Intel GPUs, using others APIs.
Support for all major GPU vendors is an important goal but this goal might not be met for the upcoming 3.0 release.

Support for AMD cards is already in the works, for updates see #91571.

As a result of the [Cycles-x ](https://code.blender.org/2021/04/cycles-x/) changes in Blender 3.0, OpenCL support for Cycles has been removed and older versions will not receive bug fixes in regard to OpenCL rendering. This is due to the combination of the limited features, driver bugs, and the stalled OpenCL standard making maintenance too difficult. Blender is working with hardware vendors to bring back GPU rendering support for AMD and Intel GPUs, using others APIs. Support for all major GPU vendors is an important goal but this goal might not be met for the upcoming 3.0 release. Support for AMD cards is already in the works, for updates see #91571.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#79116
No description provided.