Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make all render task data structs contain a common base field. #2052

Merged
merged 2 commits into from Nov 20, 2017

Commits on Nov 19, 2017

  1. Make all render task data structs contain a common base field.

    Some render tasks can have a source task of different kinds. The
    most common example is that the source task to a blur task can
    be any of (a) a picture (b) an alpha task (c) a downscaling task.
    
    To ensure this works correctly, we separate render task data into
    a common base, followed by a small amount of task-specific data.
    
    The blur tasks now only fetch the common task data, which is all
    that they require.
    
    This fixes a bug (that I don't think is actually occurring in any
    tests), and is also prep work for the next step. Now that everything
    is using Picture internally, we can remove the AlphaBatchTask
    completely. This will allow us to start converting more primitives
    over to use a smaller subset of brush shaders, which will alow us
    to start doing the primitive segmentation and also get better
    batching results.
    gw3583 committed Nov 19, 2017
  2. Remove AlphaBatchTask, and introduce start of raster mode.

    Most of the difficult work related to this was done in the
    large picture PR that landed previously.
    
    This removes the remnants of AlphaBatch tasks, and makes them
    all run through Picture render tasks.
    
    This also introduces the first part of the picture and shader
    side support for selecting whether primitives on a given picture
    are to be rasterized in screen space or a local space.
    gw3583 committed Nov 19, 2017
You can’t perform that action at this time.