• Show log

    Commit

  • Hash : cb9e1235
    Author : Stephen White
    Date : 2022-06-06T14:34:53

    D3D11: fix UAV handling.
    
    For setting UAVs, Microsoft has provided two APIs:
    
    ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews()
    for pixel and vertex, and
    ID3D11DeviceContext::CSSetUnorderedAccessViews()
    for compute.
    
    They both take very similar arguments, perform similar functions, but
    have one crucial difference: the former will clobber any existing UAV
    bindings that are not specified in the call, while the latter will not.
    The initial implementation of non-compute UAVs in ANGLE didn't
    accomodate this, and sets UAVs individually, as is done for compute,
    which clobbers any UAVs set in a previous call.
    
    The fix is to collect all UAVs required for a draw or compute pass,
    and set them all at once. This required reworking the internal dirty
    bits to reflect the actual D3D requirements (SRV and/or UAV usage),
    and to split the sync functions to set only SRV or UAV state.
    
    Also add a two-SSBO fragment shader test.
    
    Bug: angleproject:7385
    Change-Id: I0c98e1506d56eccf1db446c0be808f2f3020ae1e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3690735
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Stephen White <senorblanco@chromium.org>
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/angle.git
    Git SSH git@git.kmx.io:kc3-lang/angle.git
    Public access ? public
    Description

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    kc3_lang_org thodg_w www_kmx_io thodg_l thodg thodg_m
    Tags