| Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| index 7a04a7c7d65061ce7fd71b46731958fa3be6ba88..22e01c29c3c0b93d49e145aa02a1396a856cd0e7 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -2682,6 +2682,12 @@ void GLES2DecoderImpl::DoBindBuffer(GLenum target, GLuint client_id) {
|
| if (client_id != 0) {
|
| info = GetBufferInfo(client_id);
|
| if (!info) {
|
| + if (!group_->bind_generates_resource()) {
|
| + SetGLError(GL_INVALID_VALUE,
|
| + "glBindBuffer: id not generated by glGenBuffers");
|
| + return;
|
| + }
|
| +
|
| // It's a new id so make a buffer info for it.
|
| glGenBuffersARB(1, &service_id);
|
| CreateBufferInfo(client_id, service_id);
|
| @@ -2761,6 +2767,12 @@ void GLES2DecoderImpl::DoBindFramebuffer(GLenum target, GLuint client_id) {
|
| if (client_id != 0) {
|
| info = GetFramebufferInfo(client_id);
|
| if (!info) {
|
| + if (!group_->bind_generates_resource()) {
|
| + SetGLError(GL_INVALID_VALUE,
|
| + "glBindFramebuffer: id not generated by glGenFramebuffers");
|
| + return;
|
| + }
|
| +
|
| // It's a new id so make a framebuffer info for it.
|
| glGenFramebuffersEXT(1, &service_id);
|
| CreateFramebufferInfo(client_id, service_id);
|
| @@ -2800,6 +2812,13 @@ void GLES2DecoderImpl::DoBindRenderbuffer(GLenum target, GLuint client_id) {
|
| if (client_id != 0) {
|
| info = GetRenderbufferInfo(client_id);
|
| if (!info) {
|
| + if (!group_->bind_generates_resource()) {
|
| + SetGLError(
|
| + GL_INVALID_VALUE,
|
| + "glBindRenderbuffer: id not generated by glGenRenderbuffers");
|
| + return;
|
| + }
|
| +
|
| // It's a new id so make a renderbuffer info for it.
|
| glGenRenderbuffersEXT(1, &service_id);
|
| CreateRenderbufferInfo(client_id, service_id);
|
| @@ -2822,6 +2841,12 @@ void GLES2DecoderImpl::DoBindTexture(GLenum target, GLuint client_id) {
|
| if (client_id != 0) {
|
| info = GetTextureInfo(client_id);
|
| if (!info) {
|
| + if (!group_->bind_generates_resource()) {
|
| + SetGLError(GL_INVALID_VALUE,
|
| + "glBindTexture: id not generated by glGenTextures");
|
| + return;
|
| + }
|
| +
|
| // It's a new id so make a texture info for it.
|
| glGenTextures(1, &service_id);
|
| CreateTextureInfo(client_id, service_id);
|
|
|