#include "ui/gl/angle_platform_impl.h"
#include "base/base64.h"
#include "base/compiler_specific.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/lazy_instance.h"
#include "base/metrics/histogram.h"
#include "base/metrics/histogram_functions.h"
#include "base/no_destructor.h"
#include "base/task/thread_pool.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/trace_event/trace_event.h"
#include "third_party/angle/include/platform/PlatformMethods.h"
#include "ui/gl/gl_bindings.h"
namespace angle {
namespace {
ResetDisplayPlatformFunc g_angle_reset_platform = …;
double ANGLEPlatformImpl_currentTime(PlatformMethods* platform) { … }
double ANGLEPlatformImpl_monotonicallyIncreasingTime(
PlatformMethods* platform) { … }
const unsigned char* ANGLEPlatformImpl_getTraceCategoryEnabledFlag(
PlatformMethods* platform,
const char* category_group) { … }
void ANGLEPlatformImpl_logError(PlatformMethods* platform,
const char* errorMessage) { … }
void ANGLEPlatformImpl_logWarning(PlatformMethods* platform,
const char* warningMessage) { … }
TraceEventHandle ANGLEPlatformImpl_addTraceEvent(
PlatformMethods* platform,
char phase,
const unsigned char* category_group_enabled,
const char* name,
unsigned long long id,
double timestamp,
int num_args,
const char** arg_names,
const unsigned char* arg_types,
const unsigned long long* arg_values,
unsigned char flags) { … }
void ANGLEPlatformImpl_updateTraceEventDuration(
PlatformMethods* platform,
const unsigned char* category_group_enabled,
const char* name,
TraceEventHandle handle) { … }
void ANGLEPlatformImpl_histogramCustomCounts(PlatformMethods* platform,
const char* name,
int sample,
int min,
int max,
int bucket_count) { … }
void ANGLEPlatformImpl_histogramEnumeration(PlatformMethods* platform,
const char* name,
int sample,
int boundary_value) { … }
void ANGLEPlatformImpl_histogramSparse(PlatformMethods* platform,
const char* name,
int sample) { … }
void ANGLEPlatformImpl_histogramBoolean(PlatformMethods* platform,
const char* name,
bool sample) { … }
NO_SANITIZE("cfi-icall")
void AnglePlatformImpl_runWorkerTask(PostWorkerTaskCallback callback, void* user_data) { … }
void ANGLEPlatformImpl_postWorkerTask(PlatformMethods* platform,
PostWorkerTaskCallback callback,
void* user_data) { … }
int g_cache_hit_count = …;
int g_cache_miss_count = …;
base::Lock& GetCacheStatsLock() { … }
void RecordCacheUse() { … }
void ANGLEPlatformImpl_recordShaderCacheUse(bool in_cache) { … }
}
NO_SANITIZE("cfi-icall")
bool InitializePlatform(EGLDisplay display) { … }
NO_SANITIZE("cfi-icall")
void ResetPlatform(EGLDisplay display) { … }
}