spirv: implement SPV_KHR_maximal_reconvergence

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277>
This commit is contained in:
Daniel Schürmann
2023-11-24 16:42:32 +01:00
committed by Marge Bot
parent 0a243a7241
commit 6588f5a123
2 changed files with 9 additions and 0 deletions

View File

@@ -347,6 +347,11 @@ typedef struct shader_info {
*/ */
bool uses_printf:1; bool uses_printf:1;
/**
* VK_KHR_shader_maximal_reconvergence
*/
bool maximally_reconverges:1;
/** /**
* Set if this shader uses legacy (DX9 or ARB assembly) math rules. * Set if this shader uses legacy (DX9 or ARB assembly) math rules.
* *

View File

@@ -5521,6 +5521,10 @@ vtn_handle_execution_mode(struct vtn_builder *b, struct vtn_value *entry_point,
break; break;
} }
case SpvExecutionModeMaximallyReconvergesKHR:
b->shader->info.maximally_reconverges = true;
break;
case SpvExecutionModeLocalSizeId: case SpvExecutionModeLocalSizeId:
case SpvExecutionModeLocalSizeHintId: case SpvExecutionModeLocalSizeHintId:
case SpvExecutionModeSubgroupsPerWorkgroupId: case SpvExecutionModeSubgroupsPerWorkgroupId: