diff --git a/projects/saf_r/shaders/raytracing.comp b/projects/saf_r/shaders/raytracing.comp
index fd6d689894f82028a2241df10fda9353e58697dd..042b532b5a7c4c923d99c3b477c8e7f9dcb86d4a 100644
--- a/projects/saf_r/shaders/raytracing.comp
+++ b/projects/saf_r/shaders/raytracing.comp
@@ -2,19 +2,19 @@
 #extension GL_ARB_separate_shader_objects : enable
 
 struct Material {
-	vec3 diffuse_color;
 	vec3 albedo;
+	vec3 diffuse_color;
 	float specular_exponent;
 };
 
 layout(std430, binding = 0) coherent buffer Lights{
-	vec3 position [];
-	float intensity [];
+	vec3 position;
+	float intensity;
 };
 
 layout(std430, binding = 1) coherent buffer Materials{
-	vec3 diffuse_color;
 	vec3 albedo;
+	vec3 diffuse_color;
 	float specular_exponent;
 };
 
diff --git a/projects/saf_r/src/main.cpp b/projects/saf_r/src/main.cpp
index 45da71828ea32e321dbce4a05d5dc4cae0a1b3f0..a39ad8e832f642dbb47a28779e3e302844230d6a 100644
--- a/projects/saf_r/src/main.cpp
+++ b/projects/saf_r/src/main.cpp
@@ -119,19 +119,19 @@ int main(int argc, const char** argv) {
 	vkcv::Buffer<safrScene::Light> lightsBuffer = core.createBuffer<safrScene::Light>(
 		vkcv::BufferType::STORAGE,
 		lights.size()
-		);
+	);
 	lightsBuffer.fill(lights);
 
 	vkcv::Buffer<safrScene::Sphere> sphereBuffer = core.createBuffer<safrScene::Sphere>(
 		vkcv::BufferType::STORAGE,
 		spheres.size()
-		);
+	);
 	sphereBuffer.fill(spheres);
 
 	vkcv::Buffer<safrScene::Material> materialBuffer = core.createBuffer<safrScene::Material>(
 		vkcv::BufferType::STORAGE,
 		materials.size()
-		);
+	);
 	materialBuffer.fill(materials);
 
 
@@ -142,7 +142,9 @@ int main(int argc, const char** argv) {
 
 	vkcv::DescriptorWrites computeWrites;
 	computeWrites.storageBufferWrites = { vkcv::BufferDescriptorWrite(0,lightsBuffer.getHandle()) };
+	core.writeDescriptorSet(computeDescriptorSet, computeWrites);
 	computeWrites.storageBufferWrites = { vkcv::BufferDescriptorWrite(1,materialBuffer.getHandle()) };
+	core.writeDescriptorSet(computeDescriptorSet, computeWrites);
 	computeWrites.storageBufferWrites = { vkcv::BufferDescriptorWrite(2,sphereBuffer.getHandle()) };
 	core.writeDescriptorSet(computeDescriptorSet, computeWrites);
 
diff --git a/projects/saf_r/src/safrScene.hpp b/projects/saf_r/src/safrScene.hpp
index fa1f9dd4462ed811c86e7929c0a4f8b1e1ffa603..a3396afe8c949279debb9eb16d8dd1039d61e328 100644
--- a/projects/saf_r/src/safrScene.hpp
+++ b/projects/saf_r/src/safrScene.hpp
@@ -39,8 +39,8 @@ public:
 	struct Material {
 		Material(const glm::vec3& a, const glm::vec3& color, const float& spec) : albedo(a), diffuse_color(color), specular_exponent(spec) {}
 		Material() : albedo(1, 0, 0), diffuse_color(), specular_exponent() {}
-		glm::vec3 diffuse_color;
 		glm::vec3 albedo;
+		alignas(16) glm::vec3 diffuse_color;
 		float specular_exponent;
 	};