Adapter Dx12 AdapterInfo { name: "Microsoft Basic Render Driver", vendor: 5140, device: 140, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Dx12 } List 0x13a42321010 buffer transitions 0x13a42320d20: usage BufferUses(0x0)..BufferUses(COPY_DST) List 0x13a42321010 buffer transitions 0x13a42320d20: usage BufferUses(COPY_DST)..BufferUses(COPY_SRC) configuring surface with SurfaceConfiguration { usage: TextureUsages(RENDER_ATTACHMENT), format: Bgra8UnormSrgb, width: 1920, height: 1080, present_mode: Fifo, alpha_mode: Auto, view_formats: [] } Automatically choosing alpha mode by rule Auto. Chose Opaque Created texture Valid((0, 1, Dx12)) with TextureDescriptor { label: Some("Bottle Texture"), size: Extent3d { width: 1920, height: 1080, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 4, dimension: D2, format: Bgra8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING | RENDER_ATTACHMENT), view_formats: [] } tex 0: insert start TextureUses(UNINITIALIZED) Create view for texture (0, 1, Dx12) filters usages to TextureUses(RESOURCE | COLOR_TARGET) texture (0, 1, Dx12) is dropped bottle version: git-78933e7-dev WebGPU v0.16.1.1 over D3D12 Microsoft Basic Render Driver (IntegratedGPU) - driver src\gpu\ShaderModule.sc:20:44: 305:usize Generated by 458752 version 10400 Capability [2] MemoryModel [3] EntryPoint [9] Name [5] Name [4] Name [5] MemberName [5] Name [5] Name [5] Decorate [4] ?: ArrayStride Decorate [4] ?: ArrayStride Decorate [4] VertexIndex: BuiltIn Decorate [4] vcolor: Location Decorate [4] ?: ArrayStride Decorate [3] InputData: Block Unknown decoration Block MemberDecorate [5] data: Offset Decorate [4] input-data: Binding Decorate [4] input-data: DescriptorSet Decorate [4] Position: BuiltIn TypeVoid [2] TypeFunction [3] TypeFloat [3] TypeVector [4] TypeInt [4] Constant [4] TypeArray [4] TypePointer [4] Constant [4] Constant [4] ConstantComposite [6] Constant [4] ConstantComposite [6] ConstantComposite [6] ConstantComposite [6] TypeVector [4] TypeArray [4] TypePointer [4] Constant [4] ConstantComposite [7] ConstantComposite [7] ConstantComposite [7] ConstantComposite [6] TypePointer [4] TypePointer [4] TypePointer [4] TypeRuntimeArray [3] TypeStruct [3] TypePointer [4] TypePointer [4] Constant [4] TypePointer [4] Variable [4] Variable [4] Variable [4] Variable [4] Function [5] Label Variable [4] Variable [4] Store [3] Store [3] Load [4] AccessChain [5] looking up expr 40 looking up index expr 41 looking up type 8 Load [4] Store [3] AccessChain [5] looking up expr 4 looking up index expr 36 looking up type 6 Load [4] AccessChain [5] looking up expr 44 looking up index expr 45 looking up type 9 Load [4] Store [3] Return [1] FunctionEnd Patching... var GlobalVariable { name: Some("VertexIndex"), space: Private, binding: None, ty: [3], init: None } var GlobalVariable { name: Some("vcolor"), space: Private, binding: None, ty: [6], init: None } var GlobalVariable { name: Some("input-data"), space: Storage { access: LOAD | STORE }, binding: Some(ResourceBinding { group: 0, binding: 0 }), ty: [13], init: None } var GlobalVariable { name: Some("Position"), space: Private, binding: None, ty: [6], init: Some([19]) } var LocalVariable { name: None, ty: [4], init: None } var LocalVariable { name: None, ty: [7], init: None } src\gpu\ShaderModule.sc:20:44: 80:usize Generated by 458752 version 10400 Capability [2] MemoryModel [3] EntryPoint [7] ExecutionMode [3] Name [4] Name [4] Decorate [4] vcolor: Location Decorate [4] fcolor: Location TypeVoid [2] TypeFunction [3] TypeFloat [3] TypeVector [4] TypePointer [4] TypePointer [4] Variable [4] Variable [4] Function [5] Label Load [4] Store [3] Return [1] FunctionEnd Patching... var GlobalVariable { name: Some("vcolor"), space: Private, binding: None, ty: [2], init: None } var GlobalVariable { name: Some("fcolor"), space: Private, binding: None, ty: [2], init: None } Creating Root Signature '' Param[0] = views (vis = ShaderStages(VERTEX), count = 1) Param[1] = special [ RootParameter { visibility: 1, kind: Table( [ DescriptorRange { range_type: 0, num: 1, register_space: 0, base_register: 0, table_offset: 4294967295, }, ], ), }, RootParameter { visibility: 0, kind: Constants { binding: Binding { space: 0, register: 0, }, num: 3, }, }, ] Bindings { ResourceBinding { group: 0, binding: 0, }: BindTarget { space: 0, register: 0, binding_array_size: None, }, } raw = WeakPtr( ptr: 0x13a42342210 ) Naga generated shader for "main" at Vertex: struct NagaConstants { int base_vertex; int base_instance; uint other; }; ConstantBuffer _NagaConstants: register(b0); struct type_16 { float4 member : LOC0; float4 member_1 : SV_Position; }; typedef float3 ret_Constructarray3_float3_[3]; ret_Constructarray3_float3_ Constructarray3_float3_(float3 arg0, float3 arg1, float3 arg2) { float3 ret[3] = { arg0, arg1, arg2 }; return ret; } typedef float4 ret_Constructarray3_float4_[3]; ret_Constructarray3_float4_ Constructarray3_float4_(float4 arg0, float4 arg1, float4 arg2) { float4 ret[3] = { arg0, arg1, arg2 }; return ret; } static int VertexIndex_1 = (int)0; static float4 vcolor = (float4)0; RWByteAddressBuffer inputdata : register(u0); static float4 Position = float4(0.0, 0.0, 0.0, 1.0); struct VertexOutput_main { float4 member : LOC0; float4 member_1 : SV_Position; }; void function() { float3 local[3] = (float3[3])0; float4 local_1[3] = (float4[3])0; local = Constructarray3_float3_(float3(0.0, 0.5, 0.0), float3(-0.5, -0.5, 0.0), float3(0.5, -0.5, 0.0)); local_1 = Constructarray3_float4_(float4(1.0, 0.0, 0.0, 1.0), float4(0.0, 1.0, 0.0, 1.0), float4(0.0, 0.0, 1.0, 1.0)); int _expr24 = VertexIndex_1; float4 _expr26 = local_1[_expr24]; vcolor = _expr26; int _expr28 = VertexIndex_1; float4 _expr30 = asfloat(inputdata.Load4(_expr28*16+0)); Position = _expr30; return; } type_16 Constructtype_16(float4 arg0, float4 arg1) { type_16 ret = (type_16)0; ret.member = arg0; ret.member_1 = arg1; return ret; } VertexOutput_main main(uint VertexIndex : SV_VertexID) { VertexIndex_1 = int((_NagaConstants.base_vertex + VertexIndex)); function(); float4 _expr5 = vcolor; float4 _expr6 = Position; const type_16 type_16_ = Constructtype_16(_expr5, _expr6); const VertexOutput_main type_16_1 = { type_16_.member, type_16_.member_1 }; return type_16_1; } Naga generated shader for "main" at Fragment: struct NagaConstants { int base_vertex; int base_instance; uint other; }; ConstantBuffer _NagaConstants: register(b0); static float4 vcolor_1 = (float4)0; static float4 fcolor = (float4)0; struct FragmentInput_main { float4 vcolor_2 : LOC0; }; void function() { float4 _expr6 = vcolor_1; fcolor = _expr6; return; } float4 main(FragmentInput_main fragmentinput_main) : SV_Target0 { float4 vcolor = fragmentinput_main.vcolor_2; vcolor_1 = vcolor; function(); float4 _expr3 = fcolor; return _expr3; } Shader translation error for stage ShaderStages(VERTEX | FRAGMENT): invalid argument Please report it to https://github.com/gfx-rs/naga Validation Error Caused by: In wgpuDeviceCreateRenderPipeline note: label = `Bottle Render Pipeline` Internal error in ShaderStages(VERTEX | FRAGMENT) shader: invalid argument shader module (1, 1, Dx12) is dropped shader module (0, 1, Dx12) is dropped tex 1: insert start TextureUses(UNINITIALIZED) Create view for texture (1, 1, Dx12) filters usages to TextureUses(COLOR_TARGET) texture (1, 1, Dx12) is dropped Encoding render pass begin in command buffer (0, 1, Dx12) Merging renderpass into cmd_buf (0, 1, Dx12) tex 0: insert start TextureUses(COLOR_TARGET) tex 1: insert start TextureUses(COLOR_TARGET) tex 0: insert start TextureUses(COLOR_TARGET) tex 1: insert start TextureUses(COLOR_TARGET) List 0x13a42347740 buffer transitions List 0x13a42347740 texture transitions Encoding render pass begin in command buffer (0, 1, Dx12) Validation Error Caused by: In wgpuRenderPassEncoderEnd note: encoder = `` In a set_pipeline command note: render pipeline = `` Render pipeline (0, 1, Dx12) is invalid Validation Error Caused by: In wgpuCommandEncoderFinish Command encoder is invalid Device after submission 1 Removing swapchain texture Valid((1, 1, Dx12)) from the device tracker No work has been submitted for this frame Presented. End of Frame tex 1: insert start TextureUses(UNINITIALIZED) Create view for texture (1, 2, Dx12) filters usages to TextureUses(COLOR_TARGET) texture (1, 2, Dx12) is dropped Encoding render pass begin in command buffer (0, 2, Dx12) Merging renderpass into cmd_buf (0, 2, Dx12) tex 0: insert start TextureUses(COLOR_TARGET) tex 1: insert start TextureUses(COLOR_TARGET) tex 0: insert start TextureUses(COLOR_TARGET) tex 1: insert start TextureUses(COLOR_TARGET) List 0x13a42345e20 buffer transitions List 0x13a42345e20 texture transitions Encoding render pass begin in command buffer (0, 2, Dx12) Validation Error Caused by: In wgpuRenderPassEncoderEnd note: encoder = `` In a set_pipeline command note: render pipeline = `` Render pipeline (0, 1, Dx12) is invalid Validation Error Caused by: In wgpuCommandEncoderFinish Command encoder is invalid Device after submission 2 Removing swapchain texture Valid((1, 2, Dx12)) from the device tracker No work has been submitted for this frame Presented. End of Frame -- eo -- bootstrap . demo.gpu.hello-triangle