Module: Mesa Branch: master Commit: 768f1436677177712caaea49f7519f0c3da3b9f4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=768f1436677177712caaea49f7519f0c3da3b9f4
Author: Ilia Mirkin <[email protected]> Date: Fri Jul 20 15:50:01 2018 -0600 spirv: add support for SPV_KHR_post_depth_coverage Allow the capability to be exposed, and convert the new execution mode into fs state. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> --- src/compiler/shader_info.h | 1 + src/compiler/spirv/spirv_to_nir.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h index 3b95d5962c..e9ca222dea 100644 --- a/src/compiler/shader_info.h +++ b/src/compiler/shader_info.h @@ -59,6 +59,7 @@ struct spirv_supported_capabilities { bool stencil_export; bool atomic_storage; bool storage_8bit; + bool post_depth_coverage; }; typedef struct shader_info { diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index bbef3fcf4d..79104695f5 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -3542,6 +3542,10 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode, spv_check_supported(stencil_export, cap); break; + case SpvCapabilitySampleMaskPostDepthCoverage: + spv_check_supported(post_depth_coverage, cap); + break; + default: vtn_fail("Unhandled capability"); } @@ -3609,6 +3613,11 @@ vtn_handle_execution_mode(struct vtn_builder *b, struct vtn_value *entry_point, b->shader->info.fs.early_fragment_tests = true; break; + case SpvExecutionModePostDepthCoverage: + vtn_assert(b->shader->info.stage == MESA_SHADER_FRAGMENT); + b->shader->info.fs.post_depth_coverage = true; + break; + case SpvExecutionModeInvocations: vtn_assert(b->shader->info.stage == MESA_SHADER_GEOMETRY); b->shader->info.gs.invocations = MAX2(1, mode->literals[0]); _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
