mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
e6e82ad3f6
The sincos instruction expects two specific constants on 2.0 and 2.1 profiles. Consider the following shader: uniform float u; float4 main() : sv_target { return sin(u); } On native, with ps_2_0, this compiles as: ps_2_0 def c3, 0.159154937, 0.5, 6.28318548, -3.14159274 def c1, -1.55009923e-006, -2.17013894e-005, 0.00260416674, 0.00026041668 def c2, -0.020833334, -0.125, 1, 0.5 mov r0.xy, c3 mad r0.x, c0.x, r0.x, r0.y frc r0.x, r0.x mad r0.x, r0.x, c3.z, c3.w sincos r1.y, r0.x, c1, c2 mov r0, r1.y mov oC0, r0 We are not emitting the src1 and src2 constant arguments before this patch. |
||
---|---|---|
.. | ||
checksum.c | ||
d3d_asm.c | ||
d3dbc.c | ||
dxbc.c | ||
dxil.c | ||
fx.c | ||
glsl.c | ||
hlsl_codegen.c | ||
hlsl_constant_ops.c | ||
hlsl.c | ||
hlsl.h | ||
hlsl.l | ||
hlsl.y | ||
ir.c | ||
libvkd3d-shader.pc.in | ||
preproc.h | ||
preproc.l | ||
preproc.y | ||
spirv.c | ||
tpf.c | ||
vkd3d_shader_main.c | ||
vkd3d_shader_private.h | ||
vkd3d_shader.map |