| 679 | } |
| 680 | |
| 681 | char GetRegisterType( const Type& type ) |
| 682 | { |
| 683 | if( type.symbol ) |
| 684 | { |
| 685 | return 0; |
| 686 | } |
| 687 | switch( type.builtInType ) |
| 688 | { |
| 689 | case OP_SAMPLER2D: |
| 690 | case OP_SAMPLER3D: |
| 691 | case OP_SAMPLERCUBE: |
| 692 | case OP_SAMPLER: |
| 693 | case OP_SAMPLERCOMPARISON: |
| 694 | return 's'; |
| 695 | case OP_TEXTURE1D: |
| 696 | case OP_TEXTURE2D: |
| 697 | case OP_TEXTURE3D: |
| 698 | case OP_TEXTURECUBE: |
| 699 | case OP_TEXTURE1DARRAY: |
| 700 | case OP_TEXTURE2DARRAY: |
| 701 | case OP_TEXTURE3DARRAY: |
| 702 | case OP_TEXTURECUBEARRAY: |
| 703 | case OP_TEXTURE2DMS: |
| 704 | case OP_TEXTURE2DMSARRAY: |
| 705 | case OP_TEXTURE: |
| 706 | case OP_BUFFER: |
| 707 | case OP_STRUCTUREDBUFFER: |
| 708 | case OP_RAYTRACING_ACCELERATION_STRUCTURE: |
| 709 | case OP_BYTEADDRESSBUFFER: |
| 710 | return 't'; |
| 711 | case OP_APPENDSTRUCTUREDBUFFER: |
| 712 | case OP_CONSUMESTRUCTUREDBUFFER: |
| 713 | case OP_RWBUFFER: |
| 714 | case OP_RWBYTEADDRESSBUFFER: |
| 715 | case OP_RWSTRUCTUREDBUFFER: |
| 716 | case OP_RWTEXTURE1D: |
| 717 | case OP_RWTEXTURE1DARRAY: |
| 718 | case OP_RWTEXTURE2D: |
| 719 | case OP_RWTEXTURE2DARRAY: |
| 720 | case OP_RWTEXTURE3D: |
| 721 | case OP_RWTEXTURE3DARRAY: |
| 722 | return 'u'; |
| 723 | default: |
| 724 | return 0; |
| 725 | } |
| 726 | } |
| 727 | |
| 728 | bool SymbolMatchesGlobalInput( const Symbol& symbol, const GlobalInputElement& element ) |
| 729 | { |
no outgoing calls
no test coverage detected