[webkit-changes] [WebKit/WebKit] f58a43: [WebGPU] logic for primitive restarts is incorrect...

mwyrzykowski noreply at github.com
Wed May 29 09:23:03 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f58a434b02ddcd5a3142f52ee3c6c2506e569fc9
      https://github.com/WebKit/WebKit/commit/f58a434b02ddcd5a3142f52ee3c6c2506e569fc9
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2024-05-29 (Wed, 29 May 2024)

  Changed paths:
    M Source/WebGPU/WebGPU/Device.mm
    M Source/WebGPU/WebGPU/RenderBundleEncoder.mm
    M Source/WebGPU/WebGPU/RenderPassEncoder.h
    M Source/WebGPU/WebGPU/RenderPassEncoder.mm

  Log Message:
  -----------
  [WebGPU] logic for primitive restarts is incorrectly applied to non-strip formats
https://bugs.webkit.org/show_bug.cgi?id=274731
<radar://128769041>

Reviewed by Tadeu Zagallo.

If a non-strip index buffer was used in a vertex buffer call with
2^16 - 1 vertices, we would incorrectly zero-out the draw call, thinking
0xffff was the primitive restart value.

Technically also applies to uint32_t index buffers, but we don't allow
creating a vertex buffer with 2^32 - 1 vertices so that correction is applied
in this patch here but not possible to encounter in practice.

* Source/WebGPU/WebGPU/Device.mm:
* Source/WebGPU/WebGPU/RenderPassEncoder.h:
* Source/WebGPU/WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::clampIndexBufferToValidValues):
(WebGPU::RenderPassEncoder::clampIndirectIndexBufferToValidValues):

* Source/WebGPU/WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::drawIndexedIndirect):

Canonical link: https://commits.webkit.org/279444@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list