};
- // disable clipper if viewport transform is disabled
+ // Disable clipper if viewport transform is disabled
if (pState->state.frontendState.vpTransformDisable)
{
pState->pfnProcessPrims = pfnBinner;
#endif
}
+ // Disable rasterizer and backend if no pixel, no depth/stencil, and no attributes
if ((pState->state.psState.pfnPixelShader == nullptr) &&
(pState->state.depthStencilState.depthTestEnable == FALSE) &&
(pState->state.depthStencilState.depthWriteEnable == FALSE) &&
JitCache mCache;
// Need to be rebuilt after a JIT and before building new IR
- llvm::Module* mpCurrentModule;
- bool mIsModuleFinalized;
- uint32_t mJitNumber;
+ llvm::Module* mpCurrentModule;
+ bool mIsModuleFinalized;
+ uint32_t mJitNumber;
- uint32_t mVWidth;
+ uint32_t mVWidth;
// Built in types.
- llvm::Type* mInt8Ty;
- llvm::Type* mInt32Ty;
- llvm::Type* mInt64Ty;
- llvm::Type* mFP32Ty;
+ llvm::Type* mInt8Ty;
+ llvm::Type* mInt32Ty;
+ llvm::Type* mInt64Ty;
+ llvm::Type* mFP32Ty;
- llvm::Type* mSimtFP32Ty;
- llvm::Type* mSimtInt32Ty;
+ llvm::Type* mSimtFP32Ty;
+ llvm::Type* mSimtInt32Ty;
- llvm::Type* mSimdVectorInt32Ty;
- llvm::Type* mSimdVectorTy;
+ llvm::Type* mSimdVectorInt32Ty;
+ llvm::Type* mSimdVectorTy;
#if USE_SIMD16_SHADERS
- llvm::Type* mSimd16FP32Ty;
- llvm::Type* mSimd16Int32Ty;
+ llvm::Type* mSimd16FP32Ty;
+ llvm::Type* mSimd16Int32Ty;
- llvm::Type* mSimd16VectorFP32Ty;
- llvm::Type* mSimd16VectorInt32Ty;
+ llvm::Type* mSimd16VectorFP32Ty;
+ llvm::Type* mSimd16VectorInt32Ty;
#endif
// fetch shader types
- llvm::FunctionType* mFetchShaderTy;
+ llvm::FunctionType* mFetchShaderTy;
- JitInstructionSet mArch;
- std::string mCore;
+ JitInstructionSet mArch;
+ std::string mCore;
// Debugging support
std::unordered_map<llvm::StructType*, llvm::DIType*> mDebugStructMap;