GPU subdivision: Crash on adding subdivision surface modifier #97449

Closed
opened 2022-04-19 15:03:52 +02:00 by Pratik Borhade · 19 comments
Member

System Information
Operating system: Windows-10-10.0.19043-SP0 64 Bits
Graphics card: Intel(R) UHD Graphics 620 Intel 4.5.0 - Build 30.0.101.1660

Blender Version
Broken: version: 976c91cd77
Worked: 5035fbdd23

Caused by 374cb32d4a

Short description of error
Crash occurs at least on my intel integrated GPU after adding subdivision modifier

Exact steps for others to reproduce the error

  • Open default blender scene
  • Enable GPU subdivision
  • Add subdivision surface modifier on default cube
|
    7 | #define GPU_OPENGL
|                                                                                                                                                                                                             ^
| Error: 'array' : failed to expand macro```

```lines=10
Stack trace:
blender.exe         :0x00007FF6C4B95BF0  GPU_shader_bind C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\gpu\intern\gpu_shader.cc:499
blender.exe         :0x00007FF6C41FF270  draw_subdiv_extract_pos_nor C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_impl_subdivision.cc:1256
blender.exe         :0x00007FF6C427EEA0  blender::draw::extract_pos_nor_init_subdiv C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\mesh_extractors\extract_mesh_vbo_pos_nor.cc:232
blender.exe         :0x00007FF6C42377D0  blender::draw::mesh_buffer_cache_create_requested_subdiv C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_extract_mesh.cc:872
blender.exe         :0x00007FF6C41FCFA0  draw_subdiv_create_requested_buffers C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_impl_subdivision.cc:1971
blender.exe         :0x00007FF6C41FDE50  DRW_create_subdivision C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_impl_subdivision.cc:2124
blender.exe         :0x00007FF6C421EEA0  DRW_mesh_batch_cache_create_requested C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_impl_mesh.c:2178
blender.exe         :0x00007FF6C420E340  drw_batch_cache_generate_requested C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache.c:3358
blender.exe         :0x00007FF6C41FB160  drw_engines_cache_populate C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_manager.c:1073
blender.exe         :0x00007FF6C41F79B0  DRW_draw_render_loop_ex C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_manager.c:1670
blender.exe         :0x00007FF6C41F8AA0  DRW_draw_view C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_manager.c:1592
blender.exe         :0x00007FF6C48A7B40  view3d_main_region_draw C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\editors\space_view3d\view3d_draw.c:1564
blender.exe         :0x00007FF6C3DA8480  ED_region_do_draw C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\editors\screen\area.c:547
blender.exe         :0x00007FF6C3D8FD60  wm_draw_window_offscreen C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\windowmanager\intern\wm_draw.c:730
blender.exe         :0x00007FF6C3D8FBB0  wm_draw_window C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\windowmanager\intern\wm_draw.c:884
blender.exe         :0x00007FF6C3D8F6E0  wm_draw_update C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\windowmanager\intern\wm_draw.c:1087
blender.exe         :0x00007FF6C3D69C20  WM_main C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\windowmanager\intern\wm.c:630
blender.exe         :0x00007FF6C3D653A0  main C:\Users\Pratik\Desktop\BlenderOSP\blender\source\creator\creator.c:552
blender.exe         :0x00007FF6C4DA8784  __scrt_common_main_seh d:\a01\_work\12\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
KERNEL32.DLL        :0x00007FF93FD27020  BaseThreadInitThunk
ntdll.dll           :0x00007FF941D02630  RtlUserThreadStart```
**System Information** Operating system: Windows-10-10.0.19043-SP0 64 Bits Graphics card: Intel(R) UHD Graphics 620 Intel 4.5.0 - Build 30.0.101.1660 **Blender Version** Broken: version: 976c91cd770f Worked: 5035fbdd23ba Caused by 374cb32d4a **Short description of error** Crash occurs at least on my intel integrated GPU after adding subdivision modifier **Exact steps for others to reproduce the error** - Open default blender scene - Enable GPU subdivision - Add subdivision surface modifier on default cube ```ERROR (gpu.shader): subdiv patch evaluation ComputeShader: ``` | ``` 7 | #define GPU_OPENGL ``` | ^ | Error: 'array' : failed to expand macro``` ``` ```lines=10 Stack trace: blender.exe :0x00007FF6C4B95BF0 GPU_shader_bind C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\gpu\intern\gpu_shader.cc:499 blender.exe :0x00007FF6C41FF270 draw_subdiv_extract_pos_nor C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_impl_subdivision.cc:1256 blender.exe :0x00007FF6C427EEA0 blender::draw::extract_pos_nor_init_subdiv C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\mesh_extractors\extract_mesh_vbo_pos_nor.cc:232 blender.exe :0x00007FF6C42377D0 blender::draw::mesh_buffer_cache_create_requested_subdiv C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_extract_mesh.cc:872 blender.exe :0x00007FF6C41FCFA0 draw_subdiv_create_requested_buffers C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_impl_subdivision.cc:1971 blender.exe :0x00007FF6C41FDE50 DRW_create_subdivision C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_impl_subdivision.cc:2124 blender.exe :0x00007FF6C421EEA0 DRW_mesh_batch_cache_create_requested C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache_impl_mesh.c:2178 blender.exe :0x00007FF6C420E340 drw_batch_cache_generate_requested C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_cache.c:3358 blender.exe :0x00007FF6C41FB160 drw_engines_cache_populate C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_manager.c:1073 blender.exe :0x00007FF6C41F79B0 DRW_draw_render_loop_ex C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_manager.c:1670 blender.exe :0x00007FF6C41F8AA0 DRW_draw_view C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\draw\intern\draw_manager.c:1592 blender.exe :0x00007FF6C48A7B40 view3d_main_region_draw C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\editors\space_view3d\view3d_draw.c:1564 blender.exe :0x00007FF6C3DA8480 ED_region_do_draw C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\editors\screen\area.c:547 blender.exe :0x00007FF6C3D8FD60 wm_draw_window_offscreen C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\windowmanager\intern\wm_draw.c:730 blender.exe :0x00007FF6C3D8FBB0 wm_draw_window C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\windowmanager\intern\wm_draw.c:884 blender.exe :0x00007FF6C3D8F6E0 wm_draw_update C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\windowmanager\intern\wm_draw.c:1087 blender.exe :0x00007FF6C3D69C20 WM_main C:\Users\Pratik\Desktop\BlenderOSP\blender\source\blender\windowmanager\intern\wm.c:630 blender.exe :0x00007FF6C3D653A0 main C:\Users\Pratik\Desktop\BlenderOSP\blender\source\creator\creator.c:552 blender.exe :0x00007FF6C4DA8784 __scrt_common_main_seh d:\a01\_work\12\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288 KERNEL32.DLL :0x00007FF93FD27020 BaseThreadInitThunk ntdll.dll :0x00007FF941D02630 RtlUserThreadStart```
Author
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123

#96678 was marked as duplicate of this issue

#96678 was marked as duplicate of this issue
Author
Member

Added subscriber: @kevindietrich

Added subscriber: @kevindietrich
Author
Member

I'll find the exact commit tonight :)

I'll find the exact commit tonight :)
Author
Member

Bisecting points me to 374cb32d4a
Looks like we already have a similar report #96678
Will double check with Stefan before merging the report

Bisecting points me to 374cb32d4a Looks like we already have a similar report #96678 Will double check with Stefan before merging the report
Author
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Member

Added subscriber: @fclem

Added subscriber: @fclem
Author
Member

Bisecting points me to 374cb32d4a

@fclem , can you check?

> Bisecting points me to 374cb32d4a @fclem , can you check?
Clément Foucault self-assigned this 2022-04-20 14:42:23 +02:00

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'

Heh I forgot to add the task to the commit message. Should be fixed by f5191b8760.

Heh I forgot to add the task to the commit message. Should be fixed by f5191b8760.
Added subscribers: @Stefan_Werner, @Memento, @mano-wii, @Sirgienko
Author
Member

@fclem, still I can reproduce crash on current master 0385e2f1f90ff10c75773cc22125292a82cddaa6

@fclem, still I can reproduce crash on current master `0385e2f1f90ff10c75773cc22125292a82cddaa6`
Author
Member

Changed status from 'Resolved' to: 'Confirmed'

Changed status from 'Resolved' to: 'Confirmed'
Author
Member

Will dare to reopen the report :)

Will dare to reopen the report :)

It looks like that the source code from OpenSubDiv (obtained via GLSLPatchShaderSource::GetPatchBasisShaderSource()) also uses array in the function OsdPatchArrayInit.

It looks like that the source code from OpenSubDiv (obtained via `GLSLPatchShaderSource::GetPatchBasisShaderSource()`) also uses `array` in the function `OsdPatchArrayInit`.

Ok will find another fix with a better syntax.

Ok will find another fix with a better syntax.

This issue was referenced by b67ccc333a

This issue was referenced by b67ccc333a5525f76f4e3adbb5b8115d5bba3c1a

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Author
Member

yup, Fixed. Thanks @fclem :)

yup, Fixed. Thanks @fclem :)
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
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#97449
No description provided.