Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc

Issue 2142353002: Validate fbo color image format and fragment shader output variable type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revision addressed piman review comments Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
index 7f02f8c70448fdffe310dec5320760c010dc042d..b5b35d30052376d49b78682c70681a8660ef25bd 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
@@ -1886,6 +1886,13 @@ TEST_P(GLES3DecoderTest, ClearBufferivImmediateValidArgs) {
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER,
client_renderbuffer_id_, kServiceRenderbufferId, GL_NO_ERROR);
+ // TODO(zmo): Set up expectations for the path where the attachment isn't
+ // marked as cleared.
+ Framebuffer* framebuffer =
+ group().framebuffer_manager()->GetFramebuffer(client_framebuffer_id_);
+ framebuffer->MarkAttachmentAsCleared(
+ group().renderbuffer_manager(), nullptr, GL_COLOR_ATTACHMENT0, true);
+
cmds::ClearBufferivImmediate& cmd =
*GetImmediateAs<cmds::ClearBufferivImmediate>();
GLint temp[4] = { 0 };
@@ -1913,6 +1920,13 @@ TEST_P(GLES3DecoderTest, ClearBufferuivImmediateValidArgs) {
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER,
client_renderbuffer_id_, kServiceRenderbufferId, GL_NO_ERROR);
+ // TODO(zmo): Set up expectations for the path where the attachment isn't
+ // marked as cleared.
+ Framebuffer* framebuffer =
+ group().framebuffer_manager()->GetFramebuffer(client_framebuffer_id_);
+ framebuffer->MarkAttachmentAsCleared(
+ group().renderbuffer_manager(), nullptr, GL_COLOR_ATTACHMENT0, true);
+
cmds::ClearBufferuivImmediate& cmd =
*GetImmediateAs<cmds::ClearBufferuivImmediate>();
GLuint temp[4] = { 0u };
@@ -1942,6 +1956,13 @@ TEST_P(GLES3DecoderTest, ClearBufferfvImmediateValidArgs) {
GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER,
client_renderbuffer_id_, kServiceRenderbufferId, GL_NO_ERROR);
+ // TODO(zmo): Set up expectations for the path where the attachment isn't
+ // marked as cleared.
+ Framebuffer* framebuffer =
+ group().framebuffer_manager()->GetFramebuffer(client_framebuffer_id_);
+ framebuffer->MarkAttachmentAsCleared(
+ group().renderbuffer_manager(), nullptr, GL_DEPTH_ATTACHMENT, true);
+
Enable cmd_enable;
cmd_enable.Init(GL_DEPTH_TEST);
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd_enable));
@@ -1976,6 +1997,13 @@ TEST_P(GLES3DecoderTest, ClearBufferfiValidArgs) {
GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER,
client_renderbuffer_id_, kServiceRenderbufferId, GL_NO_ERROR);
+ // TODO(zmo): Set up expectations for the path where the attachment isn't
+ // marked as cleared.
+ Framebuffer* framebuffer =
+ group().framebuffer_manager()->GetFramebuffer(client_framebuffer_id_);
+ framebuffer->MarkAttachmentAsCleared(group().renderbuffer_manager(), nullptr,
+ GL_DEPTH_STENCIL_ATTACHMENT, true);
+
Enable cmd_enable;
cmd_enable.Init(GL_STENCIL_TEST);
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd_enable));

Powered by Google App Engine
This is Rietveld 408576698