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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h

Issue 2264253003: Command buffers: ensure we only read immediate data once (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Keep track of the correct draw buffer Created 4 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_ 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_
6 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 // certain commands. 63 // certain commands.
64 template <typename T, int id> 64 template <typename T, int id>
65 void SpecializedSetup(bool valid) { 65 void SpecializedSetup(bool valid) {
66 } 66 }
67 67
68 template <typename T> 68 template <typename T>
69 T* GetImmediateAs() { 69 T* GetImmediateAs() {
70 return reinterpret_cast<T*>(immediate_buffer_); 70 return reinterpret_cast<T*>(immediate_buffer_);
71 } 71 }
72 72
73 template <typename T, typename Command>
74 T GetImmediateDataAs(Command* cmd) {
75 return reinterpret_cast<T>(ImmediateDataAddress(cmd));
76 }
77
78 void ClearSharedMemory() { 73 void ClearSharedMemory() {
79 engine_->ClearSharedMemory(); 74 engine_->ClearSharedMemory();
80 } 75 }
81 76
82 void SetUp() override; 77 void SetUp() override;
83 void TearDown() override; 78 void TearDown() override;
84 79
85 template <typename T> 80 template <typename T>
86 error::Error ExecuteCmd(const T& cmd) { 81 error::Error ExecuteCmd(const T& cmd) {
87 static_assert(T::kArgFlags == cmd::kFixed, 82 static_assert(T::kArgFlags == cmd::kFixed,
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 static const GLint kBadAttribIndex = kNumVertexAttribs; 561 static const GLint kBadAttribIndex = kNumVertexAttribs;
567 562
568 static const GLint kMaxUniformLength = 12; 563 static const GLint kMaxUniformLength = 12;
569 static const char* kUniform1Name; 564 static const char* kUniform1Name;
570 static const char* kUniform2Name; 565 static const char* kUniform2Name;
571 static const char* kUniform3Name; 566 static const char* kUniform3Name;
572 static const char* kUniform4Name; 567 static const char* kUniform4Name;
573 static const char* kUniform5Name; 568 static const char* kUniform5Name;
574 static const char* kUniform6Name; 569 static const char* kUniform6Name;
575 static const char* kUniform7Name; 570 static const char* kUniform7Name;
571 static const char* kUniform8Name;
576 static const GLint kUniform1Size = 1; 572 static const GLint kUniform1Size = 1;
577 static const GLint kUniform2Size = 3; 573 static const GLint kUniform2Size = 3;
578 static const GLint kUniform3Size = 2; 574 static const GLint kUniform3Size = 2;
579 static const GLint kUniform4Size = 1; 575 static const GLint kUniform4Size = 1;
580 static const GLint kUniform5Size = 1; 576 static const GLint kUniform5Size = 1;
581 static const GLint kUniform6Size = 1; 577 static const GLint kUniform6Size = 1;
582 static const GLint kUniform7Size = 1; 578 static const GLint kUniform7Size = 1;
579 static const GLint kUniform8Size = 2;
583 static const GLint kUniform1RealLocation = 3; 580 static const GLint kUniform1RealLocation = 3;
584 static const GLint kUniform2RealLocation = 10; 581 static const GLint kUniform2RealLocation = 10;
585 static const GLint kUniform2ElementRealLocation = 12; 582 static const GLint kUniform2ElementRealLocation = 12;
586 static const GLint kUniform3RealLocation = 20; 583 static const GLint kUniform3RealLocation = 20;
587 static const GLint kUniform4RealLocation = 22; 584 static const GLint kUniform4RealLocation = 22;
588 static const GLint kUniform5RealLocation = 30; 585 static const GLint kUniform5RealLocation = 30;
589 static const GLint kUniform6RealLocation = 32; 586 static const GLint kUniform6RealLocation = 32;
590 static const GLint kUniform7RealLocation = 44; 587 static const GLint kUniform7RealLocation = 44;
588 static const GLint kUniform8RealLocation = 56;
591 static const GLint kUniform1FakeLocation = 0; // These are 589 static const GLint kUniform1FakeLocation = 0; // These are
592 static const GLint kUniform2FakeLocation = 1; // hardcoded 590 static const GLint kUniform2FakeLocation = 1; // hardcoded
593 static const GLint kUniform2ElementFakeLocation = 0x10001; // to match 591 static const GLint kUniform2ElementFakeLocation = 0x10001; // to match
594 static const GLint kUniform3FakeLocation = 2; // ProgramManager. 592 static const GLint kUniform3FakeLocation = 2; // ProgramManager.
595 static const GLint kUniform4FakeLocation = 3; // 593 static const GLint kUniform4FakeLocation = 3; //
596 static const GLint kUniform5FakeLocation = 4; // 594 static const GLint kUniform5FakeLocation = 4; //
597 static const GLint kUniform6FakeLocation = 5; // 595 static const GLint kUniform6FakeLocation = 5; //
598 static const GLint kUniform7FakeLocation = 6; // 596 static const GLint kUniform7FakeLocation = 6; //
597 static const GLint kUniform8FakeLocation = 7; //
599 static const GLint kUniform1DesiredLocation = -1; 598 static const GLint kUniform1DesiredLocation = -1;
600 static const GLint kUniform2DesiredLocation = -1; 599 static const GLint kUniform2DesiredLocation = -1;
601 static const GLint kUniform3DesiredLocation = -1; 600 static const GLint kUniform3DesiredLocation = -1;
602 static const GLint kUniform4DesiredLocation = -1; 601 static const GLint kUniform4DesiredLocation = -1;
603 static const GLint kUniform5DesiredLocation = -1; 602 static const GLint kUniform5DesiredLocation = -1;
604 static const GLint kUniform6DesiredLocation = -1; 603 static const GLint kUniform6DesiredLocation = -1;
605 static const GLint kUniform7DesiredLocation = -1; 604 static const GLint kUniform7DesiredLocation = -1;
605 static const GLint kUniform8DesiredLocation = -1;
606 static const GLenum kUniform1Type = GL_SAMPLER_2D; 606 static const GLenum kUniform1Type = GL_SAMPLER_2D;
607 static const GLenum kUniform2Type = GL_INT_VEC2; 607 static const GLenum kUniform2Type = GL_INT_VEC2;
608 static const GLenum kUniform3Type = GL_FLOAT_VEC3; 608 static const GLenum kUniform3Type = GL_FLOAT_VEC3;
609 static const GLenum kUniform4Type = GL_UNSIGNED_INT; 609 static const GLenum kUniform4Type = GL_UNSIGNED_INT;
610 static const GLenum kUniform5Type = GL_UNSIGNED_INT_VEC2; 610 static const GLenum kUniform5Type = GL_UNSIGNED_INT_VEC2;
611 static const GLenum kUniform6Type = GL_UNSIGNED_INT_VEC3; 611 static const GLenum kUniform6Type = GL_UNSIGNED_INT_VEC3;
612 static const GLenum kUniform7Type = GL_UNSIGNED_INT_VEC4; 612 static const GLenum kUniform7Type = GL_UNSIGNED_INT_VEC4;
613 static const GLenum kUniform8Type = GL_INT;
613 static const GLenum kUniformSamplerExternalType = GL_SAMPLER_EXTERNAL_OES; 614 static const GLenum kUniformSamplerExternalType = GL_SAMPLER_EXTERNAL_OES;
614 static const GLenum kUniformCubemapType = GL_SAMPLER_CUBE; 615 static const GLenum kUniformCubemapType = GL_SAMPLER_CUBE;
615 static const GLint kInvalidUniformLocation = 30; 616 static const GLint kInvalidUniformLocation = 30;
616 static const GLint kBadUniformIndex = 1000; 617 static const GLint kBadUniformIndex = 1000;
617 618
618 static const GLint kOutputVariable1Size = 0; 619 static const GLint kOutputVariable1Size = 0;
619 static const GLenum kOutputVariable1Type = GL_FLOAT_VEC4; 620 static const GLenum kOutputVariable1Type = GL_FLOAT_VEC4;
620 static const GLuint kOutputVariable1ColorName = 7; 621 static const GLuint kOutputVariable1ColorName = 7;
621 static const GLuint kOutputVariable1Index = 0; 622 static const GLuint kOutputVariable1Index = 0;
622 static const char* kOutputVariable1Name; 623 static const char* kOutputVariable1Name;
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 765
765 protected: 766 protected:
766 void SetUp() override; 767 void SetUp() override;
767 void TearDown() override; 768 void TearDown() override;
768 }; 769 };
769 770
770 // SpecializedSetup specializations that are needed in multiple unittest files. 771 // SpecializedSetup specializations that are needed in multiple unittest files.
771 template <> 772 template <>
772 void GLES2DecoderTestBase::SpecializedSetup<cmds::LinkProgram, 0>(bool valid); 773 void GLES2DecoderTestBase::SpecializedSetup<cmds::LinkProgram, 0>(bool valid);
773 774
775 MATCHER_P2(PointsToArray, array, size, "") {
776 for (size_t i = 0; i < static_cast<size_t>(size); ++i) {
777 if (arg[i] != array[i])
778 return false;
779 }
780 return true;
781 }
782
774 } // namespace gles2 783 } // namespace gles2
775 } // namespace gpu 784 } // namespace gpu
776 785
777 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_ 786 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698