Documentation
    Preparing search index...

    Interface GpuRenderPipelineDescriptor

    A render pipeline descriptor, reduced to the members this backend sets.

    interface GpuRenderPipelineDescriptor {
        depthStencil?: {
            depthCompare: string;
            depthWriteEnabled: boolean;
            format: string;
            stencilBack?: GpuStencilFaceState;
            stencilFront?: GpuStencilFaceState;
            stencilReadMask?: number;
            stencilWriteMask?: number;
        };
        fragment: {
            entryPoint: string;
            module: object;
            targets: readonly {
                blend?: GpuBlendState;
                format: string;
                writeMask: number;
            }[];
        };
        label?: string;
        layout: object;
        primitive: { cullMode?: string; frontFace?: string; topology: string };
        vertex: {
            buffers: readonly GpuVertexBufferLayout[];
            entryPoint: string;
            module: object;
        };
    }
    Index
    depthStencil?: {
        depthCompare: string;
        depthWriteEnabled: boolean;
        format: string;
        stencilBack?: GpuStencilFaceState;
        stencilFront?: GpuStencilFaceState;
        stencilReadMask?: number;
        stencilWriteMask?: number;
    }

    Depth-stencil state, absent for a pass with no depth attachment.

    Type Declaration

    • ReadonlydepthCompare: string
    • ReadonlydepthWriteEnabled: boolean
    • Readonlyformat: string
    • Optional ReadonlystencilBack?: GpuStencilFaceState
    • Optional ReadonlystencilFront?: GpuStencilFaceState

      §67's stencil test and operations (WP-R1.3), present only on a pipeline that actually tests or writes stencil bits — a clipless pipeline's descriptor omits all four members, which is what keeps its recorded createRenderPipeline line byte-identical to WP-R1.1's.

      Front and back are always the same state in this backend: GL's stencilFunc/stencilOp are two-sided, and culling is disabled on both backends, so a per-face split would be a distinction nothing draws.

    • Optional ReadonlystencilReadMask?: number

      The bits the test looks at (§57's readMask).

    • Optional ReadonlystencilWriteMask?: number

      The bits a write may change (§57's writeMask).

    fragment: {
        entryPoint: string;
        module: object;
        targets: readonly {
            blend?: GpuBlendState;
            format: string;
            writeMask: number;
        }[];
    }

    Fragment stage and its colour targets.

    label?: string

    Diagnostic name, echoed by implementations in validation errors.

    layout: object

    Explicit layout — never "auto"; see wgpu-bindings.ts.

    primitive: { cullMode?: string; frontFace?: string; topology: string }

    Topology and winding.

    vertex: {
        buffers: readonly GpuVertexBufferLayout[];
        entryPoint: string;
        module: object;
    }

    Vertex stage: module, entry point and buffer layouts.