New issue
Advanced search Search tips

Issue 793352 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Proj-XR



Sign in to add a comment

Make vr_pixeltests work with ozone

Project Member Reported by bsheedy@chromium.org, Dec 8 2017

Issue description

 Issue 791087  was caused by some incompatibility with ozone, vr_pixeltests, and the swarmed Ubuntu-14.04 machines. vr_pixeltests can be successfully built with or without ozone, and runs fine locally in either case, but fails on swarming when compiled with ozone.
 
Here is the failure from the swarming bots, copied from the previous bug:

Looks like shader version needs to be updated here:
https://codesearch.chromium.org/chromium/src/chrome/browser/vr/vr_gl_util.h?type=cs&q=OEIE_SHADER&l=17


[ RUN      ] UiPixelTest.DrawVrBrowsingMode
[5124:5124:1127/153355.124985:5124424269:ERROR:gl_surface_glx.cc(409)] XOpenDisplay failed.
[5124:5124:1127/153355.125013:5124424296:ERROR:gl_ozone_glx.cc(28)] GLSurfaceGLX::InitializeOneOff failed.
[5124:5124:1127/153355.129953:5124429238:FATAL:base_renderer.cc(15)] Check failed: vertex_shader_handle. Error compiling shader: 0:1(10): error: GLSL ES 1.00 is not supported. Supported versions are: 1.10, and 1.20
vertex_src
#version 100
precision mediump float; uniform mat4 u_ModelViewProjMatrix; uniform vec2 u_CornerOffset; attribute vec4 a_Position; attribute vec2 a_CornerPosition; attribute vec2 a_OffsetScale; varying vec2 v_TexCoordinate; varying vec2 v_CornerPosition; void main() { v_CornerPosition = a_CornerPosition; vec4 position = vec4( a_Position[0] + u_CornerOffset[0] * a_OffsetScale[0], a_Position[1] + u_CornerOffset[1] * a_OffsetScale[1], a_Position[2], a_Position[3]); v_TexCoordinate = vec2(0.5 + position[0], 0.5 - position[1]); gl_Position = u_ModelViewProjMatrix * position; }
#0 0x00000056d28c base::debug::StackTrace::StackTrace()
#1 0x000000577cfc logging::LogMessage::~LogMessage()
#2 0x000000a84ea1 vr::BaseRenderer::BaseRenderer()
#3 0x000000a858ff vr::TexturedQuadRenderer::TexturedQuadRenderer()
#4 0x000000a86520 vr::ExternalTexturedQuadRenderer::ExternalTexturedQuadRenderer()
#5 0x000000a8419f vr::UiElementRenderer::Init()
#6 0x000000a8416a vr::UiElementRenderer::UiElementRenderer()
#7 0x000000a8300e vr::Ui::OnGlInitialized()
#8 0x000000410604 vr::UiPixelTest::MakeUi()
#9 0x000000411e2b vr::UiPixelTest_DrawVrBrowsingMode_Test::TestBody()
#10 0x000000477826 testing::Test::Run()
#11 0x000000478000 testing::TestInfo::Run()
#12 0x0000004784e7 testing::TestCase::Run()
#13 0x00000047e9d7 testing::internal::UnitTestImpl::RunAllTests()
#14 0x00000047e657 testing::UnitTest::Run()
#15 0x000000556cb2 base::TestSuite::Run()
#16 0x000000558ebe base::(anonymous namespace)::LaunchUnitTestsInternal()
#17 0x000000558d7b base::LaunchUnitTests()
#18 0x00000041018c main
#19 0x7f28be0dbf45 __libc_start_main
#20 0x00000041002a _start
[5/5] UiPixelTest.DrawVrBrowsingMode (CRASHED)
1 test crashed:
    UiPixelTest.DrawVrBrowsingMode (../../chrome/browser/vr/ui_pixeltest.cc:29)


Logs:
https://logs.chromium.org/v/?s=chromium/bb/chromium.fyi/VR_Linux/1156/+/recipes/steps/vr_pixeltests/0/stdout
Owner: cjgrant@chromium.org
Status: Assigned (was: Untriaged)
It looks as if the swarming bots, when ozone is enabled, aren't using GL ES.  The shader versions it says are supported look like old non-ES GLSL versions.

When there's time, I'm going to push a build with some debug prints to the swarming bots to gather information, then ask the Ozone folks for some guidance.
Status: Available (was: Assigned)
Haven't gotten to this.  Disowning until priority increases.
Owner: ----
Not sure if anyone poked around in the source code for this, but this appears to be the check that's failing https://cs.chromium.org/chromium/src/third_party/mesa/src/chromium_gensrc/mesa/glsl_parser.cc?q=%22Supported+versions+are%22&sq=package:chromium&dr=C&l=3039.

There's also this comment, although I have no idea if this is actually relevant:
/* FINISHME: Once the OpenGL 3.0 'forward compatible' context or
* the OpenGL 3.2 Core context is supported, this logic will need
* change.  Older versions of GLSL are no longer supported
* outside the compatibility contexts of 3.x.
*/
Components: Internals>XR
Removing Internals>VR component and assigning to Internals>XR
Components: -Internals>VR

Sign in to add a comment