chromium/ui/gfx/x/visual_picker_glx.cc

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "ui/gfx/x/visual_picker_glx.h"

#include <algorithm>
#include <bitset>
#include <cstring>
#include <map>
#include <numeric>

#include "ui/gfx/x/connection.h"
#include "ui/gfx/x/future.h"
#include "ui/gfx/x/glx.h"

namespace x11 {

namespace {

// These constants are obtained from GL/glx.h and GL/glxext.h.
constexpr uint32_t GLX_LEVEL =;
constexpr uint32_t GLX_DOUBLEBUFFER =;
constexpr uint32_t GLX_STEREO =;
constexpr uint32_t GLX_BUFFER_SIZE =;
constexpr uint32_t GLX_AUX_BUFFERS =;
constexpr uint32_t GLX_RED_SIZE =;
constexpr uint32_t GLX_GREEN_SIZE =;
constexpr uint32_t GLX_BLUE_SIZE =;
constexpr uint32_t GLX_ALPHA_SIZE =;
constexpr uint32_t GLX_DEPTH_SIZE =;
constexpr uint32_t GLX_STENCIL_SIZE =;
constexpr uint32_t GLX_ACCUM_RED_SIZE =;
constexpr uint32_t GLX_ACCUM_GREEN_SIZE =;
constexpr uint32_t GLX_ACCUM_BLUE_SIZE =;
constexpr uint32_t GLX_ACCUM_ALPHA_SIZE =;

constexpr uint32_t GLX_VISUAL_CAVEAT_EXT =;
constexpr uint32_t GLX_X_VISUAL_TYPE =;

constexpr uint32_t GLX_NONE_EXT =;
constexpr uint32_t GLX_VISUAL_ID =;
constexpr uint32_t GLX_RENDER_TYPE =;

constexpr uint32_t GLX_SAMPLE_BUFFERS_ARB =;

bool IsArgbVisual(const Connection::VisualInfo& visual) {}

// Used to filter visuals by the best class.
int VisualScore(VisualClass c_class) {}

VisualId PickBestGlVisual(
    Connection* connection,
    const Glx::GetVisualConfigsReply& configs,
    base::RepeatingCallback<bool(const Connection::VisualInfo&)> pred,
    bool want_alpha) {}

VisualId PickBestSystemVisual(Connection* connection,
                              const Glx::GetVisualConfigsReply& configs) {}

VisualId PickBestRgbaVisual(Connection* connection,
                            const Glx::GetVisualConfigsReply& configs) {}

}  // anonymous namespace

void PickBestVisuals(Connection* connection,
                     VisualId& system_visual,
                     VisualId& rgba_visual) {}

}  // namespace x11