From 1c6c08d41f6b794b9eb3582f24b167a5143b25b0 Mon Sep 17 00:00:00 2001
From: Sascha Willems <webmaster@saschawillems.de>
Date: Mon, 18 Oct 2021 22:01:07 +0200
Subject: [PATCH] Fixed ray tracing callable shader sample HLSL shaders

---
 .../hlsl/raytracingcallable/callable1.rcall       |   7 ++++---
 .../hlsl/raytracingcallable/callable1.rcall.spv   | Bin 0 -> 660 bytes
 .../hlsl/raytracingcallable/callable2.rcall       |   2 +-
 .../hlsl/raytracingcallable/callable2.rcall.spv   | Bin 0 -> 388 bytes
 .../hlsl/raytracingcallable/callable3.rcall       |   7 ++++---
 .../hlsl/raytracingcallable/callable3.rcall.spv   | Bin 0 -> 564 bytes
 6 files changed, 9 insertions(+), 7 deletions(-)
 create mode 100644 data/shaders/hlsl/raytracingcallable/callable1.rcall.spv
 create mode 100644 data/shaders/hlsl/raytracingcallable/callable2.rcall.spv
 create mode 100644 data/shaders/hlsl/raytracingcallable/callable3.rcall.spv

diff --git a/data/shaders/hlsl/raytracingcallable/callable1.rcall b/data/shaders/hlsl/raytracingcallable/callable1.rcall
index 40fd7c71..5a40044d 100644
--- a/data/shaders/hlsl/raytracingcallable/callable1.rcall
+++ b/data/shaders/hlsl/raytracingcallable/callable1.rcall
@@ -2,13 +2,14 @@
 
 struct CallData
 {
-    vec3 outColor;
+    float3 outColor;
 };
 
 [shader("callable")]
 void main(inout CallData data)
 {
     // Generate a checker board pattern
-	float2 pos = float2(DispatchRaysIndex() / 8);
-	data.outColor = float3(mod(pos.x + mod(pos.y, 2.0), 2.0));
+	float2 pos = float2(DispatchRaysIndex().x / 8, DispatchRaysIndex().y / 8);
+	float col = (pos.x + (pos.y % 2.0)) % 2.0;
+	data.outColor = float3(col, col, col);
 }
\ No newline at end of file
diff --git a/data/shaders/hlsl/raytracingcallable/callable1.rcall.spv b/data/shaders/hlsl/raytracingcallable/callable1.rcall.spv
new file mode 100644
index 0000000000000000000000000000000000000000..79fe2d1927b655cecf246f6c926b339e297ac1ac
GIT binary patch
literal 660
zcmZQ(Qf6mhWn^Gr;A4<sfB-=TCWd-J1_mw$HiqDUuy}8ep!lN1%J`C^#N^DpbOt^K
zX0Sq#E`A1fhGQZO3?O!HVrCvlf{B3vtb&<=nSqsofuW3vfq|8Qm4StUfx$U3C&wkR
zBoU;Jje!j;24d%zmN@6<<QIY1AeA69QlRQUd}Q<88CbyPb2Bh792a3=5M^Ki+oJ%|
z%)r2)4dt^jFfed1FffQQFf*_-Fff4RL2@8ANSuLz!9kpXg@KcS0W1&ll^g>z*i9fY
z1qK!dE(QjMiy{nQF_2o2oghDf)Pm%B7$ANJi3>9@G4L`lFeoxGGw?AmfZ5hiGeG_U
znFHd3^nmn({A9+!3RVYVgPaf2_k)3nfuDha!IpuA0c5TKG&}>rp~%1>$iTn=5(BAk
zgNg|;K*T|QE?{5*`$w38fdM2A(<cJe2eJ#MPn3ay0VIyBPmBQ+rVI={46I;t#KB<*
z3Cl*Pm;?g@1IT=k988@g0|Ns{92B+z3~b<Vm11CE0ExqJ00Rp+ETtJ37(jA%49pCm
QumSP^GB7e&FfcLz0N2PSEC2ui

literal 0
HcmV?d00001

diff --git a/data/shaders/hlsl/raytracingcallable/callable2.rcall b/data/shaders/hlsl/raytracingcallable/callable2.rcall
index 498dfe05..86789325 100644
--- a/data/shaders/hlsl/raytracingcallable/callable2.rcall
+++ b/data/shaders/hlsl/raytracingcallable/callable2.rcall
@@ -2,7 +2,7 @@
 
 struct CallData
 {
-    vec3 outColor;
+    float3 outColor;
 };
 
 [shader("callable")]
diff --git a/data/shaders/hlsl/raytracingcallable/callable2.rcall.spv b/data/shaders/hlsl/raytracingcallable/callable2.rcall.spv
new file mode 100644
index 0000000000000000000000000000000000000000..fb4c4f39b2f69e26b837d00533a9e2bffe7bdddc
GIT binary patch
literal 388
zcmZQ(Qf6mhWn^Gr;A7xpfB-=TCWd-J1_mw$HiqDUuy}8ep!lN1%J`C^#N^DpbOt^K
zX0Sq#E`A0!hGQZO3?O!HVrCvlf{B5Ffti7sft7)Qp^S-vft7(3tiw4mC&wkRBoU;B
zje!j;24d%zmN@6<<QIY1tPCs+ApI#&bs#>n*<uXL3@i)`3<?Yk4B8AVU^d7ekX{&{
z4a8w+uoq`wVPI!q0ILDHScicP%;#VLxru=Rqz<H44(wV6u$%$|3j-$u1H(lTkRKQr
zgc+C^xEL516d9NqxEVlU!oXk+RReM-NSzJ?3)n9_3=9k)v&|S-!FoXM1~~<!?*{`D
Y11|#ugB=4i*nc3ke;F7VEEpIW05UNg@Bjb+

literal 0
HcmV?d00001

diff --git a/data/shaders/hlsl/raytracingcallable/callable3.rcall b/data/shaders/hlsl/raytracingcallable/callable3.rcall
index 18c97cac..3fe4fd85 100644
--- a/data/shaders/hlsl/raytracingcallable/callable3.rcall
+++ b/data/shaders/hlsl/raytracingcallable/callable3.rcall
@@ -2,13 +2,14 @@
 
 struct CallData
 {
-    vec3 outColor;
+    float3 outColor;
 };
 
 [shader("callable")]
 void main(inout CallData data)
 {
     // Generate a checker board pattern
-	float2 pos = float2(DispatchRaysIndex() / 8);
-	data.outColor = float3(mod(pos.y, 2.0));
+	float2 pos = float2(DispatchRaysIndex().x / 8, DispatchRaysIndex().y / 8);
+	float col = pos.y % 2.0;
+	data.outColor = float3(col, col, col);
 }
\ No newline at end of file
diff --git a/data/shaders/hlsl/raytracingcallable/callable3.rcall.spv b/data/shaders/hlsl/raytracingcallable/callable3.rcall.spv
new file mode 100644
index 0000000000000000000000000000000000000000..417942748a5bc9db76c384584145321f2a5497c2
GIT binary patch
literal 564
zcmZQ(Qf6mhWn^Gr;A0SHfB-=TCWd-J1_mw$HiqDUuy}8ep!lN1%J`C^#N^DpbOt^K
zX0Sq#E`A1fhGQZO3?O!HVrCvlf{B3vtb&<=nSqsofuW3vfq|8Qm4StUfx$U3C&wkR
zBoU;Jje!j;24d%zmN@6<<QIY1AeA69QlRQUd}Q<88CbyPb2Bh792a3=5M^Ki+oJ%|
z%)r2)4dt^jFfed1FffQQFf*_-Fff4RL2@8ANSuLz!9kpXg@KcS0W1&ll^g>z*i9fY
z1qK!dE(QjMiy{nQF_2o2oghDf)Pm%B7$ANJi3>9@G4L`lFeoxGGw?AmfZ5hiGeG_U
znFHd3^nmn({A9+!3RVYVgPaf2_k)3nfuDha!IpuA0c5TKG&}>rp~%1>$iTn=5(DXJ
zgNg|;K*T|QE?{5*`$w38fdM4m!@vsWi!d-SfW$z44`5&e`&*QOfdM2A!vPE|V84nn
ZfWno5!H$8M0pxZN|1Se0g9QU40{~wwB6<J-

literal 0
HcmV?d00001

-- 
GitLab