| 450 | } |
| 451 | |
| 452 | std::string Type::ToString() const |
| 453 | { |
| 454 | if( symbol ) |
| 455 | { |
| 456 | return ::ToString( symbol->name ); |
| 457 | } |
| 458 | std::string result; |
| 459 | switch( builtInType ) |
| 460 | { |
| 461 | case OP_FLOAT: |
| 462 | result = "float"; |
| 463 | break; |
| 464 | case OP_INT: |
| 465 | result = "int"; |
| 466 | break; |
| 467 | case OP_UINT: |
| 468 | result = "uint"; |
| 469 | break; |
| 470 | case OP_HALF: |
| 471 | result = "half"; |
| 472 | break; |
| 473 | case OP_DOUBLE: |
| 474 | result = "double"; |
| 475 | break; |
| 476 | case OP_BOOL: |
| 477 | result = "bool"; |
| 478 | break; |
| 479 | case OP_STRING: |
| 480 | result = "string"; |
| 481 | break; |
| 482 | case OP_VOID: |
| 483 | return "void"; |
| 484 | case OP_SAMPLER2D: |
| 485 | case OP_SAMPLER3D: |
| 486 | case OP_SAMPLERCUBE: |
| 487 | case OP_SAMPLER: |
| 488 | case OP_SAMPLERCOMPARISON: |
| 489 | return "sampler"; |
| 490 | case OP_TEXTURE1D: |
| 491 | return "Texture1D"; |
| 492 | case OP_TEXTURE2D: |
| 493 | return isDepthTexture ? "DepthTexture2D" : "Texture2D"; |
| 494 | case OP_TEXTURE3D: |
| 495 | return "Texture3D"; |
| 496 | case OP_TEXTURECUBE: |
| 497 | return "TextureCube"; |
| 498 | case OP_TEXTURE1DARRAY: |
| 499 | return "Texture1DArray"; |
| 500 | case OP_TEXTURE2DARRAY: |
| 501 | return isDepthTexture ? "DepthTexture2DArray" : "Texture2DArray"; |
| 502 | case OP_TEXTURE3DARRAY: |
| 503 | return "Texture3DArray"; |
| 504 | case OP_TEXTURECUBEARRAY: |
| 505 | return "TextureCubeArray"; |
| 506 | case OP_TEXTURE2DMS: |
| 507 | return "Texture2DMS"; |
| 508 | case OP_TEXTURE2DMSARRAY: |
| 509 | return "Texture2DMSArray"; |
no test coverage detected