Lines Matching refs:mtl

55                                       mtl::BufferPool *dynamicBuffer,
59 mtl::BufferRef *bufferOut,
171 void InitArgumentBufferEncoder(mtl::Context *context,
180 mtl::kArgumentBufferOffsetAlignment, 0);
184 angle::Result CreateMslShader(mtl::Context *context,
187 mtl::AutoObjCPtr<id<MTLFunction>> *shaderOut)
250 mMetalXfbRenderPipelineCache = new mtl::RenderPipelineCache(this);
260 auto contextMtl = mtl::GetImpl(context);
293 if (mAuxBufferPool->reset(context, mtl::kDefaultUniformsMaxSize * 2,
294 mtl::kUniformBufferSettingOffsetMinAlignment,
367 ContextMtl *contextMtl = mtl::GetImpl(glContext);
377 mtl::GlslangGetShaderSpirvCode(mState, resources, &spirvBlobs, &variableInfoMap,
383 ANGLE_TRY(mtl::GlslangTransformSpirvCode(mState.getExecutable().getLinkedShaderStages(),
390 ANGLE_TRY(mtl::GlslangTransformSpirvCode(onlyVS, spirvBlobs, true, xfbOnlyVariableInfoMap,
395 ANGLE_TRY(mtl::SpirvCodeToMsl(contextMtl, mState, xfbOnlyVariableInfoMap, &shaderCodes,
415 ContextMtl *contextMtl = mtl::GetImpl(glContext);
423 mtl::MSLGetShaderSource(mState, resources, &shaderSources, &variableInfoMap);
425 ANGLE_TRY(mtl::GlslangGetMSL(glContext, mState, contextMtl->getCaps(), shaderSources,
464 ContextMtl *contextMtl = mtl::GetImpl(glContext);
483 mtl::BufferPool *ProgramMtl::getBufferPool(ContextMtl *context)
487 mAuxBufferPool = new mtl::BufferPool(true);
488 mAuxBufferPool->initialize(context, mtl::kDefaultUniformsMaxSize * 2,
489 mtl::kUniformBufferSettingOffsetMinAlignment, 3);
568 ContextMtl *contextMtl = mtl::GetImpl(glContext);
574 ASSERT(requiredBufferSize[shaderType] <= mtl::kDefaultUniformsMaxSize);
591 angle::Result ProgramMtl::getSpecializedShader(mtl::Context *context,
593 const mtl::RenderPipelineDesc &renderPipelineDesc,
601 mtl::TranslatedShaderInfo *translatedMslInfo = &mMslShaderTranslateInfo[shaderType];
617 if (renderPipelineDesc.rasterizationType == mtl::RenderPipelineRasterization::Disabled)
635 mtl::RenderPipelineRasterization::EmulatedDiscard;
642 [NSString stringWithFormat:@"%s%s", sh::mtl::kRasterizerDiscardEnabledConstName,
649 [NSString stringWithUTF8String:sh::mtl::kRasterizerDiscardEnabledConstName];
678 [NSString stringWithFormat:@"%s%s", sh::mtl::kCoverageMaskEnabledConstName,
685 [NSString stringWithUTF8String:sh::mtl::kCoverageMaskEnabledConstName];
723 mtl::kUBOArgumentBufferBindingIndex,
733 const mtl::RenderPipelineDesc &renderPipelineDesc)
739 mtl::Context *context,
742 mtl::TranslatedShaderInfo *translatedMslInfo,
751 mtl::AutoObjCPtr<NSError *> err = nil;
752 translatedMslInfo->metalLibrary = mtl::CreateShaderLibrary(
831 for (const mtl::SamplerBinding &binding :
843 for (size_t xfbBindIndex = 0; xfbBindIndex < mtl::kMaxShaderXFBs; xfbBindIndex++)
856 for (mtl::SamplerBinding &binding :
868 for (size_t xfbBindIndex = 0; xfbBindIndex < mtl::kMaxShaderXFBs; xfbBindIndex++)
1157 mtl::RenderCommandEncoder *cmdEncoder,
1158 const mtl::RenderPipelineDesc &pipelineDesc,
1163 ContextMtl *context = mtl::GetImpl(glContext);
1205 angle::Result ProgramMtl::commitUniforms(ContextMtl *context, mtl::RenderCommandEncoder *cmdEncoder)
1224 ASSERT(uniformBlock.uniformData.size() <= mtl::kDefaultUniformsMaxSize);
1227 mtl::kDefaultUniformsBindingIndex);
1237 mtl::RenderCommandEncoder *cmdEncoder,
1240 ContextMtl *contextMtl = mtl::GetImpl(glContext);
1252 const mtl::TranslatedShaderInfo &shaderInfo =
1261 const mtl::SamplerBinding &mslBinding = shaderInfo.actualSamplerBindings[textureIndex];
1262 if (mslBinding.textureBinding >= mtl::kMaxShaderSamplers)
1284 TextureMtl *textureMtl = mtl::GetImpl(texture);
1288 mShadowCompareModes[textureSlot] = mtl::MslGetShaderShadowCompareMode(
1299 mtl::kShadowSamplerCompareModesBindingIndex);
1307 mtl::RenderCommandEncoder *cmdEncoder,
1308 const mtl::RenderPipelineDesc &pipelineDesc)
1318 ScopedAutoClearVector<std::pair<mtl::BufferRef, uint32_t>> scopeArrayClear2(
1359 (mtl::kRenderStageVertex | mtl::kRenderStageFragment);
1367 MTLResourceUsageRead, static_cast<mtl::RenderStages>(stages));
1390 BufferMtl *bufferMtl = mtl::GetImpl(bufferBinding.get());
1392 size_t offsetModulo = srcOffset % mtl::kUniformBufferSettingOffsetMinAlignment;
1433 mtl::RenderCommandEncoder *cmdEncoder,
1438 const mtl::TranslatedShaderInfo &shaderInfo =
1453 if (actualBufferIdx >= mtl::kMaxShaderBuffers)
1458 mtl::BufferRef mtlBuffer = mLegalizedOffsetedUniformBuffers[bufferIndex].first;
1466 mtl::RenderCommandEncoder *cmdEncoder,
1471 const mtl::TranslatedShaderInfo &shaderInfo =
1478 mtl::BufferRef argumentBuffer;
1489 {gl::ShaderType::Vertex, mtl::kRenderStageVertex},
1490 {gl::ShaderType::Fragment, mtl::kRenderStageFragment},
1509 if (actualBufferIdx >= mtl::kMaxShaderBuffers)
1514 mtl::BufferRef mtlBuffer = mLegalizedOffsetedUniformBuffers[bufferIndex].first;
1524 mtl::kUBOArgumentBufferBindingIndex);
1529 mtl::RenderCommandEncoder *cmdEncoder,
1530 const mtl::RenderPipelineDesc &pipelineDesc)
1552 if (actualBufferIdx >= mtl::kMaxShaderBuffers)
1563 BufferMtl *bufferMtl = mtl::GetImpl(buffer);