#include "base/strings/string_number_conversions.h"
#include "gpu/command_buffer/common/gles2_cmd_format.h"
#include "gpu/command_buffer/common/gles2_cmd_utils.h"
-#include "gpu/command_buffer/common/id_allocator.h"
#include "gpu/command_buffer/service/async_pixel_transfer_delegate_mock.h"
#include "gpu/command_buffer/service/async_pixel_transfer_manager.h"
#include "gpu/command_buffer/service/async_pixel_transfer_manager_mock.h"
public:
GLES2DecoderGeometryInstancingTest() : GLES2DecoderWithShaderTest() {}
- virtual void SetUp() {
+ void SetUp() override {
InitState init;
init.extensions = "GL_ANGLE_instanced_arrays";
init.gl_version = "opengl es 2.0";
const GLsizei kWidth = 1;
const GLsizei kHeight = 1;
const GLenum kFormat = GL_RGB;
- DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
+ // Use a different texture for framebuffer to avoid drawing feedback loops.
+ EXPECT_CALL(*gl_, GenTextures(_, _))
+ .WillOnce(SetArgumentPointee<1>(kNewServiceId))
+ .RetiresOnSaturation();
+ GenHelper<cmds::GenTexturesImmediate>(kNewClientId);
+ DoBindTexture(GL_TEXTURE_2D, kNewClientId, kNewServiceId);
// Pass some data so the texture will be marked as cleared.
DoTexImage2D(GL_TEXTURE_2D,
0,
DoFramebufferTexture2D(GL_FRAMEBUFFER,
GL_COLOR_ATTACHMENT0,
GL_TEXTURE_2D,
- client_texture_id_,
- kServiceTextureId,
+ kNewClientId,
+ kNewServiceId,
0,
GL_NO_ERROR);
+ DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
EXPECT_CALL(*gl_, CheckFramebufferStatusEXT(GL_FRAMEBUFFER))
.WillOnce(Return(GL_FRAMEBUFFER_COMPLETE))
.RetiresOnSaturation();