SPV: Don't make MissingFunctionality() exit anymore.
This commit is contained in:
		
							parent
							
								
									2211835b4d
								
							
						
					
					
						commit
						50e57560a1
					
				@ -786,16 +786,14 @@ bool TGlslangToSpvTraverser::visitBinary(glslang::TVisit /* visit */, glslang::T
 | 
				
			|||||||
                                   convertGlslangToSpvType(node->getType()), left, right,
 | 
					                                   convertGlslangToSpvType(node->getType()), left, right,
 | 
				
			||||||
                                   node->getLeft()->getType().getBasicType());
 | 
					                                   node->getLeft()->getType().getBasicType());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    builder.clearAccessChain();
 | 
				
			||||||
    if (! result) {
 | 
					    if (! result) {
 | 
				
			||||||
        spv::MissingFunctionality("unknown glslang binary operation");
 | 
					        spv::MissingFunctionality("unknown glslang binary operation");
 | 
				
			||||||
 | 
					        return true;  // pick up a child as the place-holder result
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        builder.clearAccessChain();
 | 
					 | 
				
			||||||
        builder.setAccessChainRValue(result);
 | 
					        builder.setAccessChainRValue(result);
 | 
				
			||||||
 | 
					 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TIntermUnary* node)
 | 
					bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TIntermUnary* node)
 | 
				
			||||||
@ -908,10 +906,8 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    default:
 | 
					    default:
 | 
				
			||||||
        spv::MissingFunctionality("unknown glslang unary");
 | 
					        spv::MissingFunctionality("unknown glslang unary");
 | 
				
			||||||
        break;
 | 
					        return true;  // pick up operand as placeholder result
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TIntermAggregate* node)
 | 
					bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TIntermAggregate* node)
 | 
				
			||||||
@ -1251,7 +1247,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (! result) {
 | 
					    if (! result) {
 | 
				
			||||||
        spv::MissingFunctionality("unknown glslang aggregate");
 | 
					        spv::MissingFunctionality("unknown glslang aggregate");
 | 
				
			||||||
        return true;
 | 
					        return true;  // pick up a child as a placeholder operand
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        builder.clearAccessChain();
 | 
					        builder.clearAccessChain();
 | 
				
			||||||
        builder.setAccessChainRValue(result);
 | 
					        builder.setAccessChainRValue(result);
 | 
				
			||||||
 | 
				
			|||||||
@ -1369,14 +1369,12 @@ Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameter
 | 
				
			|||||||
        case Dim2D:
 | 
					        case Dim2D:
 | 
				
			||||||
        case DimCube:
 | 
					        case DimCube:
 | 
				
			||||||
        case DimRect:
 | 
					        case DimRect:
 | 
				
			||||||
 | 
					        case DimSubpassData:
 | 
				
			||||||
            numComponents = 2;
 | 
					            numComponents = 2;
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case Dim3D:
 | 
					        case Dim3D:
 | 
				
			||||||
            numComponents = 3;
 | 
					            numComponents = 3;
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case DimSubpassData:
 | 
					 | 
				
			||||||
            MissingFunctionality("input-attachment dim");
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        default:
 | 
					        default:
 | 
				
			||||||
            assert(0);
 | 
					            assert(0);
 | 
				
			||||||
@ -2251,7 +2249,6 @@ void TbdFunctionality(const char* tbd)
 | 
				
			|||||||
void MissingFunctionality(const char* fun)
 | 
					void MissingFunctionality(const char* fun)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    printf("Missing functionality: %s\n", fun);
 | 
					    printf("Missing functionality: %s\n", fun);
 | 
				
			||||||
    exit(1);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Builder::Loop::Loop(Builder& builder, bool testFirstArg)
 | 
					Builder::Loop::Loop(Builder& builder, bool testFirstArg)
 | 
				
			||||||
 | 
				
			|||||||
@ -2,5 +2,5 @@
 | 
				
			|||||||
// For the version, it uses the latest git tag followed by the number of commits.
 | 
					// For the version, it uses the latest git tag followed by the number of commits.
 | 
				
			||||||
// For the date, it uses the current date (when then script is run).
 | 
					// For the date, it uses the current date (when then script is run).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define GLSLANG_REVISION "SPIRV99.863"
 | 
					#define GLSLANG_REVISION "SPIRV99.864"
 | 
				
			||||||
#define GLSLANG_DATE "21-Dec-2015"
 | 
					#define GLSLANG_DATE "21-Dec-2015"
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user