Eevee - no volume density textures when using Vega 64 external gpu on macOS Mojave #65873

Open
opened 4 years ago by winnertakesteve-1 · 53 comments

System Information
Operating system: Darwin-18.6.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon RX Vega 64 OpenGL Engine ATI Technologies Inc. 4.1 ATI-2.9.26

Blender Version
Broken: version: 2.80 (sub 74), branch: blender2.7, commit date: 2019-06-16 23:08, hash: 12da679fa0
Worked: Was working briefly with some builds in March 2019.

Short description of error
MacOS Mojave external GPU fails to render volumetric on Eevee if there is a density texture. Internal GPU works fine.

Exact steps for others to reproduce the error
Using external Vega 64:
On default cube, add principled volume shader to volume material output: volume looks correct.
Plug noise texture node into density input of principled volume shader: volume disappears.
Using internal Radeon 560x:
Exact same steps gives properly textured volume.

[Based on the default startup or an attached .blend file (as simple as possible)]

**System Information** Operating system: Darwin-18.6.0-x86_64-i386-64bit 64 Bits Graphics card: AMD Radeon RX Vega 64 OpenGL Engine ATI Technologies Inc. 4.1 ATI-2.9.26 **Blender Version** Broken: version: 2.80 (sub 74), branch: blender2.7, commit date: 2019-06-16 23:08, hash: `12da679fa0` Worked: Was working briefly with some builds in March 2019. **Short description of error** MacOS Mojave external GPU fails to render volumetric on Eevee if there is a density texture. Internal GPU works fine. **Exact steps for others to reproduce the error** Using external Vega 64: On default cube, add principled volume shader to volume material output: volume looks correct. Plug noise texture node into density input of principled volume shader: volume disappears. Using internal Radeon 560x: Exact same steps gives properly textured volume. [Based on the default startup or an attached .blend file (as simple as possible)]

Added subscriber: @winnertakesteve-1

Added subscriber: @winnertakesteve-1
Collaborator

#87176 was marked as duplicate of this issue

#87176 was marked as duplicate of this issue
Collaborator

#88329 was marked as duplicate of this issue

#88329 was marked as duplicate of this issue
Collaborator

#91722 was marked as duplicate of this issue

#91722 was marked as duplicate of this issue
Collaborator

#83061 was marked as duplicate of this issue

#83061 was marked as duplicate of this issue
Collaborator

#82505 was marked as duplicate of this issue

#82505 was marked as duplicate of this issue
Collaborator

#76662 was marked as duplicate of this issue

#76662 was marked as duplicate of this issue
Collaborator

#66508 was marked as duplicate of this issue

#66508 was marked as duplicate of this issue
fclem commented 3 years ago
Collaborator

Added subscriber: @fclem

Added subscriber: @fclem
fclem commented 3 years ago
Collaborator

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
fclem closed this issue 3 years ago
fclem self-assigned this 3 years ago
fclem commented 3 years ago
Collaborator

Is this still happening? I remember fixing similar issues. Closing for now. Please comment if it is still happening with latest beta version.

Is this still happening? I remember fixing similar issues. Closing for now. Please comment if it is still happening with latest beta version.

the issue has persisted for me this entire time.

on the latest macos, works with internal amd 560x, and fails fails with vega64 egpu (but works with vega64 under windows). attached is a screen recording of me replicating issue with recent 2.82 build, and i have the identical result with a 2.83 build as well.
vega64_volumetrics.mov

the issue has persisted for me this entire time. on the latest macos, works with internal amd 560x, and fails fails with vega64 egpu (but works with vega64 under windows). attached is a screen recording of me replicating issue with recent 2.82 build, and i have the identical result with a 2.83 build as well. [vega64_volumetrics.mov](https://archive.blender.org/developer/F8317687/vega64_volumetrics.mov)

also, i don't know if this will be helpful in tracking down the bug, but smoke sims plugged into the volume density do work on the vega 64, so i don't know if there are any obvious differences in how texture data is handled via the volume info node vs other textures.
Screen Shot 2020-02-02 at 1.50.33 PM.png

also, i don't know if this will be helpful in tracking down the bug, but smoke sims plugged into the volume density do work on the vega 64, so i don't know if there are any obvious differences in how texture data is handled via the volume info node vs other textures. ![Screen Shot 2020-02-02 at 1.50.33 PM.png](https://archive.blender.org/developer/F8317728/Screen_Shot_2020-02-02_at_1.50.33_PM.png)
fclem commented 3 years ago
Collaborator

Changed status from 'Resolved' to: 'Confirmed'

Changed status from 'Resolved' to: 'Confirmed'
fclem reopened this issue 3 years ago
fclem commented 3 years ago
Collaborator

@winnertakesteve-1 Ok so it's only a problem of procedural textures. Can you try with a plugged texture coordinate in the noise texture?

@winnertakesteve-1 Ok so it's only a problem of procedural textures. Can you try with a plugged texture coordinate in the noise texture?

Oh hey! I gave that a try, and while none of the Texture Coordinate node outputs (Generated/Object/UV/etc) worked, on a lark I tried using the Geometry Node outputs, and those DO work!

Oh hey! I gave that a try, and while none of the Texture Coordinate node outputs (Generated/Object/UV/etc) worked, on a lark I tried using the Geometry Node outputs, and those DO work!
fclem commented 3 years ago
Collaborator

@winnertakesteve-1 can you test if just plugging the texture coordinates outputs to the color input of the principle volume node works?

@winnertakesteve-1 can you test if just plugging the texture coordinates outputs to the color input of the principle volume node works?

In #65873#866240, @fclem wrote:
@winnertakesteve-1 can you test if just plugging the texture coordinates outputs to the color input of the principle volume node works?

all texture coordinate node outputs into the colour input of the volume node causes the volume to disappear. doing the same with geometry node outputs (except tangent, which also makes volume disappear) produces a coloured volume result.

also don't know if its helpful, but i tried adding a math node that added value to the problematic outputs to see if they were coming in as '0', but it made no difference, so i'm assuming those outputs are reporting Null or throwing errors?

Screen Shot 2020-02-06 at 7.49.50 AM.png

Screen Shot 2020-02-06 at 7.43.49 AM.png

Screen Shot 2020-02-06 at 7.43.38 AM.png

> In #65873#866240, @fclem wrote: > @winnertakesteve-1 can you test if just plugging the texture coordinates outputs to the color input of the principle volume node works? all texture coordinate node outputs into the colour input of the volume node causes the volume to disappear. doing the same with geometry node outputs (except tangent, which also makes volume disappear) produces a coloured volume result. also don't know if its helpful, but i tried adding a math node that added value to the problematic outputs to see if they were coming in as '0', but it made no difference, so i'm assuming those outputs are reporting Null or throwing errors? ![Screen Shot 2020-02-06 at 7.49.50 AM.png](https://archive.blender.org/developer/F8325431/Screen_Shot_2020-02-06_at_7.49.50_AM.png) ![Screen Shot 2020-02-06 at 7.43.49 AM.png](https://archive.blender.org/developer/F8325432/Screen_Shot_2020-02-06_at_7.43.49_AM.png) ![Screen Shot 2020-02-06 at 7.43.38 AM.png](https://archive.blender.org/developer/F8325433/Screen_Shot_2020-02-06_at_7.43.38_AM.png)
fclem commented 3 years ago
Collaborator
Added subscribers: @Xraller, @mano-wii, @EAW, @JacquesLucke, @billwurtz, @StephenSwaney, @C60, @robbott, @The_Crespo, @brecht
fclem commented 3 years ago
Collaborator

@winnertakesteve-1 Do you get the same behavior if you plug the texture coord/geometry node straight to the material output's volume socket?

@winnertakesteve-1 Do you get the same behavior if you plug the texture coord/geometry node straight to the material output's volume socket?

In #65873#866935, @fclem wrote:
@winnertakesteve-1 Do you get the same behavior if you plug the texture coord/geometry node straight to the material output's volume socket?

yeah i get similar behaviour, geometry node outputs give a result, texture coordinate outputs make volume disappear.

Screen Shot 2020-02-08 at 10.34.40 AM.png

Screen Shot 2020-02-08 at 10.34.33 AM.png

> In #65873#866935, @fclem wrote: > @winnertakesteve-1 Do you get the same behavior if you plug the texture coord/geometry node straight to the material output's volume socket? yeah i get similar behaviour, geometry node outputs give a result, texture coordinate outputs make volume disappear. ![Screen Shot 2020-02-08 at 10.34.40 AM.png](https://archive.blender.org/developer/F8329477/Screen_Shot_2020-02-08_at_10.34.40_AM.png) ![Screen Shot 2020-02-08 at 10.34.33 AM.png](https://archive.blender.org/developer/F8329476/Screen_Shot_2020-02-08_at_10.34.33_AM.png)
RobN commented 3 years ago

Added subscriber: @RobN

Added subscriber: @RobN
RobN commented 3 years ago

I can confirm this behavior with OSX 10.14.6
2018 Macbook Pro
Radeon Pro Vega 20 4 GB
Intel UHD Graphics 630 1536 MB

Blender Version 2.83 (2.83 2020-03-09)

Attached is a very simple blend that shows the problem

Rob{F8403637}

I can confirm this behavior with OSX 10.14.6 2018 Macbook Pro Radeon Pro Vega 20 4 GB Intel UHD Graphics 630 1536 MB Blender Version 2.83 (2.83 2020-03-09) Attached is a very simple blend that shows the problem Rob{[F8403637](https://archive.blender.org/developer/F8403637/nebulas_v001.blend)}
C60 commented 3 years ago

I'm still getting this too with OSX 10.15.3
2019 Macbook Pro
Radeon Pro Vega 20 4Gb

Blender Version 2.83 (2.83 2020-03-20)

Geometry Nodes work and Texture Nodes don't with EEVEE. Cycles works fine.

I'm still getting this too with OSX 10.15.3 2019 Macbook Pro Radeon Pro Vega 20 4Gb Blender Version 2.83 (2.83 2020-03-20) Geometry Nodes work and Texture Nodes don't with EEVEE. Cycles works fine.
C60 commented 3 years ago

Is there any other information that might be handy for a developer?
Would be nice to get this fixed in the next release since I think it effects most high-end mac's going forward?
If someone was going to start looking through the code where would they start?
source->blender->draw->engines->eevee-> or source->blender->gpu-> or is there a good functional chart.

Has anyone found a workaround?

Is there any other information that might be handy for a developer? Would be nice to get this fixed in the next release since I think it effects most high-end mac's going forward? If someone was going to start looking through the code where would they start? source->blender->draw->engines->eevee-> or source->blender->gpu-> or is there a good functional chart. Has anyone found a workaround?
brecht commented 3 years ago
Owner

Added subscriber: @MDS

Added subscriber: @MDS

Added subscriber: @scottmckay

Added subscriber: @scottmckay

I'm running Blender on a 2018 Macbook Pro with a Radeon Pro 560X internal GPU & Radeon VII eGPU with this problem.

Volumetrics behave more or less as expected in eevee with the internal 560X, but are almost entirely crippled to nothing on the Radeon VII. Cycles works fine, except that I'm limited to CPU-only on my machine.

On the Radeon VII, volumetrics won't show up at all when using the Texture Coordinate node, and things get very strange when trying to procedurally manipulate volumes using noise or gradient textures with the Object Info or Geometry node to drive vector. This reduces everything to a primitive state where I can't seem to reliably shape the volume density very far past anything other than a cube without things falling apart.

Any progress on this over the last few weeks? Anyone have any suggestions?

EDIT: I just tested these in 2.80, 2.81, 2.81a, 2.82, 2.82a, 2.83, & 2.90 and all of these versions exhibit the issue.

I'm running Blender on a 2018 Macbook Pro with a Radeon Pro 560X internal GPU & Radeon VII eGPU with this problem. Volumetrics behave more or less as expected in eevee with the internal 560X, but are almost entirely crippled to nothing on the Radeon VII. Cycles works fine, except that I'm limited to CPU-only on my machine. On the Radeon VII, volumetrics won't show up at all when using the Texture Coordinate node, and things get very strange when trying to procedurally manipulate volumes using noise or gradient textures with the Object Info or Geometry node to drive vector. This reduces everything to a primitive state where I can't seem to reliably shape the volume density very far past anything other than a cube without things falling apart. Any progress on this over the last few weeks? Anyone have any suggestions? EDIT: I just tested these in 2.80, 2.81, 2.81a, 2.82, 2.82a, 2.83, & 2.90 and all of these versions exhibit the issue.
mvipe commented 3 years ago

Added subscriber: @mvipe

Added subscriber: @mvipe
mvipe commented 3 years ago

I have sumbled across the same issue on MacOS with Vega external eGPU in EEVEE. No volumetrics is rendered when plugging in a procedual Texture Node into the density of the volumetric principled shader. But using the geometry as th input works fine like that :

geometry node (position --> vector) noise texture (factor ---> density) principled volume (volume ---> volume) material output.

But unfortunately i cant get it to work the same way when using a "Gradient Texture" Node instead of the "Noise Texture" Node. Any Ideas how to solve this, or will this be fixed with a newer version soon?
i really need to fade the volumetrics with a gradient node. Or is there any other way to fade the volumetrics when using the geometry node?

I have sumbled across the same issue on MacOS with Vega external eGPU in EEVEE. No volumetrics is rendered when plugging in a procedual Texture Node into the density of the volumetric principled shader. But using the geometry as th input works fine like that : geometry node (position --> vector) noise texture (factor ---> density) principled volume (volume ---> volume) material output. But unfortunately i cant get it to work the same way when using a "Gradient Texture" Node instead of the "Noise Texture" Node. Any Ideas how to solve this, or will this be fixed with a newer version soon? i really need to fade the volumetrics with a gradient node. Or is there any other way to fade the volumetrics when using the geometry node?
mvipe commented 3 years ago

I found a solution to workaround for fading volumetrics in eevee on macOS with Vega. you can easily work this further and combine this with the texture node by smooth minimum combining it. hope this helps someone, since it drove me nuts:
Bildschirmfoto 2020-06-04 um 15.47.41.png

I found a solution to workaround for fading volumetrics in eevee on macOS with Vega. you can easily work this further and combine this with the texture node by smooth minimum combining it. hope this helps someone, since it drove me nuts: ![Bildschirmfoto 2020-06-04 um 15.47.41.png](https://archive.blender.org/developer/F8576714/Bildschirmfoto_2020-06-04_um_15.47.41.png)

Thanks for the workaround @mvipe.

Adding another failing test case to the list of AMD GPUs which can't show the volumetrics properly: the brand new Radeon Pro 5600M.

Been doing some tests and comparisons with macOS and Windows via boot camp on the same machine, and it appears that the gradient-modified volume works in eevee on windows but not on Mac. At least with this card. For what that's worth.

Thanks for the workaround @mvipe. Adding another failing test case to the list of AMD GPUs which can't show the volumetrics properly: the brand new Radeon Pro 5600M. Been doing some tests and comparisons with macOS and Windows via boot camp on the same machine, and it appears that the gradient-modified volume works in eevee on windows but not on Mac. At least with this card. For what that's worth.

Added subscriber: @pentagramwookie

Added subscriber: @pentagramwookie
isbm commented 2 years ago

Added subscriber: @isbm

Added subscriber: @isbm
isbm commented 2 years ago

This is still broken on 2.91 Alpha and latest-greatest Catalina. However! I've managed to find a workaround where it still works and you can animate the coordinates. As simple as that (this is part of the shading, so few nodes you won't really need):
Screenshot 2020-10-03 at 14.45.46.png

Essentially, the geometry is screwed and on MacOS the texture is sort of outside of the object (it is still visible on the surface, but in the inside). So do as always, except replace the first Geometry node.

Have fun!

This is still broken on 2.91 Alpha and latest-greatest Catalina. However! I've managed to find a workaround where it still works and you can animate the coordinates. As simple as that (this is part of the shading, so few nodes you won't really need): ![Screenshot 2020-10-03 at 14.45.46.png](https://archive.blender.org/developer/F8950656/Screenshot_2020-10-03_at_14.45.46.png) Essentially, the geometry is screwed and on MacOS the texture is sort of outside of the object (it is still visible on the surface, but in the inside). So do as always, except replace the first Geometry node. Have fun!

Added subscriber: @nocturnal3d

Added subscriber: @nocturnal3d
rjg commented 2 years ago
Collaborator

Added subscribers: @JEMGEM, @rjg

Added subscribers: @JEMGEM, @rjg

Added subscriber: @fiftysquid

Added subscriber: @fiftysquid

Added subscriber: @gwecken

Added subscriber: @gwecken
blurr commented 2 years ago

Added subscriber: @blurr

Added subscriber: @blurr

Added subscriber: @MarCuseus

Added subscriber: @MarCuseus

I'm very new to the blender scene, having a similar situation.

5K iMac 2020, 3.6 GHz 10-core intel core i9, 128 GB DDR4, AMD Radeon Pro 5700 XT 16 GB.

eeveeissue.jpg

GPU rendering doesn't seem to work either.

I'm very new to the blender scene, having a similar situation. 5K iMac 2020, 3.6 GHz 10-core intel core i9, 128 GB DDR4, AMD Radeon Pro 5700 XT 16 GB. ![eeveeissue.jpg](https://archive.blender.org/developer/F9609380/eeveeissue.jpg) GPU rendering doesn't seem to work either.

Added subscriber: @PanagiotisPagonis

Added subscriber: @PanagiotisPagonis

The problem is still present on 2.93.4 and the experimental 3.0

I am on an iMac with an AMD Radeon Pro 5700 XT 16 GB and indeed in EEVEE when adding any king of procedural texture on the volume's scatter input the volume disappears.

It would be nice to have a fix for that.

The problem is still present on 2.93.4 and the experimental 3.0 I am on an iMac with an AMD Radeon Pro 5700 XT 16 GB and indeed in EEVEE when adding any king of procedural texture on the volume's scatter input the volume disappears. It would be nice to have a fix for that.

Added subscriber: @dennyboiq

Added subscriber: @dennyboiq

The problem exist between both iMac and Macbook as I am on a Macbook with an AMD Radeon Pro 5300M 4 GB and also working in EEVEE. Any texture node added, even with a ColorRamp and Mix Shader involved, still has the volume disappear. When the texture is disconnected, the volume reappears.

The problem exist between both iMac and Macbook as I am on a Macbook with an AMD Radeon Pro 5300M 4 GB and also working in EEVEE. Any texture node added, even with a ColorRamp and Mix Shader involved, still has the volume disappear. When the texture is disconnected, the volume reappears.
EAW commented 1 year ago

Added subscribers: @LuckyChris, @RoyTheKoi

Added subscribers: @LuckyChris, @RoyTheKoi

Removed subscriber: @scottmckay

Removed subscriber: @scottmckay
Collaborator

Added subscribers: @DanSG, @PratikPB2123

Added subscribers: @DanSG, @PratikPB2123
Collaborator

Added subscribers: @Piipperi, @ankitm

Added subscribers: @Piipperi, @ankitm

Just checked with version 3.1 beta on Imac 2019 (intel) with Catalina. The Problem persists, the only "solution" as mentioned in the previous comments is to put a Geometry node set to Position into the texture vector.

Just checked with version 3.1 beta on Imac 2019 (intel) with Catalina. The Problem persists, the only "solution" as mentioned in the previous comments is to put a Geometry node set to Position into the texture vector.
C60 commented 11 months ago

I still get this problem with a MacBook Pro onboard Vega 20 4gb GPU. So not exclusive to eGPU's but Vega cards.

I still get this problem with a MacBook Pro onboard Vega 20 4gb GPU. So not exclusive to eGPU's but Vega cards.
C60 commented 11 months ago

Looks like it's working now with newest blender and amd cards on the newest osx monterey.

YEAH!!!

Looks like it's working now with newest blender and amd cards on the newest osx monterey. YEAH!!!
lichtwerk removed the
legacy module/Eevee & Viewport
label 21 hours ago
lichtwerk removed the
Interest/Eevee & Viewport
label 21 hours ago
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/Collada
Interest/Compositing
Interest/Core
Interest/Cycles
Interest/Dependency Graph
Interest/Development Management
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/Modeling
Interest/Modifiers
Interest/Motion Tracking
Interest/Nodes & Physics
Interest/Overrides
Interest/Performance
Interest/Performance
Interest/Physics
Interest/Pipeline, Assets & I/O
Interest/Platforms, Builds, Tests & Devices
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
legacy module/Animation & Rigging
legacy module/Core
legacy module/Development Management
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/Triaging
legacy module/User Interface
legacy module/VFX & Video
legacy project/1.0.0-beta.2
legacy project/Asset Browser (Archived)
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Code Quest
legacy project/Datablocks and Libraries
legacy project/Eevee
legacy project/Game Animation
legacy project/Game Audio
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Logic
legacy project/Game Physics
legacy project/Game Python
legacy project/Game Rendering
legacy project/Game UI
legacy project/GPU / Viewport
legacy project/GSoC
legacy project/Infrastructure: Websites
legacy project/LibOverrides - Usability and UX
legacy project/Milestone 1: Basic, Local Asset Browser
legacy project/Nodes
legacy project/OpenGL Error
legacy project/Papercut
legacy project/Pose Library Basics
legacy project/Retrospective
legacy project/Tracker Curfew
legacy project/Wintab High Frequency
Meta/Good First Issue
Meta/Papercut
migration/requires-manual-verification
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 & Devices
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 Information 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
21 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#65873
Loading…
There is no content yet.