Strange things in animation vertex shader. AMD HD 7950

Win 7 64 bit.

I have two animated models(Naruto and Monstr).
Two model i parse in my program for convert my binary format.

One vertex shader show me normal animation Naruto but bug on model Monstr. I mean bug is some vertexes stretched on model.

#version 450
	
	#extension GL_ARB_separate_shader_objects : enable
	#extension GL_ARB_shading_language_420pack : enable
	
	layout (location = 0) in vec3 inPos;
	layout (location = 1) in vec2 inColor;
	layout (location = 2) in vec3 inNor;
	layout (location = 3) in ivec4 inBon;
	layout (location = 4) in vec4 inWes;

	//for animkeys
	layout (binding = 2) buffer somes {
			mat4 so[];
				} some;

	//for vertexbuf anim model
	layout (binding = 3) buffer vrtxs {
				    mat4 Pos[];
				} vrtx;

	layout (binding = 0) uniform UBO 
	{
		mat4 projectionMatrix;
		mat4 viewMatrix;
		mat4 modelMatrix;
		float  Cadr;
		float  Bones;
	} ubo;
	
	layout (push_constant) uniform PushConsts
	{
	       vec4 lightPos[5];
	} pushConsts;
	
	layout (location = 0) out vec3 outColor;
	layout (location = 1) out vec3 outNor;
void main()
	{	   	    
	    outColor = vec3(inColor,0.0) ;
	    outNor = vec3(inNor) ;
	    int gg =  int(pushConsts.lightPos[0].w);//ubo.Cadr);	    

	    int Bone1 = (inBon.x-1); 
	    int Bone2 = (inBon.y-1);
	    int Bone3 = (inBon.z-1);
	    int Bone4 = (inBon.w-1);

	    int BonNum = int(pushConsts.lightPos[1].w);//ubo.Bones);
	   
	    mat4 nw1 = some.so[BonNum*gg+Bone1];
	    mat4 nw2 = some.so[BonNum*gg+Bone2];
	    mat4 nw3 = some.so[BonNum*gg+Bone3];
	    mat4 nw4 = some.so[BonNum*gg+Bone4];
	    vec4 nPos2 = vec4(inPos,1.0);	    	    
	    mat4 boneTransform = nw1 * inWes[0];
	    boneTransform += nw2 * inWes[1];
	    boneTransform += nw3 * inWes[2];
	    boneTransform += nw4 * inWes[3];
	
	nPos2 = nPos2 * pushConsts.lightPos[3].w;//scale model
	    gl_Position =  ubo.projectionMatrix * ubo.viewMatrix * boneTransform * vec4(nPos2.xyz + pushConsts.lightPos[3].xyz,1.0 ); 
	}

Another vertex shader show normal Monstr and bug on model Naruto.

#version 450

 #extension GL_ARB_separate_shader_objects : enable
 #extension GL_ARB_shading_language_420pack : enable
 //#extension GL_ARB_draw_instanced : enable

 layout (location = 0) in vec3 inPos;
 layout (location = 1) in vec2 inColor;
 layout (location = 2) in vec3 inNor;
 layout (location = 3) in ivec4 inBon;
 layout (location = 4) in vec4 inWes;

 //for animkeys
 layout (binding = 2) buffer somes {
 mat4 so[];
 } some;

 //for vertexbuf anim model
 layout (binding = 3) buffer vrtxs {
 mat4 Pos[];
 } vrtx;

 layout (binding = 0) uniform UBO 
 {
 mat4 projectionMatrix;
 mat4 viewMatrix;
 mat4 modelMatrix;
 float Cadr;
 float Bones;
 } ubo;
 // push_constant tolko vulkan fitcha !!! v opengl net
 // gl_InstanceIndex tolko vulkan fitcha !!! v opengl net
 layout (push_constant) uniform PushConsts
 {
 vec4 lightPos[5];
 } pushConsts;
 //in int gl_InstanceID;
 layout (location = 0) out vec3 outColor;
 layout (location = 1) out vec3 outNor;
 void main()
 {
 outColor = vec3(inColor,0.0) ;
 outNor = vec3(inNor) ;

 int gg = int(ubo.Cadr); 

 int Bone1 = (inBon[0]-1); 
 int Bone2 = (inBon[1]-1);
 int Bone3 = (inBon[2]-1);
 int Bone4 = (inBon[3]-1);

 int BonNum = int(ubo.Bones);

 int zi1 = int(BonNum*gg+Bone1);
 int zi2 = int(BonNum*gg+Bone2);
 int zi3 = int(BonNum*gg+Bone3);
 int zi4 = int(BonNum*gg+Bone4);
 mat4 nw1 = mat4(some.so[zi1]);
 mat4 nw2 = mat4(some.so[zi2]);
 mat4 nw3 = mat4(some.so[zi3]);
 mat4 nw4 = mat4(some.so[zi4]);

 vec4 nPos = vec4(inPos,1.0); 
 vec4 nPos2 ; 
 nPos2 = vec4(nw1 * inWes[0] * nPos);
 nPos2 += (nw2 * inWes[1] * nPos);
 nPos2 += (nw3 * inWes[2] * nPos);
 nPos2 += (nw4 * inWes[3] * nPos); 
 gl_Position = ubo.projectionMatrix * ubo.viewMatrix * vec4(nPos2.xyz + pushConsts.lightPos[3].xyz ,1.0 );
 }

I’m shocked !

I checked these models in DX 11 and work all perfect !

I try compile my shader several versions glslangValidator , but the same result.

If i not mul vertexes on bone matrix i get normal models (Naruto and Monster)

Checked on NVIDIA 720 bug same.
If vertex ok for animation monster, Naruto distorted
http://oi64.tinypic.com/9r370m.jpg

If vertex ok for animation Naruto, monster distorted
http://oi65.tinypic.com/2vmt4wx.jpg

All animated meshes use one vertex shader.
I simple change vertex spir file to another and get different result.

I change only in vertex shader and not compile my program.
If i set position monster on xyz = 220.0,0,0 and get bug.
https://www.youtube.com/watch?v=1LcfbF_3r18&feature=youtu.be
If i set position monster on xyz = 0,0,0 i get normal animation.
https://www.youtube.com/watch?v=IW-0KuAy6_o&feature=youtu.be

I do not use vkCmdPipelineBarrier for animation keys buffer layout (binding = 2) buffer somes { mat4 so[]; } some;