mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 15:23:51 +00:00
15d74fcee2
There is a driver bug on Adreno 3xx devices causing incorrect rendering when flat scalar varyings are used in fragment shaders. This has occured several times in different shaders, so this patch finally adds a test to ensure it does not occur again. We have used the glsl crate to parse and validate the shaders rather than angle, as exposing the required bindings to mozangle is messy. We must therefore use the pre-optimized shaders as the glsl crate does not handle preprocessor directives correctly. This has been implemented as a wrench test rather than a unit test as running unit tests on android is difficult. Additionally we want to use the shaders specific to the platform the tests are ran on, the bug only affects (some) android devices, and shaders on other platforms may differ. Differential Revision: https://phabricator.services.mozilla.com/D124205
42 lines
1.3 KiB
Batchfile
Executable File
42 lines
1.3 KiB
Batchfile
Executable File
:: This Source Code Form is subject to the terms of the Mozilla Public
|
|
:: License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
:: file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
:: This must be run from the root webrender directory!
|
|
:: Users may set the CARGOFLAGS environment variable to pass
|
|
:: additional flags to cargo if desired.
|
|
|
|
if NOT DEFINED CARGOFLAGS SET CARGOFLAGS=--verbose
|
|
|
|
pushd webrender_api
|
|
cargo test %CARGOFLAGS%
|
|
if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
|
|
popd
|
|
|
|
pushd webrender
|
|
cargo test %CARGOFLAGS%
|
|
if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
|
|
popd
|
|
|
|
pushd wrench
|
|
cargo test --verbose
|
|
if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
|
|
:: Test that all shaders compile successfully and pass tests.
|
|
:: --precache compiles all shaders during initialization, therefore if init
|
|
:: is successful then the shaders compile.
|
|
cargo run --release -- --angle --precache test_init
|
|
if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
|
|
cargo run --release -- --angle --precache --use-unoptimized-shaders test_init
|
|
if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
|
|
cargo run --release -- --angle test_shaders
|
|
if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
|
|
|
|
cargo run --release -- --angle reftest
|
|
if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
|
|
popd
|
|
|
|
pushd examples
|
|
cargo check --verbose
|
|
if %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
|
|
popd
|