Message ID | 20240618005203.2022725-1-rs@ti.com |
---|---|
State | Accepted |
Headers | show |
Series | [meta-oe,master] vulkan-cts: add workaround for createMeshShaderMiscTestsEXT | expand |
On Mon, Jun 17, 2024 at 5:52 PM <rs@ti.com> wrote: > From: Randolph Sapp <rs@ti.com> > > Remove the CXX flag "-O2" for GCC 13 and 14. There's a bug with ARM GCC > that breaks the iteration of "types" in the createMeshShaderMiscTestsEXT > function. This issue is not present for clang or x86_64 GCC 14. > > It seems that the array is not initialized before the first iteration. > In testing this can result in a random value being used. This can > manifest in LINES type being processed twice, resulting in the following > error: > > FATAL ERROR: Failed to initialize dEQP: Test case with non-unique name > 'no_lines' added to group 'misc'. > > Signed-off-by: Randolph Sapp <rs@ti.com> > --- > meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > index 1008a5fd4..7492fe9aa 100644 > --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > @@ -23,6 +23,9 @@ SRC_URI += > "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.pat > > TOOLCHAIN = "gcc" > > +# Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT > +OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2" Let’s limit it to arm And gcc using the needed overrides > > + > S = "${WORKDIR}/git" > > REQUIRED_DISTRO_FEATURES = "vulkan" > -- > 2.45.1 > >
On Mon, Jun 17, 2024 at 06:41:57PM -0700, Khem Raj wrote: > On Mon, Jun 17, 2024 at 5:52 PM <rs@ti.com> wrote: > > > From: Randolph Sapp <rs@ti.com> > > > > Remove the CXX flag "-O2" for GCC 13 and 14. There's a bug with ARM GCC > > that breaks the iteration of "types" in the createMeshShaderMiscTestsEXT > > function. This issue is not present for clang or x86_64 GCC 14. Is there an upstream bug submitted that tracks it? > > It seems that the array is not initialized before the first iteration. > > In testing this can result in a random value being used. This can > > manifest in LINES type being processed twice, resulting in the following > > error: > > > > FATAL ERROR: Failed to initialize dEQP: Test case with non-unique name > > 'no_lines' added to group 'misc'. > > > > Signed-off-by: Randolph Sapp <rs@ti.com> > > --- > > meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > index 1008a5fd4..7492fe9aa 100644 > > --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > @@ -23,6 +23,9 @@ SRC_URI += > > "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.pat > > > > TOOLCHAIN = "gcc" > > > > +# Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT > > +OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2" > > > Let’s limit it to arm > And gcc using the needed overrides > > > > > + > > S = "${WORKDIR}/git" > > > > REQUIRED_DISTRO_FEATURES = "vulkan" > > -- > > 2.45.1 > > > >
On Tue Jun 18, 2024 at 1:28 PM CDT, Denys Dmytriyenko wrote: > On Mon, Jun 17, 2024 at 06:41:57PM -0700, Khem Raj wrote: > > On Mon, Jun 17, 2024 at 5:52 PM <rs@ti.com> wrote: > > > > > From: Randolph Sapp <rs@ti.com> > > > > > > Remove the CXX flag "-O2" for GCC 13 and 14. There's a bug with ARM GCC > > > that breaks the iteration of "types" in the createMeshShaderMiscTestsEXT > > > function. This issue is not present for clang or x86_64 GCC 14. > > Is there an upstream bug submitted that tracks it? Not that I know of, at least for GCC. Still trying to track down where that should go and how to reproduce this in a way people will take it seriously. About to have a PR in cts with two modifications to that function that also solve the issue, though. Hoping to get more insight from them. > > > It seems that the array is not initialized before the first iteration. > > > In testing this can result in a random value being used. This can > > > manifest in LINES type being processed twice, resulting in the following > > > error: > > > > > > FATAL ERROR: Failed to initialize dEQP: Test case with non-unique name > > > 'no_lines' added to group 'misc'. > > > > > > Signed-off-by: Randolph Sapp <rs@ti.com> > > > --- > > > meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > > b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > > index 1008a5fd4..7492fe9aa 100644 > > > --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > > +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > > @@ -23,6 +23,9 @@ SRC_URI += > > > "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.pat > > > > > > TOOLCHAIN = "gcc" > > > > > > +# Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT > > > +OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2" > > > > > > Let’s limit it to arm > > And gcc using the needed overrides > > > > > > > > + > > > S = "${WORKDIR}/git" > > > > > > REQUIRED_DISTRO_FEATURES = "vulkan" > > > -- > > > 2.45.1 > > > > > >
On Tue Jun 18, 2024 at 1:48 PM CDT, Randolph Sapp wrote: > On Tue Jun 18, 2024 at 1:28 PM CDT, Denys Dmytriyenko wrote: > > On Mon, Jun 17, 2024 at 06:41:57PM -0700, Khem Raj wrote: > > > On Mon, Jun 17, 2024 at 5:52 PM <rs@ti.com> wrote: > > > > > > > From: Randolph Sapp <rs@ti.com> > > > > > > > > Remove the CXX flag "-O2" for GCC 13 and 14. There's a bug with ARM GCC > > > > that breaks the iteration of "types" in the createMeshShaderMiscTestsEXT > > > > function. This issue is not present for clang or x86_64 GCC 14. > > > > Is there an upstream bug submitted that tracks it? > > Not that I know of, at least for GCC. Still trying to track down where that > should go and how to reproduce this in a way people will take it seriously. Narrowing down the optimization flags that cause this while I wait for a GCC bugzilla account... > About to have a PR in cts with two modifications to that function that also > solve the issue, though. Hoping to get more insight from them. CTS PR open here if anyone wants to comment: https://gerrit.khronos.org/c/vk-gl-cts/+/14984 > > > > It seems that the array is not initialized before the first iteration. > > > > In testing this can result in a random value being used. This can > > > > manifest in LINES type being processed twice, resulting in the following > > > > error: > > > > > > > > FATAL ERROR: Failed to initialize dEQP: Test case with non-unique name > > > > 'no_lines' added to group 'misc'. > > > > > > > > Signed-off-by: Randolph Sapp <rs@ti.com> > > > > --- > > > > meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb | 3 +++ > > > > 1 file changed, 3 insertions(+) > > > > > > > > diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > > > b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > > > index 1008a5fd4..7492fe9aa 100644 > > > > --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > > > +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb > > > > @@ -23,6 +23,9 @@ SRC_URI += > > > > "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.pat > > > > > > > > TOOLCHAIN = "gcc" > > > > > > > > +# Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT > > > > +OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2" > > > > > > > > > Let’s limit it to arm > > > And gcc using the needed overrides > > > > > > > > > > > + > > > > S = "${WORKDIR}/git" > > > > > > > > REQUIRED_DISTRO_FEATURES = "vulkan" > > > > -- > > > > 2.45.1 > > > > > > > >
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb index 1008a5fd4..7492fe9aa 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb @@ -23,6 +23,9 @@ SRC_URI += "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.pat TOOLCHAIN = "gcc" +# Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT +OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2" + S = "${WORKDIR}/git" REQUIRED_DISTRO_FEATURES = "vulkan"