src/FNA3D_Driver_Vulkan.c
/* vertex buffer bindings are fixed in the pipeline
 * so we need to bind a new pipeline if it changes
 */
vertex buffer bindings are fixed in the pipeline
so we need to bind a new pipeline if it changes
vertex buffer bindings are fixed in the pipeline so we need to bind a new pipeline if it changes
static void CheckVertexBufferBindingsAndBindPipeline(
	FNAVulkanRenderer *renderer,
	FNA3D_VertexBufferBinding *bindings,
	int32_t numBindings
) {
	MOJOSHADER_vkShader *vertexShader, *blah;
	uint64_t hash;
	MOJOSHADER_vkGetBoundShaders(&vertexShader, &blah);
	hash = GetVertexBufferBindingsHash(
		bindings,
		numBindings,
		vertexShader
	);
	if (	renderer->userVertexBufferInUse ||
			renderer->vertexBindings != bindings ||
			renderer->numVertexBindings != numBindings ||
			hash != renderer->currentVertexBufferBindingHash	)
	{
		renderer->vertexBindings = bindings;
		renderer->numVertexBindings = numBindings;
		renderer->userVertexBufferInUse = 0;
		renderer->currentVertexBufferBindingHash = hash;
		renderer->currentUserVertexDeclarationHash = 0;
		if (renderer->renderPassInProgress)
		{
			BindPipeline(renderer);	
		}
	}
}
static void CheckVertexBufferBindingsAndBindPipeline ( FNAVulkanRenderer * renderer , FNA3D_VertexBufferBinding * bindings , int32_t numBindings ) { MOJOSHADER_vkShader * vertexShader , * blah ; uint64_t hash ; MOJOSHADER_vkGetBoundShaders ( & vertexShader , & blah ) ; hash = GetVertexBufferBindingsHash ( bindings , numBindings , vertexShader ) ; if ( renderer -> userVertexBufferInUse || renderer -> vertexBindings != bindings || renderer -> numVertexBindings != numBindings || hash != renderer -> currentVertexBufferBindingHash ) { renderer -> vertexBindings = bindings ; renderer -> numVertexBindings = numBindings ; renderer -> userVertexBufferInUse = 0 ; renderer -> currentVertexBufferBindingHash = hash ; renderer -> currentUserVertexDeclarationHash = 0 ; if ( renderer -> renderPassInProgress ) { BindPipeline ( renderer ) ; } } }
vertex buffer bindings are fixed in the pipeline
 so we need to bind a new pipeline if it changes
vertex buffer bindings are fixed in the pipeline so we need to bind a new pipeline if it changes