Avoid hsr for polygon on SGX 535

This topic contains 3 replies, has 2 voices, and was last updated by  Joe Davis 5 years ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #30988

    wrabbit
    Member

    Hi..

    Does anyone know if it is possible to selectively avoid HSR on a polygon? I would like to see if transparency effects implemented in a glsl fragment shader are possible but from the architecture guide I gather geometry is always subject to HSR unless blending or alpha testing is enabled or there are discards in the fragment shader. In practice I suspect the default alpha blending might be fine.. at this point I’m just curious.

    Any help would be appreciated..
    Thanks

    #36183

    Joe Davis
    Member

    Hi wrabbit,

    There is no way to disable the HSR for opaque geometry. Can you explain why you would want to disable the HSR? It’s an extremely fast operation and is very unlikely to cause a bottleneck in an application.

    Thanks,
    Joe

    #36184

    wrabbit
    Member

    ok.. if there is no performance/power gain to be had in disabling HSR then that’s fine. 

    Approaches like Intel’s Adaptive Transparency replace the typical alpha-blending and my impression from the PowerVR docs, perhaps mistaken, is that unless GL_BLEND is enabled or the fragment shader has a discard in it (alpha testing not available in GL ES 2.0) then HSR will interfere with the results. 

    I don’t think i want to discard since that affects the overall performance/power consumption. This technique does not need traditional alpha blending either. 
    The Adaptive Transparency paper comes with extensive HLSL examples, but I haven’t come across an implementation for OpenGL yet. Do you know if this technique would make sense on the PowerVR SGX 5 architecture? The advantage is that it’s OIT.. I understand that the fragment shaders see the geometry in the order it’s submitted rather than taking advantage of the depth-sorting done by HSR so I suspect this technique still has value.

    wrabbit2012-10-10 02:08:58

    #36185

    Joe Davis
    Member

    Normal
    0

    false
    false
    false

    EN-GB
    X-NONE
    X-NONE

    MicrosoftInternetExplorer4

    Hi wrabbit,

    You should refer to our “SGX Architecture Guide for Developers”
    document
    here for
    more information on how HSR works. From an application’s point of view, there is no difference between an image rendered with HSR enabled or rendered with it disabled. HSR is a hardware level optimization to reduce overdraw.

    From my understanding, the Adaptive Transparency technique relies on the DX11
    per-pixel linked list functionality. The current OpenGL ES APIs do not have any
    mechanisms for building per-pixel linked lists to specify rendering order.
    Because of this, the technique will be difficult to implement in the current
    OpenGL ES APIs without incurring a significant performance overhead.

    Thanks,

    Joe

    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:”Table Normal”;
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-parent:””;
    mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
    mso-para-margin:0cm;
    mso-para-margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:10.0pt;
    font-family:”Times New Roman”,”serif”;}

Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic.