mirror of
https://github.com/libretro/RetroArch
synced 2025-04-09 21:45:45 +00:00
0f59016635 Merge pull request #636 from KhronosGroup/cfg-refactor 2bf57d6dff Deal with composite constants in variable initializer. dcddd5326e Add LUT test cases for OpVariable with initializer. af290ede87 Remove some redundant spvArrayCopy declarations. 8c314112b4 Run format_all.sh. 5582523d9a Add some tests for LUT promotion. 5143695080 Don't need to enclose expression for arrays. d29f48ef06 Deduce constant LUTs from read-write variables. b5ed706860 Hoist out variable scope analysis. c26c41b26b Make the CFGs for all active functions available. 6fdadb9218 Track partial writes as well. 7216129377 Hoist out the inline VariableAccessHandler class. git-subtree-dir: deps/SPIRV-Cross git-subtree-split: 0f590166359f4ee35d80040f0965417f482cd6b1
56 lines
1.4 KiB
Plaintext
56 lines
1.4 KiB
Plaintext
#version 310 es
|
|
layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
layout(binding = 0, std430) readonly buffer Distribution
|
|
{
|
|
vec2 distribution[];
|
|
} _137;
|
|
|
|
layout(binding = 2, std140) uniform UBO
|
|
{
|
|
vec4 uModTime;
|
|
} _166;
|
|
|
|
layout(binding = 1, std430) writeonly buffer HeightmapFFT
|
|
{
|
|
uint heights[];
|
|
} _225;
|
|
|
|
void main()
|
|
{
|
|
uvec2 _264 = uvec2(64u, 1u) * gl_NumWorkGroups.xy;
|
|
uvec2 _269 = _264 - gl_GlobalInvocationID.xy;
|
|
bvec2 _271 = equal(gl_GlobalInvocationID.xy, uvec2(0u));
|
|
uint _475;
|
|
if (_271.x)
|
|
{
|
|
_475 = 0u;
|
|
}
|
|
else
|
|
{
|
|
_475 = _269.x;
|
|
}
|
|
uint _476;
|
|
if (_271.y)
|
|
{
|
|
_476 = 0u;
|
|
}
|
|
else
|
|
{
|
|
_476 = _269.y;
|
|
}
|
|
uint _448 = _264.x;
|
|
uint _280 = (gl_GlobalInvocationID.y * _448) + gl_GlobalInvocationID.x;
|
|
vec2 _297 = vec2(gl_GlobalInvocationID.xy);
|
|
vec2 _299 = vec2(_264);
|
|
float _309 = sqrt(9.81000041961669921875 * length(_166.uModTime.xy * mix(_297, _297 - _299, greaterThan(_297, _299 * 0.5)))) * _166.uModTime.z;
|
|
vec2 _316 = vec2(cos(_309), sin(_309));
|
|
vec2 _387 = _316.xx;
|
|
vec2 _392 = _316.yy;
|
|
vec2 _395 = _392 * _137.distribution[_280].yx;
|
|
vec2 _421 = _392 * _137.distribution[(_476 * _448) + _475].yx;
|
|
vec2 _429 = (_137.distribution[(_476 * _448) + _475] * _387) + vec2(-_421.x, _421.y);
|
|
_225.heights[_280] = packHalf2x16(((_137.distribution[_280] * _387) + vec2(-_395.x, _395.y)) + vec2(_429.x, -_429.y));
|
|
}
|
|
|