EEVEE: shader UV map input is broken for hair curves #115460

Open
opened 2023-11-27 06:07:45 +01:00 by Sun Kim · 4 comments
Contributor

System Information
Operating system: Windows-10-10.0.19045-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2060 SUPER/PCIe/SSE2 NVIDIA Corporation 4.6.0 NVIDIA 545.84

Blender Version
Broken: version: 4.1.0 Alpha, branch: main, commit date: 2023-11-25 22:37, hash: 1b6cd937ffc8
Worked: n/a

Probably never worked. Also broken in 3.3 which is the version the new curves are introduced.

Short description of error
This is for both EEVEE legacy and EEVEE Next.

In EEVEE shader UV map output for (hair) curves is broken.

UV output of the Texture Coordinate and UV Map nodes does not output UV map properly.

curves_uv_output.png

Test file: hair_curves_texture_test.blend

(From the test file choose the hair curves in the UV row.)

For some reason accessing some attribute using the Attribute node temporarily fixes this. But resetting renderer reverts it back to the erroneous one.

**System Information** Operating system: Windows-10-10.0.19045-SP0 64 Bits Graphics card: NVIDIA GeForce RTX 2060 SUPER/PCIe/SSE2 NVIDIA Corporation 4.6.0 NVIDIA 545.84 **Blender Version** Broken: version: 4.1.0 Alpha, branch: main, commit date: 2023-11-25 22:37, hash: `1b6cd937ffc8` Worked: n/a Probably never worked. Also broken in 3.3 which is the version the new curves are introduced. **Short description of error** This is for both EEVEE legacy and EEVEE Next. In EEVEE shader UV map output for (hair) curves is broken. UV output of the Texture Coordinate and UV Map nodes does not output UV map properly. ![curves_uv_output.png](/attachments/1a3d31a2-ded5-4db6-a0b0-63f99c448137) Test file: [hair_curves_texture_test.blend](/attachments/8ea65b4c-d176-4e77-afcf-f91c98dd0606) (From the test file choose the hair curves in the UV row.) For some reason accessing some attribute using the Attribute node temporarily fixes this. But resetting renderer reverts it back to the erroneous one. <video src="/attachments/1f7cf359-a74f-4c63-bca5-5ff760341f3a" title="curves_uv_output_temp_fix.mp4" controls></video>
Sun Kim added the
Priority
Normal
Type
Report
Status
Needs Triage
labels 2023-11-27 06:07:46 +01:00
Sun Kim changed title from EEVEE: shader UV map output is broken for curves to EEVEE: shader UV map input is broken for hair curves 2023-11-27 06:10:08 +01:00

Thank you for the report.

I can confirm the problem with the UV map output for hair curves in both EEVEE legacy and EEVEE Next.
It's noteworthy that the "Particle Hair" functionality seems to work fine, while the issue appears to be specific to "Hair Curves".

Thank you for the report. I can confirm the problem with the UV map output for hair curves in both EEVEE legacy and EEVEE Next. It's noteworthy that the "Particle Hair" functionality seems to work fine, while the issue appears to be specific to "Hair Curves".
Germano Cavalcante added
Module
EEVEE & Viewport
Status
Confirmed
Interest
EEVEE
and removed
Status
Needs Triage
labels 2023-11-27 19:01:00 +01:00

Getting similar texture binding errors as #115344. Is definitely related but not sure if it is exactly the same path. @Jeroen-Bakker check this one too.

ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a')
ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a')
ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[8]]) -- No texture was bound. (name:'a')
ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a')
ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a')
ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[8]]) -- No texture was bound. (name:'a')
Getting similar texture binding errors as #115344. Is definitely related but not sure if it is exactly the same path. @Jeroen-Bakker check this one too. ``` ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a') ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a') ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[8]]) -- No texture was bound. (name:'a') ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a') ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a') ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'GPU_material_compile' expected texture (TextureSampler) to be bound to location 127 (texture[[8]]) -- No texture was bound. (name:'a') ```
Jeroen Bakker added this to the 4.2 LTS milestone 2024-04-24 10:15:54 +02:00
Jeroen Bakker added this to the EEVEE & Viewport project 2024-04-24 10:15:58 +02:00
Jeroen Bakker self-assigned this 2024-04-24 10:16:02 +02:00
Member

Just for reference the full stack trace and a 'easier' scene for reproduction

ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'MAFur_Material' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a')
0   Blender                             0x00000001012c57e0 BLI_system_backtrace + 52
1   Blender                             0x000000010101c824 _BLI_assert_print_backtrace + 24
2   Blender                             0x0000000108ac4a3c _ZN7blender3gpu10MTLContext23ensure_texture_bindingsEPU34objcproto23MTLRenderCommandEncoder11objc_objectPNS0_18MTLShaderInterfaceEPKNS0_30MTLRenderPipelineStateInstanceE + 2180
3   Blender                             0x0000000108ac35f0 _ZN7blender3gpu10MTLContext28ensure_render_pipeline_stateE16MTLPrimitiveType + 1924
4   Blender                             0x0000000108ab47d8 _ZN7blender3gpu8MTLBatch4bindEj + 2028
5   Blender                             0x0000000108ab0c5c _ZN7blender3gpu8MTLBatch22draw_advanced_indirectEP13GPUStorageBufl + 80
6   Blender                             0x0000000108ab0508 _ZN7blender3gpu8MTLBatch13draw_indirectEP13GPUStorageBufl + 88
7   Blender                             0x0000000108985ac4 _Z23GPU_batch_draw_indirectPN7blender3gpu5BatchEP13GPUStorageBufl + 196
8   Blender                             0x0000000101867744 _ZNK7blender4draw7command9DrawMulti7executeERNS1_14RecordingStateE + 384
9   Blender                             0x000000010188acbc _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 480
10  Blender                             0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208
11  Blender                             0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208
12  Blender                             0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208
13  Blender                             0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208
14  Blender                             0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208
15  Blender                             0x000000010188aa68 _ZN7blender4draw7Manager6submitERNS0_6detail4PassINS0_7command12DrawMultiBufEEERNS0_4ViewE + 412
16  Blender                             0x0000000101984afc _ZN7blender5eevee14ShadowPipeline6renderERNS_4draw4ViewE + 52
17  Blender                             0x00000001019af3f4 _ZN7blender5eevee12ShadowModule8set_viewERNS_4draw4ViewENS_7VecBaseIiLi2EEE + 1748
18  Blender                             0x0000000101989960 _ZN7blender5eevee13DeferredLayer6renderERNS_4draw4ViewES4_RNS2_11FramebufferES6_S6_NS_7VecBaseIiLi2EEERNS0_14RayTraceBufferEP10GPUTexture + 400
19  Blender                             0x000000010198a670 _ZN7blender5eevee16DeferredPipeline6renderERNS_4draw4ViewES4_RNS2_11FramebufferES6_S6_NS_7VecBaseIiLi2EEERNS0_14RayTraceBufferESA_ + 132
20  Blender                             0x00000001019bc14c _ZN7blender5eevee11ShadingView6renderEv + 1772
21  Blender                             0x0000000101953efc _ZN7blender5eevee8MainView6renderEv + 132
22  Blender                             0x0000000101953d44 _ZN7blender5eevee8Instance13render_sampleEv + 264
23  Blender                             0x0000000101954e24 _ZN7blender5eevee8Instance13draw_viewportEv + 32
24  Blender                             0x0000000101934aa0 _ZL16eevee_draw_scenePv + 64
25  Blender                             0x0000000101891e34 _ZL22drw_engines_draw_scenev + 192
26  Blender                             0x000000010189050c _Z23DRW_draw_render_loop_exP9DepsgraphP16RenderEngineTypeP7ARegionP6View3DP11GPUViewportPK8bContext + 1496
27  Blender                             0x000000010188fedc _Z13DRW_draw_viewPK8bContext + 344
28  Blender                             0x0000000103691984 _ZL16view3d_draw_viewPK8bContextP7ARegion + 136
29  Blender                             0x0000000103691848 _Z23view3d_main_region_drawPK8bContextP7ARegion + 64
30  Blender                             0x00000001020e10c8 _Z17ED_region_do_drawP8bContextP7ARegion + 364
31  Blender                             0x00000001013dec00 _ZL24wm_draw_window_offscreenP8bContextP8wmWindowb + 1160
32  Blender                             0x00000001013de030 _ZL14wm_draw_windowP8bContextP8wmWindow + 104
33  Blender                             0x00000001013ddbd4 _Z14wm_draw_updateP8bContext + 192
34  Blender                             0x00000001013d5f20 _Z7WM_mainP8bContext + 60
35  Blender                             0x0000000100012710 _ZL20callback_main_atexitPv + 0
36  dyld                                0x000000018b2820e0 start + 2360
Just for reference the full stack trace and a 'easier' scene for reproduction ``` ERROR (gpu.debug.metal): source/blender/gpu/metal/mtl_context.mm:1690 ensure_texture_bindings: Shader 'MAFur_Material' expected texture (TextureSampler) to be bound to location 127 (texture[[2]]) -- No texture was bound. (name:'a') ``` ``` 0 Blender 0x00000001012c57e0 BLI_system_backtrace + 52 1 Blender 0x000000010101c824 _BLI_assert_print_backtrace + 24 2 Blender 0x0000000108ac4a3c _ZN7blender3gpu10MTLContext23ensure_texture_bindingsEPU34objcproto23MTLRenderCommandEncoder11objc_objectPNS0_18MTLShaderInterfaceEPKNS0_30MTLRenderPipelineStateInstanceE + 2180 3 Blender 0x0000000108ac35f0 _ZN7blender3gpu10MTLContext28ensure_render_pipeline_stateE16MTLPrimitiveType + 1924 4 Blender 0x0000000108ab47d8 _ZN7blender3gpu8MTLBatch4bindEj + 2028 5 Blender 0x0000000108ab0c5c _ZN7blender3gpu8MTLBatch22draw_advanced_indirectEP13GPUStorageBufl + 80 6 Blender 0x0000000108ab0508 _ZN7blender3gpu8MTLBatch13draw_indirectEP13GPUStorageBufl + 88 7 Blender 0x0000000108985ac4 _Z23GPU_batch_draw_indirectPN7blender3gpu5BatchEP13GPUStorageBufl + 196 8 Blender 0x0000000101867744 _ZNK7blender4draw7command9DrawMulti7executeERNS1_14RecordingStateE + 384 9 Blender 0x000000010188acbc _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 480 10 Blender 0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208 11 Blender 0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208 12 Blender 0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208 13 Blender 0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208 14 Blender 0x000000010188abac _ZNK7blender4draw6detail8PassBaseINS0_7command12DrawMultiBufEE6submitERNS3_14RecordingStateE + 208 15 Blender 0x000000010188aa68 _ZN7blender4draw7Manager6submitERNS0_6detail4PassINS0_7command12DrawMultiBufEEERNS0_4ViewE + 412 16 Blender 0x0000000101984afc _ZN7blender5eevee14ShadowPipeline6renderERNS_4draw4ViewE + 52 17 Blender 0x00000001019af3f4 _ZN7blender5eevee12ShadowModule8set_viewERNS_4draw4ViewENS_7VecBaseIiLi2EEE + 1748 18 Blender 0x0000000101989960 _ZN7blender5eevee13DeferredLayer6renderERNS_4draw4ViewES4_RNS2_11FramebufferES6_S6_NS_7VecBaseIiLi2EEERNS0_14RayTraceBufferEP10GPUTexture + 400 19 Blender 0x000000010198a670 _ZN7blender5eevee16DeferredPipeline6renderERNS_4draw4ViewES4_RNS2_11FramebufferES6_S6_NS_7VecBaseIiLi2EEERNS0_14RayTraceBufferESA_ + 132 20 Blender 0x00000001019bc14c _ZN7blender5eevee11ShadingView6renderEv + 1772 21 Blender 0x0000000101953efc _ZN7blender5eevee8MainView6renderEv + 132 22 Blender 0x0000000101953d44 _ZN7blender5eevee8Instance13render_sampleEv + 264 23 Blender 0x0000000101954e24 _ZN7blender5eevee8Instance13draw_viewportEv + 32 24 Blender 0x0000000101934aa0 _ZL16eevee_draw_scenePv + 64 25 Blender 0x0000000101891e34 _ZL22drw_engines_draw_scenev + 192 26 Blender 0x000000010189050c _Z23DRW_draw_render_loop_exP9DepsgraphP16RenderEngineTypeP7ARegionP6View3DP11GPUViewportPK8bContext + 1496 27 Blender 0x000000010188fedc _Z13DRW_draw_viewPK8bContext + 344 28 Blender 0x0000000103691984 _ZL16view3d_draw_viewPK8bContextP7ARegion + 136 29 Blender 0x0000000103691848 _Z23view3d_main_region_drawPK8bContextP7ARegion + 64 30 Blender 0x00000001020e10c8 _Z17ED_region_do_drawP8bContextP7ARegion + 364 31 Blender 0x00000001013dec00 _ZL24wm_draw_window_offscreenP8bContextP8wmWindowb + 1160 32 Blender 0x00000001013de030 _ZL14wm_draw_windowP8bContextP8wmWindow + 104 33 Blender 0x00000001013ddbd4 _Z14wm_draw_updateP8bContext + 192 34 Blender 0x00000001013d5f20 _Z7WM_mainP8bContext + 60 35 Blender 0x0000000100012710 _ZL20callback_main_atexitPv + 0 36 dyld 0x000000018b2820e0 start + 2360 ```
Member

Note that the missing texture bind isn't related to this issue, #121064 fixes the missing texture binding.

Note that the missing texture bind isn't related to this issue, #121064 fixes the missing texture binding.
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 Assignees
4 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#115460
No description provided.