chromium/gpu/command_buffer/tests/gl_angle_shader_pixel_local_storage_unittest.cc

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

#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#include <GLES2/gl2extchromium.h>
#include <GLES3/gl3.h>

#include "base/command_line.h"
#include "build/build_config.h"
#include "gpu/command_buffer/service/service_utils.h"
#include "gpu/command_buffer/tests/gl_manager.h"
#include "gpu/command_buffer/tests/gl_test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gl/gl_implementation.h"

namespace gpu {
class ANGLEShaderPixelLocalStorageTest : public testing::Test {};

static GLint gl_get_integer(GLenum pname) {}

// Verifies that GetIntegerv accepts the new tokens from
// ANGLE_shader_pixel_local_storage.
TEST_F(ANGLEShaderPixelLocalStorageTest, GetIntegerv) {}

#define EXPECT_PLS_INTEGER(plane, pname, expected)

#define EXPECT_PLS_CLEAR_VALUE_FLOAT(plane, rgba)

#define EXPECT_PLS_CLEAR_VALUE_INT(plane, rgba)

#define EXPECT_PLS_CLEAR_VALUE_UNSIGNED_INT(plane, rgba)

#define EXPECT_GL_ERROR(error)

// Verifies that glGetFramebufferPixelLocalStorageParameter{f,i}vANGLE is
// marshalled properly over the command buffer. Thorough testing of these
// commands is done in angle_end2end_tests.
TEST_F(ANGLEShaderPixelLocalStorageTest,
       GetFramebufferPixelLocalStorageParameter) {}

// Verifies all LOAD_OP_*_ANGLE and STORE_OP_*_ANGLE tokens are accepted by the
// command buffer.
TEST_F(ANGLEShaderPixelLocalStorageTest, LoadStoreTokens) {}

// Verifies that ANGLE_shader_pixel_local_storage commands related to drawing
// are all marshalled properly over the command buffer. Thorough testing of
// these commands is done in angle_end2end_tests.
TEST_F(ANGLEShaderPixelLocalStorageTest, DrawAPI) {}

// Verifies that the PLS ban on FBO 0 is also enforced when FBO "0" is emulated
// by the command buffer on an application-side framebuffer object. In this
// scenario, ANGLE will not generate an error, and the command buffer is
// responsible for synthesizing a GL error if the app tries to use PLS on FBO 0.
TEST_F(ANGLEShaderPixelLocalStorageTest, BlockEmulatedDefaultFramebuffer) {}
}  // namespace gpu