RESOLVED WONTFIX 200056
[WHLSL] A null fragment stage in GPURenderPipelineDescriptor should not fail WHLSL compilation
https://bugs.webkit.org/show_bug.cgi?id=200056
Summary [WHLSL] A null fragment stage in GPURenderPipelineDescriptor should not fail ...
Justin Fan
Reported 2019-07-23 16:17:47 PDT
WebGPU specifies that it is possible to run a render pipeline without a fragment shader, but attempting to do so fails the WHLSL compiler in GPUDevice.createRenderPipeline. Test file, run from LayoutTests/webgpu/whlsl: <!DOCTYPE html> <meta charset=utf-8> <title>WebGPU/WHLSL Playground</title> <body> <script src="js/test-harness.js"></script> <script src="../js/webgpu-functions.js"></script> <script src="../../resources/testharness.js"></script> <script src="../../resources/testharnessreport.js"></script> <script> const whlslSource = ` vertex float4 vertexMain() : SV_Position { return float4(0, 0, 0, 0); } fragment float4 fragmentMain() : SV_Target 0 { return float4(0, 0, 0, 0); } `; let tests = {}; tests["GPURenderPipeline creation succeeds with no errors."] = async device => { const goodModule = device.createShaderModule({ code: whlslSource, isWHLSL: true }); const goodRenderPipelineDescriptor = { vertexStage: { module: goodModule, entryPoint: "vertexMain" }, // fragmentStage: { module: goodModule, entryPoint: "fragmentMain" }, primitiveTopology: "triangle-list", colorStates: [{ format: "bgra8unorm", alphaBlend: {}, colorBlend: {} }], vertexInput: { vertexBuffers: [] } }; device.pushErrorScope("validation"); device.createRenderPipeline(goodRenderPipelineDescriptor); return popNullError(device); }; runTestsWithDevice(tests); </script> </body>
Attachments
Justin Fan
Comment 1 2019-07-23 16:18:25 PDT
Myles C. Maxfield
Comment 2 2020-05-05 00:42:46 PDT
WHLSL is no longer relevant.
Note You need to log in before you can comment on or make changes to this bug.