Closed Bug 1537668 Opened 5 years ago Closed 5 years ago

Refactor how clip task indices are passed to shaders.

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: gw, Assigned: gw)

Details

Attachments

(1 file)

No description provided.
Assignee: nobody → gwatson

This patch shouldn't have any functional effect. It's motivated by
some changes needed to implement clip masks in pixel local storage,
but these are also general improvements that stand alone. Specifically:

  • Remove clip_task_index from the global PrimitiveHeader struct.
    In most cases, the clip task is supplied in the BrushInstance
    structure, so it makes no sense to have this as a common field,
    where it is generally unused. Instead, there is now an extra
    'user data' field available in the PrimitiveHeader. Non-brush
    shaders (text_run and split_composite) use that extra field to
    store the clip task address, while the brush shaders gain an extra
    (currently unused) user data field.
  • In turn, this means there is no need to unconditionally try
    and retrieve the first clip task address for a primitive
    during batching. This was previously used to initialize the
    PrimitiveHeader structure.
Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e1669162b7ab
Refactor how clip task indices are passed to shaders. r=kvark
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: