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:Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| angle_deqp_gtest.cpp | Loading commit data... | |
| angle_deqp_gtest_main.cpp | Loading commit data... | |
| angle_deqp_libtester.h | Loading commit data... | |
| angle_deqp_libtester_main.cpp | Loading commit data... | |
| angle_deqp_tests_main.cpp | Loading commit data... | |
| deqp_egl_test_expectations.txt | Loading commit data... | |
| deqp_gles2_test_expectations.txt | Loading commit data... | |
| deqp_gles31_test_expectations.txt | Loading commit data... | |
| deqp_gles3_test_expectations.txt | Loading commit data... | |
| es2fShaderMatrixTests.cpp | Loading commit data... | |
| es3fShaderMatrixTests.cpp | Loading commit data... | |
| qpTestLog.c | Loading commit data... | |
| tcuANGLENativeDisplayFactory.cpp | Loading commit data... | |
| tcuANGLENativeDisplayFactory.h | Loading commit data... | |
| tcuANGLEPlatform.cpp | Loading commit data... | |
| tcuANGLEPlatform.h | Loading commit data... | |
| tcuRandomOrderExecutor.cpp | Loading commit data... | |
| tcuRandomOrderExecutor.h | Loading commit data... |