Merge pull request #976 from cdavis5e/pipeline-sample-mask
MVKPipeline: Pass the pipeline sample mask, if present, to SPIRV-Cross.
This commit is contained in:
commit
6b25c816b5
@ -38,6 +38,7 @@ Released TBD
|
||||
- Add `MVKPhysicalDeviceMetalFeatures::vertexStrideAlignment` to track Metal vertex binding stride alignment.
|
||||
- Add `MVKPhysicalDeviceMetalFeatures::indirectTessellationDrawing` to track if indirect tessellation drawing is supported.
|
||||
- Remove use of `@available()` directive as it was causing issues in some build environments.
|
||||
- Pass pipeline sample mask, if present, to SPIRV-Cross.
|
||||
- Refactor **MoltenVK** *Xcode* build architectures.
|
||||
- Demo `API-Samples generateSPIRVShaders` no longer builds `MoltenVKShaderController` tool.
|
||||
- Update `VK_MVK_MOLTENVK_SPEC_VERSION` to `27`.
|
||||
|
@ -1 +1 @@
|
||||
3b366db7f1eed21c31b275f9f7b119d7b00c1b2a
|
||||
0376576d2dc0721edfb2c5a0257fdc275f6f39dc
|
||||
|
@ -930,6 +930,9 @@ bool MVKGraphicsPipeline::addFragmentShaderToPipeline(MTLRenderPipelineDescripto
|
||||
shaderContext.options.mslOptions.buffer_size_buffer_index = _bufferSizeBufferIndex.stages[kMVKShaderStageFragment];
|
||||
shaderContext.options.entryPointName = _pFragmentSS->pName;
|
||||
shaderContext.options.mslOptions.capture_output_to_buffer = false;
|
||||
if (pCreateInfo->pMultisampleState && pCreateInfo->pMultisampleState->pSampleMask && pCreateInfo->pMultisampleState->pSampleMask[0] != 0xffffffff) {
|
||||
shaderContext.options.mslOptions.additional_fixed_sample_mask = pCreateInfo->pMultisampleState->pSampleMask[0];
|
||||
}
|
||||
addPrevStageOutputToShaderConverterContext(shaderContext, shaderOutputs);
|
||||
|
||||
MVKMTLFunction func = ((MVKShaderModule*)_pFragmentSS->module)->getMTLFunction(&shaderContext, _pFragmentSS->pSpecializationInfo, _pipelineCache);
|
||||
@ -1700,6 +1703,7 @@ namespace SPIRV_CROSS_NAMESPACE {
|
||||
opt.dynamic_offsets_buffer_index,
|
||||
opt.shader_input_wg_index,
|
||||
opt.device_index,
|
||||
opt.additional_fixed_sample_mask,
|
||||
opt.enable_frag_output_mask,
|
||||
opt.enable_point_size_builtin,
|
||||
opt.enable_frag_depth_builtin,
|
||||
|
@ -56,6 +56,7 @@ MVK_PUBLIC_SYMBOL bool SPIRVToMSLConversionOptions::matches(const SPIRVToMSLConv
|
||||
if (mslOptions.buffer_size_buffer_index != other.mslOptions.buffer_size_buffer_index) { return false; }
|
||||
if (mslOptions.shader_input_wg_index != other.mslOptions.shader_input_wg_index) { return false; }
|
||||
if (mslOptions.enable_frag_output_mask != other.mslOptions.enable_frag_output_mask) { return false; }
|
||||
if (mslOptions.additional_fixed_sample_mask != other.mslOptions.additional_fixed_sample_mask) { return false; }
|
||||
if (!!mslOptions.enable_point_size_builtin != !!other.mslOptions.enable_point_size_builtin) { return false; }
|
||||
if (!!mslOptions.enable_frag_depth_builtin != !!other.mslOptions.enable_frag_depth_builtin) { return false; }
|
||||
if (!!mslOptions.enable_frag_stencil_ref_builtin != !!other.mslOptions.enable_frag_stencil_ref_builtin) { return false; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user