Index: gpu/command_buffer/common/gles2_cmd_ids_autogen.h |
diff --git a/gpu/command_buffer/common/gles2_cmd_ids_autogen.h b/gpu/command_buffer/common/gles2_cmd_ids_autogen.h |
index d652511d157a37d576ba1d22782a13a34e92108d..eec1c04cf24439afe0fcd160b71d092908601331 100644 |
--- a/gpu/command_buffer/common/gles2_cmd_ids_autogen.h |
+++ b/gpu/command_buffer/common/gles2_cmd_ids_autogen.h |
@@ -111,183 +111,184 @@ |
OP(GetShaderPrecisionFormat) /* 352 */ \ |
OP(GetShaderSource) /* 353 */ \ |
OP(GetString) /* 354 */ \ |
- OP(GetTexParameterfv) /* 355 */ \ |
- OP(GetTexParameteriv) /* 356 */ \ |
- OP(GetTransformFeedbackVarying) /* 357 */ \ |
- OP(GetUniformBlockIndex) /* 358 */ \ |
- OP(GetUniformfv) /* 359 */ \ |
- OP(GetUniformiv) /* 360 */ \ |
- OP(GetUniformIndices) /* 361 */ \ |
- OP(GetUniformLocation) /* 362 */ \ |
- OP(GetVertexAttribfv) /* 363 */ \ |
- OP(GetVertexAttribiv) /* 364 */ \ |
- OP(GetVertexAttribPointerv) /* 365 */ \ |
- OP(Hint) /* 366 */ \ |
- OP(InvalidateFramebufferImmediate) /* 367 */ \ |
- OP(InvalidateSubFramebufferImmediate) /* 368 */ \ |
- OP(IsBuffer) /* 369 */ \ |
- OP(IsEnabled) /* 370 */ \ |
- OP(IsFramebuffer) /* 371 */ \ |
- OP(IsProgram) /* 372 */ \ |
- OP(IsRenderbuffer) /* 373 */ \ |
- OP(IsSampler) /* 374 */ \ |
- OP(IsShader) /* 375 */ \ |
- OP(IsSync) /* 376 */ \ |
- OP(IsTexture) /* 377 */ \ |
- OP(IsTransformFeedback) /* 378 */ \ |
- OP(LineWidth) /* 379 */ \ |
- OP(LinkProgram) /* 380 */ \ |
- OP(PauseTransformFeedback) /* 381 */ \ |
- OP(PixelStorei) /* 382 */ \ |
- OP(PolygonOffset) /* 383 */ \ |
- OP(ReadBuffer) /* 384 */ \ |
- OP(ReadPixels) /* 385 */ \ |
- OP(ReleaseShaderCompiler) /* 386 */ \ |
- OP(RenderbufferStorage) /* 387 */ \ |
- OP(ResumeTransformFeedback) /* 388 */ \ |
- OP(SampleCoverage) /* 389 */ \ |
- OP(SamplerParameterf) /* 390 */ \ |
- OP(SamplerParameterfvImmediate) /* 391 */ \ |
- OP(SamplerParameteri) /* 392 */ \ |
- OP(SamplerParameterivImmediate) /* 393 */ \ |
- OP(Scissor) /* 394 */ \ |
- OP(ShaderBinary) /* 395 */ \ |
- OP(ShaderSourceBucket) /* 396 */ \ |
- OP(StencilFunc) /* 397 */ \ |
- OP(StencilFuncSeparate) /* 398 */ \ |
- OP(StencilMask) /* 399 */ \ |
- OP(StencilMaskSeparate) /* 400 */ \ |
- OP(StencilOp) /* 401 */ \ |
- OP(StencilOpSeparate) /* 402 */ \ |
- OP(TexImage2D) /* 403 */ \ |
- OP(TexImage3D) /* 404 */ \ |
- OP(TexParameterf) /* 405 */ \ |
- OP(TexParameterfvImmediate) /* 406 */ \ |
- OP(TexParameteri) /* 407 */ \ |
- OP(TexParameterivImmediate) /* 408 */ \ |
- OP(TexStorage3D) /* 409 */ \ |
- OP(TexSubImage2D) /* 410 */ \ |
- OP(TexSubImage3D) /* 411 */ \ |
- OP(TransformFeedbackVaryingsBucket) /* 412 */ \ |
- OP(Uniform1f) /* 413 */ \ |
- OP(Uniform1fvImmediate) /* 414 */ \ |
- OP(Uniform1i) /* 415 */ \ |
- OP(Uniform1ivImmediate) /* 416 */ \ |
- OP(Uniform1ui) /* 417 */ \ |
- OP(Uniform1uivImmediate) /* 418 */ \ |
- OP(Uniform2f) /* 419 */ \ |
- OP(Uniform2fvImmediate) /* 420 */ \ |
- OP(Uniform2i) /* 421 */ \ |
- OP(Uniform2ivImmediate) /* 422 */ \ |
- OP(Uniform2ui) /* 423 */ \ |
- OP(Uniform2uivImmediate) /* 424 */ \ |
- OP(Uniform3f) /* 425 */ \ |
- OP(Uniform3fvImmediate) /* 426 */ \ |
- OP(Uniform3i) /* 427 */ \ |
- OP(Uniform3ivImmediate) /* 428 */ \ |
- OP(Uniform3ui) /* 429 */ \ |
- OP(Uniform3uivImmediate) /* 430 */ \ |
- OP(Uniform4f) /* 431 */ \ |
- OP(Uniform4fvImmediate) /* 432 */ \ |
- OP(Uniform4i) /* 433 */ \ |
- OP(Uniform4ivImmediate) /* 434 */ \ |
- OP(Uniform4ui) /* 435 */ \ |
- OP(Uniform4uivImmediate) /* 436 */ \ |
- OP(UniformBlockBinding) /* 437 */ \ |
- OP(UniformMatrix2fvImmediate) /* 438 */ \ |
- OP(UniformMatrix2x3fvImmediate) /* 439 */ \ |
- OP(UniformMatrix2x4fvImmediate) /* 440 */ \ |
- OP(UniformMatrix3fvImmediate) /* 441 */ \ |
- OP(UniformMatrix3x2fvImmediate) /* 442 */ \ |
- OP(UniformMatrix3x4fvImmediate) /* 443 */ \ |
- OP(UniformMatrix4fvImmediate) /* 444 */ \ |
- OP(UniformMatrix4x2fvImmediate) /* 445 */ \ |
- OP(UniformMatrix4x3fvImmediate) /* 446 */ \ |
- OP(UseProgram) /* 447 */ \ |
- OP(ValidateProgram) /* 448 */ \ |
- OP(VertexAttrib1f) /* 449 */ \ |
- OP(VertexAttrib1fvImmediate) /* 450 */ \ |
- OP(VertexAttrib2f) /* 451 */ \ |
- OP(VertexAttrib2fvImmediate) /* 452 */ \ |
- OP(VertexAttrib3f) /* 453 */ \ |
- OP(VertexAttrib3fvImmediate) /* 454 */ \ |
- OP(VertexAttrib4f) /* 455 */ \ |
- OP(VertexAttrib4fvImmediate) /* 456 */ \ |
- OP(VertexAttribI4i) /* 457 */ \ |
- OP(VertexAttribI4ivImmediate) /* 458 */ \ |
- OP(VertexAttribI4ui) /* 459 */ \ |
- OP(VertexAttribI4uivImmediate) /* 460 */ \ |
- OP(VertexAttribIPointer) /* 461 */ \ |
- OP(VertexAttribPointer) /* 462 */ \ |
- OP(Viewport) /* 463 */ \ |
- OP(WaitSync) /* 464 */ \ |
- OP(BlitFramebufferCHROMIUM) /* 465 */ \ |
- OP(RenderbufferStorageMultisampleCHROMIUM) /* 466 */ \ |
- OP(RenderbufferStorageMultisampleEXT) /* 467 */ \ |
- OP(FramebufferTexture2DMultisampleEXT) /* 468 */ \ |
- OP(TexStorage2DEXT) /* 469 */ \ |
- OP(GenQueriesEXTImmediate) /* 470 */ \ |
- OP(DeleteQueriesEXTImmediate) /* 471 */ \ |
- OP(BeginQueryEXT) /* 472 */ \ |
- OP(BeginTransformFeedback) /* 473 */ \ |
- OP(EndQueryEXT) /* 474 */ \ |
- OP(EndTransformFeedback) /* 475 */ \ |
- OP(InsertEventMarkerEXT) /* 476 */ \ |
- OP(PushGroupMarkerEXT) /* 477 */ \ |
- OP(PopGroupMarkerEXT) /* 478 */ \ |
- OP(GenVertexArraysOESImmediate) /* 479 */ \ |
- OP(DeleteVertexArraysOESImmediate) /* 480 */ \ |
- OP(IsVertexArrayOES) /* 481 */ \ |
- OP(BindVertexArrayOES) /* 482 */ \ |
- OP(SwapBuffers) /* 483 */ \ |
- OP(GetMaxValueInBufferCHROMIUM) /* 484 */ \ |
- OP(EnableFeatureCHROMIUM) /* 485 */ \ |
- OP(ResizeCHROMIUM) /* 486 */ \ |
- OP(GetRequestableExtensionsCHROMIUM) /* 487 */ \ |
- OP(RequestExtensionCHROMIUM) /* 488 */ \ |
- OP(GetProgramInfoCHROMIUM) /* 489 */ \ |
- OP(GetUniformBlocksCHROMIUM) /* 490 */ \ |
- OP(GetTransformFeedbackVaryingsCHROMIUM) /* 491 */ \ |
- OP(GetUniformsES3CHROMIUM) /* 492 */ \ |
- OP(GetTranslatedShaderSourceANGLE) /* 493 */ \ |
- OP(PostSubBufferCHROMIUM) /* 494 */ \ |
- OP(TexImageIOSurface2DCHROMIUM) /* 495 */ \ |
- OP(CopyTextureCHROMIUM) /* 496 */ \ |
- OP(DrawArraysInstancedANGLE) /* 497 */ \ |
- OP(DrawElementsInstancedANGLE) /* 498 */ \ |
- OP(VertexAttribDivisorANGLE) /* 499 */ \ |
- OP(GenMailboxCHROMIUM) /* 500 */ \ |
- OP(ProduceTextureCHROMIUMImmediate) /* 501 */ \ |
- OP(ProduceTextureDirectCHROMIUMImmediate) /* 502 */ \ |
- OP(ConsumeTextureCHROMIUMImmediate) /* 503 */ \ |
- OP(CreateAndConsumeTextureCHROMIUMImmediate) /* 504 */ \ |
- OP(BindUniformLocationCHROMIUMBucket) /* 505 */ \ |
- OP(GenValuebuffersCHROMIUMImmediate) /* 506 */ \ |
- OP(DeleteValuebuffersCHROMIUMImmediate) /* 507 */ \ |
- OP(IsValuebufferCHROMIUM) /* 508 */ \ |
- OP(BindValuebufferCHROMIUM) /* 509 */ \ |
- OP(SubscribeValueCHROMIUM) /* 510 */ \ |
- OP(PopulateSubscribedValuesCHROMIUM) /* 511 */ \ |
- OP(UniformValuebufferCHROMIUM) /* 512 */ \ |
- OP(BindTexImage2DCHROMIUM) /* 513 */ \ |
- OP(ReleaseTexImage2DCHROMIUM) /* 514 */ \ |
- OP(TraceBeginCHROMIUM) /* 515 */ \ |
- OP(TraceEndCHROMIUM) /* 516 */ \ |
- OP(AsyncTexSubImage2DCHROMIUM) /* 517 */ \ |
- OP(AsyncTexImage2DCHROMIUM) /* 518 */ \ |
- OP(WaitAsyncTexImage2DCHROMIUM) /* 519 */ \ |
- OP(WaitAllAsyncTexImage2DCHROMIUM) /* 520 */ \ |
- OP(DiscardFramebufferEXTImmediate) /* 521 */ \ |
- OP(LoseContextCHROMIUM) /* 522 */ \ |
- OP(InsertSyncPointCHROMIUM) /* 523 */ \ |
- OP(WaitSyncPointCHROMIUM) /* 524 */ \ |
- OP(DrawBuffersEXTImmediate) /* 525 */ \ |
- OP(DiscardBackbufferCHROMIUM) /* 526 */ \ |
- OP(ScheduleOverlayPlaneCHROMIUM) /* 527 */ \ |
- OP(SwapInterval) /* 528 */ \ |
- OP(MatrixLoadfCHROMIUMImmediate) /* 529 */ \ |
- OP(MatrixLoadIdentityCHROMIUM) /* 530 */ \ |
- OP(BlendBarrierKHR) /* 531 */ |
+ OP(GetSynciv) /* 355 */ \ |
+ OP(GetTexParameterfv) /* 356 */ \ |
+ OP(GetTexParameteriv) /* 357 */ \ |
+ OP(GetTransformFeedbackVarying) /* 358 */ \ |
+ OP(GetUniformBlockIndex) /* 359 */ \ |
+ OP(GetUniformfv) /* 360 */ \ |
+ OP(GetUniformiv) /* 361 */ \ |
+ OP(GetUniformIndices) /* 362 */ \ |
+ OP(GetUniformLocation) /* 363 */ \ |
+ OP(GetVertexAttribfv) /* 364 */ \ |
+ OP(GetVertexAttribiv) /* 365 */ \ |
+ OP(GetVertexAttribPointerv) /* 366 */ \ |
+ OP(Hint) /* 367 */ \ |
+ OP(InvalidateFramebufferImmediate) /* 368 */ \ |
+ OP(InvalidateSubFramebufferImmediate) /* 369 */ \ |
+ OP(IsBuffer) /* 370 */ \ |
+ OP(IsEnabled) /* 371 */ \ |
+ OP(IsFramebuffer) /* 372 */ \ |
+ OP(IsProgram) /* 373 */ \ |
+ OP(IsRenderbuffer) /* 374 */ \ |
+ OP(IsSampler) /* 375 */ \ |
+ OP(IsShader) /* 376 */ \ |
+ OP(IsSync) /* 377 */ \ |
+ OP(IsTexture) /* 378 */ \ |
+ OP(IsTransformFeedback) /* 379 */ \ |
+ OP(LineWidth) /* 380 */ \ |
+ OP(LinkProgram) /* 381 */ \ |
+ OP(PauseTransformFeedback) /* 382 */ \ |
+ OP(PixelStorei) /* 383 */ \ |
+ OP(PolygonOffset) /* 384 */ \ |
+ OP(ReadBuffer) /* 385 */ \ |
+ OP(ReadPixels) /* 386 */ \ |
+ OP(ReleaseShaderCompiler) /* 387 */ \ |
+ OP(RenderbufferStorage) /* 388 */ \ |
+ OP(ResumeTransformFeedback) /* 389 */ \ |
+ OP(SampleCoverage) /* 390 */ \ |
+ OP(SamplerParameterf) /* 391 */ \ |
+ OP(SamplerParameterfvImmediate) /* 392 */ \ |
+ OP(SamplerParameteri) /* 393 */ \ |
+ OP(SamplerParameterivImmediate) /* 394 */ \ |
+ OP(Scissor) /* 395 */ \ |
+ OP(ShaderBinary) /* 396 */ \ |
+ OP(ShaderSourceBucket) /* 397 */ \ |
+ OP(StencilFunc) /* 398 */ \ |
+ OP(StencilFuncSeparate) /* 399 */ \ |
+ OP(StencilMask) /* 400 */ \ |
+ OP(StencilMaskSeparate) /* 401 */ \ |
+ OP(StencilOp) /* 402 */ \ |
+ OP(StencilOpSeparate) /* 403 */ \ |
+ OP(TexImage2D) /* 404 */ \ |
+ OP(TexImage3D) /* 405 */ \ |
+ OP(TexParameterf) /* 406 */ \ |
+ OP(TexParameterfvImmediate) /* 407 */ \ |
+ OP(TexParameteri) /* 408 */ \ |
+ OP(TexParameterivImmediate) /* 409 */ \ |
+ OP(TexStorage3D) /* 410 */ \ |
+ OP(TexSubImage2D) /* 411 */ \ |
+ OP(TexSubImage3D) /* 412 */ \ |
+ OP(TransformFeedbackVaryingsBucket) /* 413 */ \ |
+ OP(Uniform1f) /* 414 */ \ |
+ OP(Uniform1fvImmediate) /* 415 */ \ |
+ OP(Uniform1i) /* 416 */ \ |
+ OP(Uniform1ivImmediate) /* 417 */ \ |
+ OP(Uniform1ui) /* 418 */ \ |
+ OP(Uniform1uivImmediate) /* 419 */ \ |
+ OP(Uniform2f) /* 420 */ \ |
+ OP(Uniform2fvImmediate) /* 421 */ \ |
+ OP(Uniform2i) /* 422 */ \ |
+ OP(Uniform2ivImmediate) /* 423 */ \ |
+ OP(Uniform2ui) /* 424 */ \ |
+ OP(Uniform2uivImmediate) /* 425 */ \ |
+ OP(Uniform3f) /* 426 */ \ |
+ OP(Uniform3fvImmediate) /* 427 */ \ |
+ OP(Uniform3i) /* 428 */ \ |
+ OP(Uniform3ivImmediate) /* 429 */ \ |
+ OP(Uniform3ui) /* 430 */ \ |
+ OP(Uniform3uivImmediate) /* 431 */ \ |
+ OP(Uniform4f) /* 432 */ \ |
+ OP(Uniform4fvImmediate) /* 433 */ \ |
+ OP(Uniform4i) /* 434 */ \ |
+ OP(Uniform4ivImmediate) /* 435 */ \ |
+ OP(Uniform4ui) /* 436 */ \ |
+ OP(Uniform4uivImmediate) /* 437 */ \ |
+ OP(UniformBlockBinding) /* 438 */ \ |
+ OP(UniformMatrix2fvImmediate) /* 439 */ \ |
+ OP(UniformMatrix2x3fvImmediate) /* 440 */ \ |
+ OP(UniformMatrix2x4fvImmediate) /* 441 */ \ |
+ OP(UniformMatrix3fvImmediate) /* 442 */ \ |
+ OP(UniformMatrix3x2fvImmediate) /* 443 */ \ |
+ OP(UniformMatrix3x4fvImmediate) /* 444 */ \ |
+ OP(UniformMatrix4fvImmediate) /* 445 */ \ |
+ OP(UniformMatrix4x2fvImmediate) /* 446 */ \ |
+ OP(UniformMatrix4x3fvImmediate) /* 447 */ \ |
+ OP(UseProgram) /* 448 */ \ |
+ OP(ValidateProgram) /* 449 */ \ |
+ OP(VertexAttrib1f) /* 450 */ \ |
+ OP(VertexAttrib1fvImmediate) /* 451 */ \ |
+ OP(VertexAttrib2f) /* 452 */ \ |
+ OP(VertexAttrib2fvImmediate) /* 453 */ \ |
+ OP(VertexAttrib3f) /* 454 */ \ |
+ OP(VertexAttrib3fvImmediate) /* 455 */ \ |
+ OP(VertexAttrib4f) /* 456 */ \ |
+ OP(VertexAttrib4fvImmediate) /* 457 */ \ |
+ OP(VertexAttribI4i) /* 458 */ \ |
+ OP(VertexAttribI4ivImmediate) /* 459 */ \ |
+ OP(VertexAttribI4ui) /* 460 */ \ |
+ OP(VertexAttribI4uivImmediate) /* 461 */ \ |
+ OP(VertexAttribIPointer) /* 462 */ \ |
+ OP(VertexAttribPointer) /* 463 */ \ |
+ OP(Viewport) /* 464 */ \ |
+ OP(WaitSync) /* 465 */ \ |
+ OP(BlitFramebufferCHROMIUM) /* 466 */ \ |
+ OP(RenderbufferStorageMultisampleCHROMIUM) /* 467 */ \ |
+ OP(RenderbufferStorageMultisampleEXT) /* 468 */ \ |
+ OP(FramebufferTexture2DMultisampleEXT) /* 469 */ \ |
+ OP(TexStorage2DEXT) /* 470 */ \ |
+ OP(GenQueriesEXTImmediate) /* 471 */ \ |
+ OP(DeleteQueriesEXTImmediate) /* 472 */ \ |
+ OP(BeginQueryEXT) /* 473 */ \ |
+ OP(BeginTransformFeedback) /* 474 */ \ |
+ OP(EndQueryEXT) /* 475 */ \ |
+ OP(EndTransformFeedback) /* 476 */ \ |
+ OP(InsertEventMarkerEXT) /* 477 */ \ |
+ OP(PushGroupMarkerEXT) /* 478 */ \ |
+ OP(PopGroupMarkerEXT) /* 479 */ \ |
+ OP(GenVertexArraysOESImmediate) /* 480 */ \ |
+ OP(DeleteVertexArraysOESImmediate) /* 481 */ \ |
+ OP(IsVertexArrayOES) /* 482 */ \ |
+ OP(BindVertexArrayOES) /* 483 */ \ |
+ OP(SwapBuffers) /* 484 */ \ |
+ OP(GetMaxValueInBufferCHROMIUM) /* 485 */ \ |
+ OP(EnableFeatureCHROMIUM) /* 486 */ \ |
+ OP(ResizeCHROMIUM) /* 487 */ \ |
+ OP(GetRequestableExtensionsCHROMIUM) /* 488 */ \ |
+ OP(RequestExtensionCHROMIUM) /* 489 */ \ |
+ OP(GetProgramInfoCHROMIUM) /* 490 */ \ |
+ OP(GetUniformBlocksCHROMIUM) /* 491 */ \ |
+ OP(GetTransformFeedbackVaryingsCHROMIUM) /* 492 */ \ |
+ OP(GetUniformsES3CHROMIUM) /* 493 */ \ |
+ OP(GetTranslatedShaderSourceANGLE) /* 494 */ \ |
+ OP(PostSubBufferCHROMIUM) /* 495 */ \ |
+ OP(TexImageIOSurface2DCHROMIUM) /* 496 */ \ |
+ OP(CopyTextureCHROMIUM) /* 497 */ \ |
+ OP(DrawArraysInstancedANGLE) /* 498 */ \ |
+ OP(DrawElementsInstancedANGLE) /* 499 */ \ |
+ OP(VertexAttribDivisorANGLE) /* 500 */ \ |
+ OP(GenMailboxCHROMIUM) /* 501 */ \ |
+ OP(ProduceTextureCHROMIUMImmediate) /* 502 */ \ |
+ OP(ProduceTextureDirectCHROMIUMImmediate) /* 503 */ \ |
+ OP(ConsumeTextureCHROMIUMImmediate) /* 504 */ \ |
+ OP(CreateAndConsumeTextureCHROMIUMImmediate) /* 505 */ \ |
+ OP(BindUniformLocationCHROMIUMBucket) /* 506 */ \ |
+ OP(GenValuebuffersCHROMIUMImmediate) /* 507 */ \ |
+ OP(DeleteValuebuffersCHROMIUMImmediate) /* 508 */ \ |
+ OP(IsValuebufferCHROMIUM) /* 509 */ \ |
+ OP(BindValuebufferCHROMIUM) /* 510 */ \ |
+ OP(SubscribeValueCHROMIUM) /* 511 */ \ |
+ OP(PopulateSubscribedValuesCHROMIUM) /* 512 */ \ |
+ OP(UniformValuebufferCHROMIUM) /* 513 */ \ |
+ OP(BindTexImage2DCHROMIUM) /* 514 */ \ |
+ OP(ReleaseTexImage2DCHROMIUM) /* 515 */ \ |
+ OP(TraceBeginCHROMIUM) /* 516 */ \ |
+ OP(TraceEndCHROMIUM) /* 517 */ \ |
+ OP(AsyncTexSubImage2DCHROMIUM) /* 518 */ \ |
+ OP(AsyncTexImage2DCHROMIUM) /* 519 */ \ |
+ OP(WaitAsyncTexImage2DCHROMIUM) /* 520 */ \ |
+ OP(WaitAllAsyncTexImage2DCHROMIUM) /* 521 */ \ |
+ OP(DiscardFramebufferEXTImmediate) /* 522 */ \ |
+ OP(LoseContextCHROMIUM) /* 523 */ \ |
+ OP(InsertSyncPointCHROMIUM) /* 524 */ \ |
+ OP(WaitSyncPointCHROMIUM) /* 525 */ \ |
+ OP(DrawBuffersEXTImmediate) /* 526 */ \ |
+ OP(DiscardBackbufferCHROMIUM) /* 527 */ \ |
+ OP(ScheduleOverlayPlaneCHROMIUM) /* 528 */ \ |
+ OP(SwapInterval) /* 529 */ \ |
+ OP(MatrixLoadfCHROMIUMImmediate) /* 530 */ \ |
+ OP(MatrixLoadIdentityCHROMIUM) /* 531 */ \ |
+ OP(BlendBarrierKHR) /* 532 */ |
enum CommandId { |
kStartPoint = cmd::kLastCommonId, // All GLES2 commands start after this. |