Bug 230618

Summary: WebGL first clear is lost when scissor is used for preserveDrawingBuffer:true in some conditions
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: WebGLAssignee: Kimmo Kinnunen <kkinnunen>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, ews-watchlist, kbr, kkinnunen, kondapallykalyan, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=229989
https://bugs.webkit.org/show_bug.cgi?id=230613
Attachments:
Description Flags
Patch
none
Patch
none
Patch for landing none

Description Kimmo Kinnunen 2021-09-22 06:12:41 PDT
WebGL first clear is lost when scissor is used for preserveDrawingBuffer:true in some conditions

Possibly
        c.enable(c.SCISSOR_TEST);
       
        c.clearColor(0., 1., 0., 0.5);
        c.scissor(0, 0, 300, 50);
        c.clear(c.COLOR_BUFFER_BIT);
        
        c.scissor(125, 50, 50, 50);
        c.clearColor(0., 1., 0., 1.);
        c.clear(c.COLOR_BUFFER_BIT);
        c.scissor(0, 0, 300, 50);
        c.clear(c.COLOR_BUFFER_BIT);
Comment 1 Kenneth Russell 2021-09-22 17:03:04 PDT
Great find - let's try to write a conformance test for this once it's understood.
Comment 2 Radar WebKit Bug Importer 2021-09-29 06:13:13 PDT
<rdar://problem/83668270>
Comment 3 Kimmo Kinnunen 2021-10-01 06:49:18 PDT
Created attachment 439850 [details]
Patch
Comment 4 Kimmo Kinnunen 2021-10-01 06:54:56 PDT
Created attachment 439852 [details]
Patch
Comment 5 Dean Jackson 2021-10-01 13:29:26 PDT
Comment on attachment 439852 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=439852&action=review

> LayoutTests/ChangeLog:9
> +        done-scissor

?
Comment 6 Kimmo Kinnunen 2021-10-02 10:59:38 PDT
Created attachment 439969 [details]
Patch for landing
Comment 7 Kenneth Russell 2021-10-04 16:27:07 PDT
I defer to Dean's review, but have filed:

Add test for scissor affecting compositing
https://github.com/KhronosGroup/WebGL/issues/3337

to make sure this doesn't get lost, and is handled properly in other browsers.
Comment 8 EWS 2021-10-12 05:36:18 PDT
Committed r283979 (242825@main): <https://commits.webkit.org/242825@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439969 [details].