New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 644610 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

glClearBufferfv with format GL_RGB565 renders incorrectly in Intel Windows

Project Member Reported by jiajia....@intel.com, Sep 7 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36

Steps to reproduce the problem:
Open link https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/framebufferblit/default_framebuffer_06.html?webglVersion=2&quiet=0

What is the expected behavior?
All cases should be 'Pass'.

What went wrong?
rgb565 from default related cases are failed.

The rout case is that the data with format DXGI_FORMAT_B5G6R5_UNORM will be parsed incorrectly in Intel driver. See https://github.com/null77/d3d11-driver-bugs/tree/master/ClearRenderTargetWithRGB565

A workaround is to disable B5G6R5 support and use R8G8B8A8 by default when it's Intel driver.

Did this work before? N/A 

Chrome version: 52.0.2743.116  Channel: n/a
OS Version: 6.3
Flash Version: Shockwave Flash 22.0 r0
 
Cc: kbr@chromium.org zmo@chromium.org yang...@intel.com yunchao...@intel.com jmad...@chromium.org
Components: Internals>GPU>ANGLE
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/2c07eb2188a377cfb8d3fe0dfbbcdcaba2387722

commit 2c07eb2188a377cfb8d3fe0dfbbcdcaba2387722
Author: Qin Jiajia <jiajia.qin@intel.com>
Date: Fri Sep 02 05:06:43 2016

Add workaround for B5G6R5 format in Intel driver

In Intel driver, the data with format DXGI_FORMAT_B5G6R5_UNORM will be
parsed incorrectly. According to
https://msdn.microsoft.com/en-us/library/windows/desktop/ff471324(v=vs.85).aspx
DXGI_FORMAT_B5G6R5_UNORM should be equivalent to D3DFMT_R5G6B5. However,
the data will be treated as B5G6R5 not R5G6B5.

This workaroud will disable B5G6R5 support when it's Intel driver.
By default, it will use R8G8B8A8 format.

BUG= chromium:644610 
TEST=dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565*

Change-Id: I9d64a9bcedf9247de6950d345ed2d3fb00170d30
Reviewed-on: https://chromium-review.googlesource.com/380421
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/2c07eb2188a377cfb8d3fe0dfbbcdcaba2387722/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
[modify] https://crrev.com/2c07eb2188a377cfb8d3fe0dfbbcdcaba2387722/src/libANGLE/renderer/d3d/WorkaroundsD3D.h
[modify] https://crrev.com/2c07eb2188a377cfb8d3fe0dfbbcdcaba2387722/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/65b5df92da95c574434beb322d9eb4c7e2658dd5

commit 65b5df92da95c574434beb322d9eb4c7e2658dd5
Author: ynovikov <ynovikov@chromium.org>
Date: Mon Sep 12 23:17:36 2016

Roll ANGLE c955058..e79c2d1

https://chromium.googlesource.com/angle/angle.git/+log/c955058..e79c2d1

BUG= chromium:644610 

TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2336753002
Cr-Commit-Position: refs/heads/master@{#418099}

[modify] https://crrev.com/65b5df92da95c574434beb322d9eb4c7e2658dd5/DEPS

Status: Fixed (was: Unconfirmed)
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/4af4951ff9b8eb1b3defd128a8c624dd60f8d66c

commit 4af4951ff9b8eb1b3defd128a8c624dd60f8d66c
Author: Qin Jiajia <jiajia.qin@intel.com>
Date: Mon Dec 26 05:12:22 2016

Tighten the workaround for B5G6R5 on Intel drivers

This driver bug has been fixed in 20.19.15.4539.

BUG= chromium:644610 
TEST=dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565*

Change-Id: I37556304ed4f70771fb88b792c01b6be5b3aa294
Reviewed-on: https://chromium-review.googlesource.com/424103
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/4af4951ff9b8eb1b3defd128a8c624dd60f8d66c/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
[modify] https://crrev.com/4af4951ff9b8eb1b3defd128a8c624dd60f8d66c/src/libANGLE/renderer/driver_utils.cpp
[modify] https://crrev.com/4af4951ff9b8eb1b3defd128a8c624dd60f8d66c/src/libANGLE/renderer/driver_utils.h
[modify] https://crrev.com/4af4951ff9b8eb1b3defd128a8c624dd60f8d66c/include/platform/WorkaroundsD3D.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d6f9158ff62fff689993067c3273ccb7beecbc16

commit d6f9158ff62fff689993067c3273ccb7beecbc16
Author: jmadill <jmadill@chromium.org>
Date: Fri Jan 06 21:10:15 2017

Roll ANGLE a818c32..a66779f

https://chromium.googlesource.com/angle/angle.git/+log/a818c32..a66779f

BUG= chromium:677841 , chromium:644610 

TBR=geofflang@chromium.org

TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2614063006
Cr-Commit-Position: refs/heads/master@{#442051}

[modify] https://crrev.com/d6f9158ff62fff689993067c3273ccb7beecbc16/DEPS

Sign in to add a comment