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

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

Issue 14308014: Clean up of GLES2 Command Decoder by moving some of the error state into a separate class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed the remaining tests. Added mock ErrorState. Created 7 years, 8 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/vertex_attrib_manager.cc
diff --git a/gpu/command_buffer/service/vertex_attrib_manager.cc b/gpu/command_buffer/service/vertex_attrib_manager.cc
index 9bba30d7afa37d154181b95a4e63b90e0116cee8..24f33a53e3c4039bf603b9938e9fc3635cdf93b6 100644
--- a/gpu/command_buffer/service/vertex_attrib_manager.cc
+++ b/gpu/command_buffer/service/vertex_attrib_manager.cc
@@ -15,6 +15,7 @@
#include "gpu/command_buffer/common/gles2_cmd_format.h"
#include "gpu/command_buffer/common/gles2_cmd_utils.h"
#include "gpu/command_buffer/service/buffer_manager.h"
+#include "gpu/command_buffer/service/error_state.h"
#include "gpu/command_buffer/service/feature_info.h"
#include "gpu/command_buffer/service/gl_utils.h"
#include "gpu/command_buffer/service/gles2_cmd_decoder.h"
@@ -166,6 +167,7 @@ bool VertexAttribManager::ValidateBindings(
Program* current_program,
GLuint max_vertex_accessed,
GLsizei primcount) {
+ ErrorState * error_state = decoder->GetErrorState();
dsinclair 2013/04/17 00:39:09 nit: no space before *.
kloveless 2013/04/17 14:58:01 Done.
// true if any enabled, used divisor is zero
bool divisor0 = false;
const GLuint kInitialBufferId = 0xFFFFFFFFU;
@@ -186,8 +188,8 @@ bool VertexAttribManager::ValidateBindings(
GLuint count = attrib->MaxVertexAccessed(primcount, max_vertex_accessed);
// This attrib is used in the current program.
if (!attrib->CanAccess(count)) {
- GLESDECODER_SET_GL_ERROR(
- decoder, GL_INVALID_OPERATION, function_name,
+ ERRORSTATE_SET_GL_ERROR(
+ error_state, GL_INVALID_OPERATION, function_name,
(std::string(
"attempt to access out of range vertices in attribute ") +
base::IntToString(attrib->index())).c_str());
@@ -231,8 +233,8 @@ bool VertexAttribManager::ValidateBindings(
} else {
// This attrib is not used in the current program.
if (!attrib->buffer()) {
- GLESDECODER_SET_GL_ERROR(
- decoder, GL_INVALID_OPERATION, function_name,
+ ERRORSTATE_SET_GL_ERROR(
+ error_state, GL_INVALID_OPERATION, function_name,
(std::string(
"attempt to render with no buffer attached to "
"enabled attribute ") +
@@ -253,8 +255,8 @@ bool VertexAttribManager::ValidateBindings(
}
if (primcount && !divisor0) {
- GLESDECODER_SET_GL_ERROR(
- decoder, GL_INVALID_OPERATION, function_name,
+ ERRORSTATE_SET_GL_ERROR(
+ error_state, GL_INVALID_OPERATION, function_name,
"attempt instanced render with all attributes having "
"non-zero divisors");
return false;

Powered by Google App Engine
This is Rietveld 408576698