GPUCompilationMessage: lineNum property

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The lineNum read-only property of the GPUCompilationMessage interface is a number representing the line number in the shader code that the message corresponds to.

Value

A number.

Note that:

  • If the message corresponds to a substring, lineNum refers to the line number that the substring begins on.
  • If the message does not correspond to a specific line of code (perhaps it refers to the whole of the shader code), lineNum will be 0.
  • Values are one-based — a value of 1 refers to the first line of code.
  • Lines are delimited by line breaks. In WGSL, a specific list of characters is defined as line breaks.

Examples

js
  // ...
  const shaderModule = device.createShaderModule({
    code: shaders,
  });

  const shaderInfo = await shaderModule.getCompilationInfo();
  const firstMessage = shaderInfo.messages[0];
  console.log(firstMessage.lineNum);
  // ...
}

See the main GPUCompilationInfo page for a more detailed example.

Specifications

Specification
WebGPU
# dom-gpucompilationmessage-linenum

Browser compatibility

BCD tables only load in the browser

See also