2024-10-15 21:35:52 +02:00
|
|
|
|
|
|
|
|
struct ComputeParams
|
|
|
|
|
{
|
2024-10-21 11:13:26 +02:00
|
|
|
RWStructuredBuffer<uint64_t> bitFieldBuffer;
|
2024-10-15 21:35:52 +02:00
|
|
|
};
|
|
|
|
|
ParameterBlock<ComputeParams> pParams;
|
|
|
|
|
|
2024-11-26 20:40:34 +01:00
|
|
|
static const uint64_t OCBT_bit_mask[18] = {
|
|
|
|
|
0xffffffffULL, // Root 17
|
|
|
|
|
0xffffffffULL, // Level 16
|
|
|
|
|
0xffffffffULL, // level 15
|
|
|
|
|
0xffffffffULL, // level 14
|
|
|
|
|
0xffffffffULL, // level 13
|
|
|
|
|
0xffffffffULL, // level 12
|
|
|
|
|
0xffffffffULL, // level 11
|
2024-10-21 11:13:26 +02:00
|
|
|
|
2024-11-26 20:40:34 +01:00
|
|
|
0xffffULL, // level 10
|
|
|
|
|
0xffffULL, // level 9
|
|
|
|
|
0xffffULL, // level 8
|
|
|
|
|
0xffULL, // level 8
|
2024-10-21 11:13:26 +02:00
|
|
|
|
2024-11-26 20:40:34 +01:00
|
|
|
0xffffffffffffffffULL, // level 7
|
|
|
|
|
0xffffffffULL, // Level 6
|
|
|
|
|
0xffffULL, // level 5
|
|
|
|
|
0xffULL, // level 4
|
|
|
|
|
0xfULL, // level 3
|
|
|
|
|
0x3ULL, // level 2
|
|
|
|
|
0x1ULL, // level 1
|
2024-10-21 11:13:26 +02:00
|
|
|
};
|
|
|
|
|
|
2024-10-30 10:28:10 +01:00
|
|
|
[numthreads(1, 1, 1)]
|
|
|
|
|
[shader("compute")]
|
|
|
|
|
void TestHeap(uint dispatchID: SV_DispatchThreadID)
|
2024-10-15 21:35:52 +02:00
|
|
|
{
|
2024-10-30 10:28:10 +01:00
|
|
|
pParams.bitFieldBuffer[dispatchID] = OCBT_bit_mask[dispatchID];
|
2024-10-21 11:13:26 +02:00
|
|
|
}
|