Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
angle
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • angle
  • Repository

Switch branch/tag
  • angle
  • src
  • tests
  • gl_tests
  • FramebufferTest.cpp
Find file
BlameHistoryPermalink
  • JiangYizhou's avatar
    Workaround Intel driver bug on D3D when renderering with no render target · 38d92b59
    JiangYizhou authored Sep 13, 2017
    When rendering with no render target on D3D, two bugs lead to
    incorrect behavior on Intel drivers < 4815. The rendering samples
    always pass neglecting discard statement in pixel shader.
    
    Two bugs are listed bellow,
    1. When a framebuffer has no attachments, the pixel shader will be
    recompiled to drop 'SV_TARGET'. On Intel drivers, when using a pixel
    shader with no 'SV_TARGET' in a draw, pixels are always generated even
    if they should be discard by 'discard' statements.
    
    2. When a framebuffer has no attachments, ID3D11BlendState.RenderTarget
    [].RenderTargetWriteMask were set to 0 in angle. If RenderTargetWriteMask
    is 0 and rendertarget is not set, then rendering samples also pass
    neglecting discard statement in pixel shader on Intel.
    
    So we add a dummy texture as render target to workaround this issue.
    
    BUG=angleproject:2152
    
    TEST=FramebufferTest_ES31.RenderingLimitToDefaultFBOSizeWithNoAttachments/ES3_1_D3D11
    TEST=dEQP-GLES31.functional.fbo.no_attachments.*
    TEST=dEQP-GLES31.functional.state_query.integer.max_framebuffer*
    TEST=dEQP-GLES31.functional.state_query.integer.max_color_texture_samples_*
    TEST=dEQP-GLES31.functional.state_query.integer.max_depth_texture_samples_*
    TEST=dEQP-GLES31.functional.state_query.integer.max_integer_samples_*
    
    Change-Id: I1cb974703b6c05c39b731d147f7c8c4fb7b5fe68
    Reviewed-on: https://chromium-review.googlesource.com/741544Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    38d92b59
FramebufferTest.cpp 28.5 KB
EditWeb IDE
×

Replace FramebufferTest.cpp

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.