Hash :
62628799
Author :
Date :
2021-07-21T22:55:22
Vulkan: SPIR-V Gen: Support dEQP A temporary condition for direct SPIR-V generation is added to test expectations while this work is in progress, so test suites can be partially enabled. 32 tests are currently failing. Bug: angleproject:4889 Change-Id: Icf0f6ef80d30fdb7564d8ecf928e67ca58ace86f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3042556 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
/*-------------------------------------------------------------------------
* drawElements Quality Program Tester Core
* ----------------------------------------
*
* Copyright 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef TCU_ANGLE_PLATFORM_H_
#define TCU_ANGLE_PLATFORM_H_
#include "gluPlatform.hpp"
#include "tcuDefs.hpp"
#include "tcuPlatform.hpp"
#ifndef _EGLUPLATFORM_HPP
# include "egluPlatform.hpp"
#endif
#include "platform/PlatformMethods.h"
#include "tcuANGLENativeDisplayFactory.h"
namespace tcu
{
class ANGLEPlatform : public tcu::Platform, private glu::Platform, private eglu::Platform
{
public:
ANGLEPlatform(angle::LogErrorFunc logErrorFunc,
uint32_t preRotation,
bool enableDirectSPIRVGen);
~ANGLEPlatform();
bool processEvents() override;
const glu::Platform &getGLPlatform() const override
{
return static_cast<const glu::Platform &>(*this);
}
const eglu::Platform &getEGLPlatform() const override
{
return static_cast<const eglu::Platform &>(*this);
}
private:
// Note: -1 represents EGL_DONT_CARE, but we don't have the EGL headers here.
std::vector<eglw::EGLAttrib> initAttribs(eglw::EGLAttrib type,
eglw::EGLAttrib deviceType = -1,
eglw::EGLAttrib majorVersion = -1,
eglw::EGLAttrib minorVersion = -1);
EventState mEvents;
angle::PlatformMethods mPlatformMethods;
std::vector<const char *> mEnableFeatureOverrides;
};
} // namespace tcu
tcu::Platform *CreateANGLEPlatform(angle::LogErrorFunc logErrorFunc,
uint32_t preRotation,
bool enableDirectSPIRVGen);
#endif // TCU_ANGLE_PLATFORM_H_