Forráskód Böngészése

Add RP to Boom shaders

Panagiotis Christopoulos Charitos 4 éve
szülő
commit
5375600343

+ 1 - 1
AnKi/Gr/Vulkan/GpuMemoryManager.cpp

@@ -34,7 +34,7 @@ Error GpuMemoryManagerInterface::allocateChunk(U32 classIdx, GpuMemoryManagerChu
 	}
 
 	VkDeviceMemory memHandle;
-	if(ANKI_UNLIKELY(vkAllocateMemory(m_parent->m_dev, &ci, nullptr, &memHandle) < 0))
+	if(ANKI_UNLIKELY(vkAllocateMemory(m_parent->m_dev, &ci, nullptr, &memHandle) != VK_SUCCESS))
 	{
 		ANKI_VK_LOGF("Out of GPU memory. Mem type index %u, size %zu", m_memTypeIdx,
 					 m_classInfos[classIdx].m_suballocationSize);

+ 2 - 2
AnKi/Shaders/Bloom.ankiprog

@@ -14,7 +14,7 @@ layout(local_size_x = WORKGROUP_SIZE.x, local_size_y = WORKGROUP_SIZE.y, local_s
 
 // Vars
 layout(set = 0, binding = 0) uniform sampler u_linearAnyClampSampler;
-layout(set = 0, binding = 1) uniform texture2D u_tex; ///< Its the IS RT
+layout(set = 0, binding = 1) uniform ANKI_RP texture2D u_tex; ///< Its the IS RT
 
 layout(push_constant) uniform pc_
 {
@@ -40,7 +40,7 @@ void main()
 
 	const Vec2 uv = (Vec2(gl_GlobalInvocationID.xy) + 0.5) / Vec2(FB_SIZE);
 
-	Vec3 color = textureLod(u_tex, u_linearAnyClampSampler, uv, 0.0).rgb;
+	ANKI_RP Vec3 color = textureLod(u_tex, u_linearAnyClampSampler, uv, 0.0).rgb;
 	color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, IVec2(+1, +1)).rgb;
 	color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, IVec2(-1, -1)).rgb;
 	color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, IVec2(-1, +1)).rgb;

+ 13 - 13
AnKi/Shaders/BloomUpscale.ankiprog

@@ -13,8 +13,8 @@ const UVec2 WORKGROUP_SIZE = UVec2(16u, 16u);
 layout(local_size_x = WORKGROUP_SIZE.x, local_size_y = WORKGROUP_SIZE.y, local_size_z = 1) in;
 
 layout(set = 0, binding = 0) uniform sampler u_linearAnyClampSampler;
-layout(set = 0, binding = 1) uniform texture2D u_tex;
-layout(set = 0, binding = 2) uniform texture2D u_lensDirtTex;
+layout(set = 0, binding = 1) uniform ANKI_RP texture2D u_tex;
+layout(set = 0, binding = 2) uniform ANKI_RP texture2D u_lensDirtTex;
 
 layout(set = 0, binding = 3) writeonly uniform image2D out_img;
 
@@ -27,20 +27,20 @@ const F32 CHROMATIC_DISTORTION = 3.0;
 #define ENABLE_HALO 1
 const F32 HALO_OPACITY = 0.5;
 
-Vec3 textureDistorted(texture2D tex, sampler sampl, Vec2 uv,
-					  Vec2 direction, // direction of DISTORTION
-					  Vec3 DISTORTION) // per-channel DISTORTION factor
+ANKI_RP Vec3 textureDistorted(ANKI_RP texture2D tex, sampler sampl, Vec2 uv,
+							  Vec2 direction, // direction of distortion
+							  Vec3 distortion) // per-channel distortion factor
 {
 #if ENABLE_CHROMATIC_DISTORTION
-	return Vec3(textureLod(tex, sampl, uv + direction * DISTORTION.r, 0.0).r,
-				textureLod(tex, sampl, uv + direction * DISTORTION.g, 0.0).g,
-				textureLod(tex, sampl, uv + direction * DISTORTION.b, 0.0).b);
+	return Vec3(textureLod(tex, sampl, uv + direction * distortion.r, 0.0).r,
+				textureLod(tex, sampl, uv + direction * distortion.g, 0.0).g,
+				textureLod(tex, sampl, uv + direction * distortion.b, 0.0).b);
 #else
 	return textureLod(tex, uv, 0.0).rgb;
 #endif
 }
 
-Vec3 ssLensFlare(Vec2 uv)
+ANKI_RP Vec3 ssLensFlare(Vec2 uv)
 {
 	const Vec2 TEXEL_SIZE = 1.0 / Vec2(INPUT_TEX_SIZE);
 	const Vec3 DISTORTION = Vec3(-TEXEL_SIZE.x * CHROMATIC_DISTORTION, 0.0, TEXEL_SIZE.x * CHROMATIC_DISTORTION);
@@ -51,7 +51,7 @@ Vec3 ssLensFlare(Vec2 uv)
 	const Vec2 ghostVec = (Vec2(0.5) - flipUv) * GHOST_DISPERSAL;
 
 	const Vec2 direction = normalize(ghostVec);
-	Vec3 result = Vec3(0.0);
+	ANKI_RP Vec3 result = Vec3(0.0);
 
 	// sample ghosts:
 	ANKI_UNROLL for(U32 i = 0u; i < MAX_GHOSTS; ++i)
@@ -79,9 +79,9 @@ Vec3 ssLensFlare(Vec2 uv)
 	return result;
 }
 
-Vec3 upscale(Vec2 uv)
+ANKI_RP Vec3 upscale(Vec2 uv)
 {
-	Vec3 result = textureLod(u_tex, u_linearAnyClampSampler, uv, 0.0).rgb;
+	ANKI_RP Vec3 result = textureLod(u_tex, u_linearAnyClampSampler, uv, 0.0).rgb;
 	result += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, ivec2(+1, +1)).rgb;
 	result += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, ivec2(+1, -1)).rgb;
 	result += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, ivec2(-1, -1)).rgb;
@@ -103,7 +103,7 @@ void main()
 
 	const Vec2 uv = (Vec2(gl_GlobalInvocationID.xy) + 0.5) / Vec2(FB_SIZE);
 
-	const Vec3 outColor = ssLensFlare(uv) + upscale(uv);
+	const ANKI_RP Vec3 outColor = ssLensFlare(uv) + upscale(uv);
 	imageStore(out_img, IVec2(gl_GlobalInvocationID.xy), Vec4(outColor, 0.0));
 }
 #pragma anki end

+ 3 - 3
AnKi/Shaders/DownscaleBlur.glsl

@@ -8,7 +8,7 @@
 #include <AnKi/Shaders/Common.glsl>
 
 layout(set = 0, binding = 0) uniform sampler u_linearAnyClampSampler;
-layout(set = 0, binding = 1) uniform texture2D u_tex;
+layout(set = 0, binding = 1) uniform ANKI_RP texture2D u_tex;
 
 #if defined(ANKI_COMPUTE_SHADER)
 const UVec2 WORKGROUP_SIZE = UVec2(16, 16);
@@ -23,10 +23,10 @@ layout(push_constant, row_major, std430) uniform pc_
 
 Vec2 in_uv = (Vec2(gl_GlobalInvocationID.xy) + 0.5) / Vec2(u_fbSize);
 layout(set = 0, binding = 2) writeonly uniform image2D out_img;
-Vec3 out_color;
+ANKI_RP Vec3 out_color;
 #else
 layout(location = 0) in Vec2 in_uv;
-layout(location = 0) out Vec3 out_color;
+layout(location = 0) out ANKI_RP Vec3 out_color;
 #endif
 
 void main()