From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 106601] The internal format RGB32F is not color-renderable,
This is not in accordance with Opengl 3.0 spec
Date: Tue, 22 May 2018 06:36:55 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0199398887=="
Return-path:
Received: from culpepper.freedesktop.org (culpepper.freedesktop.org
[131.252.210.165])
by gabe.freedesktop.org (Postfix) with ESMTP id 7B44F6E0C3
for ; Tue, 22 May 2018 06:36:55 +0000 (UTC)
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: dri-devel@lists.freedesktop.org
List-Id: dri-devel@lists.freedesktop.org
--===============0199398887==
Content-Type: multipart/alternative; boundary="15269710150.cdE0e6.27413"
Content-Transfer-Encoding: 7bit
--15269710150.cdE0e6.27413
Date: Tue, 22 May 2018 06:36:55 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.freedesktop.org/
Auto-Submitted: auto-generated
https://bugs.freedesktop.org/show_bug.cgi?id=3D106601
--- Comment #4 from wangjingbin ---
In OpenGL ES spec, GL_RGB32F is texture supported format, but is not color
renderable format, it means that texture with this format could been sample=
d in
shader. But it cannot be as an attachment for a framebuffer object, cannot =
be
as a render target.
In OpenGL spec, GL_RGB32F is texture supported format, and is also color
renderable format.
This case could run normally on Nvidia GPU, but not on Intel GPU. OpenGL
context of Nvidia GPU could support GL_RGB32F format texture as a render
target. OpenGL context of Intel GPU hardware does not support this format
texture as a render target.
Trace mesa code to look for clue
[some related code in mesa]
_mesa_test_framebuffer_completeness function in fbobject.c, follows specs to
check completeness of fbo on OpenGL context or OpenGL ES context, there is =
no
error. But it is not enough, it also need to call the
ctx->Driver.ValidateFramebuffer() function to ask the driver to make
hardware-specific validation/completeness checks.
intel_validate_framebuffer function in intel_fbo.c, makes hardware-specific
validation/completeness checks.
intel_screen_init_surface_formats in brw_surface_formats.c, initializes whi=
ch
format supports texture sample, texture filter and renderable, etc.
A table in isl_format.c, named "format_info", specifies support for
surface(texture, renderbuffer, vertex buffer) formats across the various
hardware generations. The table shows that GL_RGB32F format is not supporte=
d as
render target for all hardware generations.
It suggest that it depend on hardware's capacity.=20
In order to figure out it whether depends on hardware's capacity. I have run
ANGLE for Texture2DTest.CopySubImageFloat_RGBA_RGB, The follow of this test=
is
same as attachment file. It run successfully on windows Opengl.
So need mesa team to help investigate it
--=20
You are receiving this mail because:
You are the assignee for the bug.=
--15269710150.cdE0e6.27413
Date: Tue, 22 May 2018 06:36:55 +0000
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.freedesktop.org/
Auto-Submitted: auto-generated
Commen=
t # 4
on bug 10660=
1
from wangjingbin
In OpenGL ES spec, GL_RGB32F is texture supported format, but =
is not color
renderable format, it means that texture with this format could been sample=
d in
shader. But it cannot be as an attachment for a framebuffer object, cannot =
be
as a render target.
In OpenGL spec, GL_RGB32F is texture supported format, and is also color
renderable format.
This case could run normally on Nvidia GPU, but not on Intel GPU. OpenGL
context of Nvidia GPU could support GL_RGB32F format texture as a render
target. OpenGL context of Intel GPU hardware does not support this format
texture as a render target.
Trace mesa code to look for clue
[some related code in mesa]
_mesa_test_framebuffer_completeness function in fbobject.c, follows specs to
check completeness of fbo on OpenGL context or OpenGL ES context, there is =
no
error. But it is not enough, it also need to call the
ctx->Driver.ValidateFramebuffer() function to ask the driver to make
hardware-specific validation/completeness checks.
intel_validate_framebuffer function in intel_fbo.c, makes hardware-specific
validation/completeness checks.
intel_screen_init_surface_formats in brw_surface_formats.c, initializes whi=
ch
format supports texture sample, texture filter and renderable, etc.
A table in isl_format.c, named "format_info", specifies support f=
or
surface(texture, renderbuffer, vertex buffer) formats across the various
hardware generations. The table shows that GL_RGB32F format is not supporte=
d as
render target for all hardware generations.
It suggest that it depend on hardware's capacity.=20
In order to figure out it whether depends on hardware's capacity. I have run
ANGLE for Texture2DTest.CopySubImageFloat_RGBA_RGB, The follow of this test=
is
same as attachment file. It run successfully on windows Opengl.
So need mesa team to help investigate it
You are receiving this mail because:
- You are the assignee for the bug.
=
--15269710150.cdE0e6.27413--
--===============0199398887==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs
IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz
dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==
--===============0199398887==--