Hash :
09932e04
Author :
Date :
2020-10-29T00:31:49
Vulkan: Support emulated pre-rotation in dEQP testing
Similarly to end2end tests, the window dimensions are swapped with
emulated prerotation at 90 and 270 degrees, while maintaining to the
application that dimensions are as requested.
The following new command line argument can be used to select an
emulated prerotation:
--emulated-pre-rotation=90
--emulated-pre-rotation=180
--emulated-pre-rotation=270
For example:
$ ./angle_deqp_gles2_tests --use-angle=vulkan \
--deqp-case=*draw* \
--emulated-pre-rotation=270
Additionally, the deqp test expectations can be marked with the
following new tags to add suppressions for failing tests under
prerotation:
PREROTATION
PREROTATION90
PREROTATION180
PREROTATION270
Bug: angleproject:4901
Change-Id: I7a68c1a1e7da4366cde981469c589d8d900c40c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506810
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
//
// Copyright 2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// angle_deqp_libtester.h:
// Exports for the ANGLE dEQP libtester module.
#ifndef ANGLE_DEQP_LIBTESTER_H_
#define ANGLE_DEQP_LIBTESTER_H_
#include <stdint.h>
#if defined(_WIN32)
# if defined(ANGLE_DEQP_LIBTESTER_IMPLEMENTATION)
# define ANGLE_LIBTESTER_EXPORT __declspec(dllexport)
# else
# define ANGLE_LIBTESTER_EXPORT __declspec(dllimport)
# endif
#elif defined(__GNUC__)
# if defined(ANGLE_DEQP_LIBTESTER_IMPLEMENTATION)
# define ANGLE_LIBTESTER_EXPORT __attribute__((visibility("default")))
# else
# define ANGLE_LIBTESTER_EXPORT
# endif
#else
# define ANGLE_LIBTESTER_EXPORT
#endif
// Possible results of deqp_libtester_run
enum class TestResult
{
Pass,
Fail,
NotSupported,
Exception,
};
// Exported to the tester app.
ANGLE_LIBTESTER_EXPORT int deqp_libtester_main(int argc, const char *argv[]);
ANGLE_LIBTESTER_EXPORT bool deqp_libtester_init_platform(int argc,
const char *argv[],
void *logErrorFunc,
uint32_t preRotation);
ANGLE_LIBTESTER_EXPORT void deqp_libtester_shutdown_platform();
ANGLE_LIBTESTER_EXPORT TestResult deqp_libtester_run(const char *caseName);
#endif // ANGLE_DEQP_LIBTESTER_H_