mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-12-08 21:26:17 +00:00
The WebGPU spec. `createBindGroup` [states][spec-ref] (emphasis mine): > Device timeline initialization steps: > > … > > 2. If any of the following conditions are unsatisfied generate a > validation error, invalidate _bindGroup_ and return. > > … > > For each `GPUBindGroupEntry` _bindingDescriptor_ in > _descriptor_.`entries`: > > - … > > - If the defined binding member for _layoutBinding_ is: > > - … > > - `buffer` > > - … > > - If _layoutBinding_.`buffer`.`type` is > > - … > > - `"storage"` or `"read-only-storage"` > > - … > > - effective buffer binding size(_bufferBinding_) is a multiple of 4. [spec-ref]: https://www.w3.org/TR/webgpu/#dom-gpudevice-createbindgroup We were not implementing this check of effective buffer binding size. Check that it's a multiple of 4, including `webgpu:api,validation,createBindGroup:buffer,effective_buffer_binding_size:*` that this is now implemented as intended.
127 lines
11 KiB
Plaintext
127 lines
11 KiB
Plaintext
unittests:*
|
|
webgpu:api,operation,command_buffer,basic:*
|
|
webgpu:api,operation,command_buffer,copyBufferToBuffer:*
|
|
fails-if(vulkan) webgpu:api,operation,command_buffer,copyTextureToTexture:copy_depth_stencil:format="depth24plus"
|
|
fails-if(vulkan) webgpu:api,operation,command_buffer,copyTextureToTexture:copy_depth_stencil:format="depth24plus-stencil8"
|
|
fails-if(vulkan) webgpu:api,operation,command_buffer,copyTextureToTexture:copy_depth_stencil:format="depth16unorm"
|
|
fails-if(vulkan) webgpu:api,operation,command_buffer,copyTextureToTexture:copy_depth_stencil:format="depth32float"
|
|
fails-if(vulkan) webgpu:api,operation,command_buffer,copyTextureToTexture:copy_depth_stencil:format="depth32float-stencil8"
|
|
webgpu:api,operation,command_buffer,copyTextureToTexture:copy_depth_stencil:format="stencil8"
|
|
// Fails with OOM in CI.
|
|
fails-if(dx12) webgpu:api,operation,command_buffer,image_copy:offsets_and_sizes:*
|
|
webgpu:api,operation,compute,basic:memcpy:*
|
|
//FAIL: webgpu:api,operation,compute,basic:large_dispatch:*
|
|
webgpu:api,operation,compute_pipeline,overrides:*
|
|
webgpu:api,operation,device,lost:*
|
|
// This is all the storeOp tests, but some of them fail if run in a single invocation.
|
|
// https://github.com/gfx-rs/wgpu/issues/8021
|
|
webgpu:api,operation,render_pass,storeOp:render_pass_store_op,color_attachment_with_depth_stencil_attachment:*
|
|
webgpu:api,operation,render_pass,storeOp:render_pass_store_op,color_attachment_only:*
|
|
webgpu:api,operation,render_pass,storeOp:render_pass_store_op,multiple_color_attachments:*
|
|
webgpu:api,operation,render_pass,storeOp:render_pass_store_op,depth_stencil_attachment_only:*
|
|
webgpu:api,validation,createBindGroup:buffer,effective_buffer_binding_size:*
|
|
webgpu:api,validation,encoding,beginComputePass:*
|
|
webgpu:api,validation,encoding,beginRenderPass:*
|
|
webgpu:api,validation,encoding,cmds,clearBuffer:*
|
|
webgpu:api,validation,encoding,cmds,compute_pass:set_pipeline:*
|
|
webgpu:api,validation,encoding,cmds,compute_pass:dispatch_sizes:*
|
|
webgpu:api,validation,encoding,cmds,copyTextureToTexture:*
|
|
webgpu:api,validation,encoding,cmds,debug:debug_group_balanced:encoderType="non-pass"
|
|
webgpu:api,validation,encoding,cmds,debug:debug_group_balanced:encoderType="compute%20pass"
|
|
webgpu:api,validation,encoding,cmds,debug:debug_group_balanced:encoderType="render%20pass"
|
|
//FAIL: webgpu:api,validation,encoding,cmds,debug:debug_group_balanced:encoderType="render%20bundle"
|
|
// https://github.com/gfx-rs/wgpu/issues/8039
|
|
webgpu:api,validation,encoding,cmds,debug:debug_group:*
|
|
webgpu:api,validation,encoding,cmds,debug:debug_marker:*
|
|
webgpu:api,validation,encoding,cmds,index_access:*
|
|
//FAIL: webgpu:api,validation,encoding,cmds,render,draw:*
|
|
webgpu:api,validation,encoding,cmds,render,draw:index_buffer_OOB:*
|
|
webgpu:api,validation,encoding,cmds,render,draw:unused_buffer_bound:*
|
|
webgpu:api,validation,encoding,cmds,render,dynamic_state:*
|
|
webgpu:api,validation,encoding,cmds,render,setIndexBuffer:*
|
|
webgpu:api,validation,encoding,cmds,render,setVertexBuffer:*
|
|
webgpu:api,validation,encoding,encoder_state:*
|
|
webgpu:api,validation,encoding,encoder_open_state:non_pass_commands:*
|
|
webgpu:api,validation,encoding,encoder_open_state:render_pass_commands:*
|
|
//FAIL: webgpu:api,validation,encoding,encoder_open_state:render_bundle_commands:*
|
|
// https://github.com/gfx-rs/wgpu/issues/7857
|
|
webgpu:api,validation,encoding,encoder_open_state:compute_pass_commands:*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_binding_mismatch:encoderType="compute%20pass";*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_binding_mismatch:encoderType="render%20pass";*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_resource_type_mismatch:encoderType="compute%20pass";*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_resource_type_mismatch:encoderType="render%20pass";*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_visibility_mismatch:encoderType="compute%20pass";*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_visibility_mismatch:encoderType="render%20pass";*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bind_groups_and_pipeline_layout_mismatch:encoderType="compute%20pass";*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bind_groups_and_pipeline_layout_mismatch:encoderType="render%20pass";*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:buffer_binding,render_pipeline:*
|
|
webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:sampler_binding,render_pipeline:*
|
|
webgpu:api,validation,encoding,queries,general:occlusion_query,query_index:*
|
|
webgpu:api,validation,image_copy,buffer_texture_copies:depth_stencil_format,copy_usage_and_aspect:*
|
|
webgpu:api,validation,image_copy,buffer_texture_copies:depth_stencil_format,copy_buffer_size:*
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:depth_stencil_format,copy_buffer_offset:format="depth32float";aspect="depth-only";copyType="CopyT2B"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:depth_stencil_format,copy_buffer_offset:format="depth24plus-stencil8";aspect="stencil-only";copyType="CopyB2T"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:depth_stencil_format,copy_buffer_offset:format="depth24plus-stencil8";aspect="stencil-only";copyType="CopyT2B"
|
|
//mix of PASS and FAIL: other subtests of copy_buffer_offset. Related bugs:
|
|
// https://github.com/gfx-rs/wgpu/issues/7946, https://github.com/gfx-rs/wgpu/issues/7947
|
|
webgpu:api,validation,image_copy,buffer_texture_copies:sample_count:*
|
|
webgpu:api,validation,image_copy,buffer_texture_copies:texture_buffer_usages:*
|
|
webgpu:api,validation,image_copy,buffer_texture_copies:device_mismatch:*
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="rgba8unorm";copyType="CopyB2T";dimension="2d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="rgba8unorm";copyType="CopyT2B";dimension="2d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="rgba8unorm";copyType="CopyB2T";dimension="3d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="rgba8unorm";copyType="CopyT2B";dimension="3d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="bgra8unorm";copyType="CopyB2T";dimension="2d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="bgra8unorm";copyType="CopyT2B";dimension="2d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="astc-4x4-unorm";copyType="CopyT2B";dimension="2d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="astc-4x4-unorm";copyType="CopyB2T";dimension="2d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="astc-4x4-unorm";copyType="CopyT2B";dimension="3d"
|
|
fails-if(dx12) webgpu:api,validation,image_copy,buffer_texture_copies:offset_and_bytesPerRow:format="astc-4x4-unorm";copyType="CopyB2T";dimension="3d"
|
|
//mix of PASS and FAIL: other subtests of offset_and_bytesPerRow. Related bugs:
|
|
// https://github.com/gfx-rs/wgpu/issues/7946, https://github.com/gfx-rs/wgpu/issues/7947
|
|
webgpu:api,validation,image_copy,layout_related:copy_end_overflows_u64:*
|
|
// Fails with OOM in CI.
|
|
fails-if(dx12) webgpu:api,validation,image_copy,layout_related:offset_alignment:*
|
|
webgpu:api,validation,image_copy,texture_related:format:dimension="1d";*
|
|
webgpu:api,validation,queue,submit:command_buffer,*
|
|
webgpu:api,validation,render_pass,render_pass_descriptor:attachments,*
|
|
webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,*
|
|
webgpu:api,validation,texture,rg11b10ufloat_renderable:*
|
|
webgpu:api,operation,render_pipeline,overrides:*
|
|
webgpu:api,operation,rendering,basic:clear:*
|
|
webgpu:api,operation,rendering,basic:fullscreen_quad:*
|
|
//FAIL: webgpu:api,operation,rendering,basic:large_draw:*
|
|
webgpu:api,operation,rendering,color_target_state:blending,GPUBlendComponent:*
|
|
webgpu:api,operation,rendering,color_target_state:blending,formats:*
|
|
webgpu:api,operation,rendering,color_target_state:blend_constant,setting:*
|
|
webgpu:api,operation,rendering,depth:*
|
|
webgpu:api,operation,rendering,draw:*
|
|
webgpu:api,operation,shader_module,compilation_info:*
|
|
// Likely due to https://github.com/gfx-rs/wgpu/issues/7357.
|
|
fails-if(metal) webgpu:api,operation,uncapturederror:iff_uncaptured:*
|
|
//FAIL: webgpu:shader,execution,expression,call,builtin,select:*
|
|
// - Fails with `const`/abstract int cases on all platforms because of <https://github.com/gfx-rs/wgpu/issues/4507>.
|
|
// - Fails with `vec3` & `f16` cases on macOS because of <https://github.com/gfx-rs/wgpu/issues/5262>.
|
|
//FAIL: webgpu:api,operation,uncapturederror:onuncapturederror_order_wrt_addEventListener
|
|
// There are also two unimplemented SKIPs in uncapturederror not enumerated here.
|
|
webgpu:api,validation,encoding,queries,general:occlusion_query,query_type:*
|
|
webgpu:shader,execution,expression,call,builtin,textureSample:sampled_1d_coords:*
|
|
webgpu:shader,execution,expression,call,builtin,textureSampleBaseClampToEdge:2d_coords:stage="c";textureType="texture_2d<f32>";*
|
|
webgpu:shader,execution,flow_control,return:*
|
|
// Many other vertex_buffer_access subtests also passing, but there are too many to enumerate.
|
|
// Fails on Metal in CI only, not when running locally.
|
|
fails-if(metal) webgpu:shader,execution,robust_access_vertex:vertex_buffer_access:indexed=true;indirect=false;drawCallTestParameter="baseVertex";type="float32x4";additionalBuffers=4;partialLastNumber=false;offsetVertexBuffer=true
|
|
webgpu:shader,validation,expression,call,builtin,max:values:*
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="break"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="break_if"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="continue"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="for3"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="for4"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="for5"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="loop4"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="loop5"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="loop6"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="loop8"
|
|
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="switch1"
|
|
//FAIL: 9 invalid_statements subtests due to https://github.com/gfx-rs/wgpu/issues/7733
|