diff --git a/data/shaders/glsl/raytracingbasic/closesthit.rchit b/data/shaders/glsl/raytracingbasic/closesthit.rchit
index 743a258536c7cec0d5f4001c95c25e8c0a6ea404..44936f2057bb296da122319a174b73e4833ec6b0 100644
--- a/data/shaders/glsl/raytracingbasic/closesthit.rchit
+++ b/data/shaders/glsl/raytracingbasic/closesthit.rchit
@@ -3,7 +3,7 @@
 #extension GL_EXT_nonuniform_qualifier : enable
 
 layout(location = 0) rayPayloadInEXT vec3 hitValue;
-hitAttributeEXT vec3 attribs;
+hitAttributeEXT vec2 attribs;
 
 void main()
 {
diff --git a/data/shaders/glsl/raytracingcallable/closesthit.rchit b/data/shaders/glsl/raytracingcallable/closesthit.rchit
index 1b80673695aa97f2a3cce4b649ba0c10c4cf875c..210a2d5958ee4dc8968a77168cbb46500a11c7e9 100644
--- a/data/shaders/glsl/raytracingcallable/closesthit.rchit
+++ b/data/shaders/glsl/raytracingcallable/closesthit.rchit
@@ -4,7 +4,6 @@
 
 layout(location = 0) rayPayloadInEXT vec3 hitValue;
 layout(location = 0) callableDataEXT vec3 outColor;
-hitAttributeEXT vec3 attribs;
 
 layout(binding = 0, set = 0) uniform accelerationStructureEXT topLevelAS;
 
diff --git a/data/shaders/glsl/raytracingreflections/closesthit.rchit b/data/shaders/glsl/raytracingreflections/closesthit.rchit
index 6d057617a6958dee7ee8ca6b200d56f86c1562a3..301686c7365a554f0bdb2f2a72d5875d6e365c41 100644
--- a/data/shaders/glsl/raytracingreflections/closesthit.rchit
+++ b/data/shaders/glsl/raytracingreflections/closesthit.rchit
@@ -11,7 +11,7 @@ struct RayPayload {
 
 layout(location = 0) rayPayloadInEXT RayPayload rayPayload;
 
-hitAttributeEXT vec3 attribs;
+hitAttributeEXT vec2 attribs;
 
 layout(binding = 0, set = 0) uniform accelerationStructureEXT topLevelAS;
 layout(binding = 2, set = 0) uniform UBO 
diff --git a/data/shaders/glsl/raytracingshadows/closesthit.rchit b/data/shaders/glsl/raytracingshadows/closesthit.rchit
index df016938d75d3f6587292255049590414335db8b..25079bdf89e2ec2f4f428a6803a04172967509eb 100644
--- a/data/shaders/glsl/raytracingshadows/closesthit.rchit
+++ b/data/shaders/glsl/raytracingshadows/closesthit.rchit
@@ -4,7 +4,7 @@
 
 layout(location = 0) rayPayloadInEXT vec3 hitValue;
 layout(location = 2) rayPayloadEXT bool shadowed;
-hitAttributeEXT vec3 attribs;
+hitAttributeEXT vec2 attribs;
 
 layout(binding = 0, set = 0) uniform accelerationStructureEXT topLevelAS;
 layout(binding = 2, set = 0) uniform UBO 
diff --git a/data/shaders/hlsl/compile.py b/data/shaders/hlsl/compile.py
index 24a9f250487beae7fe09e4704ce0fe1c08b038b2..2b44f4d287e6f7efeee35f90a692ffdab08bea2f 100644
--- a/data/shaders/hlsl/compile.py
+++ b/data/shaders/hlsl/compile.py
@@ -37,6 +37,7 @@ for root, dirs, files in os.walk(dir_path):
             hlsl_file = os.path.join(root, file)
             spv_out = hlsl_file + ".spv"
 
+            target = ''
             profile = ''
             if(hlsl_file.find('.vert') != -1):
                 profile = 'vs_6_1'
@@ -53,6 +54,7 @@ for root, dirs, files in os.walk(dir_path):
             elif(hlsl_file.find('.rgen') != -1 or
 				hlsl_file.find('.rchit') != -1 or
 				hlsl_file.find('.rmiss') != -1):
+                target='-fspv-target-env=vulkan1.2'
                 profile = 'lib_6_3'
 
             print('Compiling %s' % (hlsl_file))
@@ -61,9 +63,10 @@ for root, dirs, files in os.walk(dir_path):
                 '-spirv',
                 '-T', profile,
                 '-E', 'main',
-                '-fspv-extension=SPV_NV_ray_tracing',
+                '-fspv-extension=SPV_KHR_ray_tracing',
                 '-fspv-extension=SPV_KHR_multiview',
                 '-fspv-extension=SPV_KHR_shader_draw_parameters',
                 '-fspv-extension=SPV_EXT_descriptor_indexing',
+                target,
                 hlsl_file,
                 '-Fo', spv_out])
diff --git a/data/shaders/hlsl/raytracingbasic/closesthit.rchit b/data/shaders/hlsl/raytracingbasic/closesthit.rchit
index ace73d3d67912f32244052846f6db0f2bb36d371..2a8921ce5dcabbf9a94acde9aa152c7f39f44d37 100644
--- a/data/shaders/hlsl/raytracingbasic/closesthit.rchit
+++ b/data/shaders/hlsl/raytracingbasic/closesthit.rchit
@@ -11,7 +11,7 @@ struct Payload
 };
 
 [shader("closesthit")]
-void main(inout Payload p, in float3 attribs)
+void main(inout Payload p, in float2 attribs)
 {
   const float3 barycentricCoords = float3(1.0f - attribs.x - attribs.y, attribs.x, attribs.y);
   p.hitValue = barycentricCoords;
diff --git a/data/shaders/hlsl/raytracingcallable/closesthit.rchit b/data/shaders/hlsl/raytracingcallable/closesthit.rchit
index 61caef219c51e5aa5e24cb522c8c769eace856fc..80cd773d69bbfe207a6990ba7d73e312c772f938 100644
--- a/data/shaders/hlsl/raytracingcallable/closesthit.rchit
+++ b/data/shaders/hlsl/raytracingcallable/closesthit.rchit
@@ -1,10 +1,5 @@
 // Copyright 2021 Sascha Willems
 
-struct Attribute
-{
-  float2 attribs;
-};
-
 struct Payload
 {
 [[vk::location(0)]] float3 hitValue;
@@ -16,7 +11,7 @@ struct CallData
 };
 
 [shader("closesthit")]
-void main(inout Payload p, in float3 attribs)
+void main(inout Payload p, in float2 attribs)
 {
 	// Execute the callable shader indexed by the current geometry being hit
 	// For our sample this means that the first callable shader in the SBT is invoked for the first triangle, the second callable shader for the second triangle, etc.
diff --git a/data/shaders/hlsl/raytracingreflections/closesthit.rchit b/data/shaders/hlsl/raytracingreflections/closesthit.rchit
index aff970a45107e1b5f556eb7d5a2bad189a407d46..643bfbe9f3f8326d17bf284d7d146642f52ab856 100644
--- a/data/shaders/hlsl/raytracingreflections/closesthit.rchit
+++ b/data/shaders/hlsl/raytracingreflections/closesthit.rchit
@@ -50,7 +50,7 @@ Vertex unpack(uint index)
 }
 
 [shader("closesthit")]
-void main(inout RayPayload rayPayload, in float3 attribs)
+void main(inout RayPayload rayPayload, in float2 attribs)
 {
 	uint PrimitiveID = PrimitiveIndex();
 	int3 index = int3(indices[3 * PrimitiveID], indices[3 * PrimitiveID + 1], indices[3 * PrimitiveID + 2]);
diff --git a/data/shaders/hlsl/raytracingshadows/closesthit.rchit b/data/shaders/hlsl/raytracingshadows/closesthit.rchit
index 0d04e5eef513c44b306fdcc716aea13dfd6a7b62..4408f55cb326aa9ce645234ef050910dc0aff19d 100644
--- a/data/shaders/hlsl/raytracingshadows/closesthit.rchit
+++ b/data/shaders/hlsl/raytracingshadows/closesthit.rchit
@@ -52,7 +52,7 @@ Vertex unpack(uint index)
 }
 
 [shader("closesthit")]
-void main(in InPayload inPayload, inout InOutPayload inOutPayload, in float3 attribs)
+void main(in InPayload inPayload, inout InOutPayload inOutPayload, in float2 attribs)
 {
 	uint PrimitiveID = PrimitiveIndex();
 	int3 index = int3(indices[3 * PrimitiveID], indices[3 * PrimitiveID + 1], indices[3 * PrimitiveID + 2]);